Port to Native CW Migration #73
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration Tests | |
on: [pull_request] | |
jobs: | |
tests: | |
name: ${{ matrix.make.name }} (${{ matrix.os }}) | |
runs-on: ubuntu-latest # Specifies the runner environment | |
container: | |
image: archlinux:latest # Specifies that an Arch Linux container should be used for executing the job's steps | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [archlinux-latest] # This can be kept for naming consistency, but isn't functionally necessary | |
rust: [1.73.0] | |
make: | |
- name: Run integration tests # Integration tests | |
task: "(cd deployment && NODE_TYPE=LocalSecret ./gradlew jvmTest --build-cache --no-daemon)" | |
sccache-path: [/home/runner/.cache/sccache] | |
env: | |
RUST_BACKTRACE: full | |
RUSTC_WRAPPER: sccache | |
RUSTV: ${{ matrix.rust }} | |
SCCACHE_CACHE_SIZE: 2G | |
SCCACHE_DIR: ${{ matrix.sccache-path }} | |
# SCCACHE_RECACHE: 1 # Uncomment this to clear cache, then comment it back out | |
# Service containers to run with `container-job` | |
services: | |
# Label used to access the service container | |
secret: | |
# Docker Hub image | |
image: ghcr.io/scrtlabs/localsecret:v1.12.0-beta.8 | |
ports: | |
# Opens tcp port | |
- 5000:5000 | |
- 9091:9091 | |
- 1317:1317 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install sccache | |
env: | |
LINK: https://github.com/mozilla/sccache/releases/download | |
SCCACHE_VERSION: v0.2.15 | |
run: | | |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl | |
mkdir -p $HOME/.local/bin | |
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz | |
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache | |
chmod +x $HOME/.local/bin/sccache | |
echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 11 | |
cache: 'gradle' | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
profile: minimal | |
override: true | |
- name: Add wasm toolchain | |
run: | | |
rustup target add wasm32-unknown-unknown | |
- name: Diagnostic - List open network ports | |
run: | | |
pacman -Syu --noconfirm net-tools # Install net-tools for netstat command | |
netstat -tuln | |
- name: Diagnostic - Ping service | |
run: | | |
pacman -Syu --noconfirm iputils # Install iputils for ping command | |
ping -c 4 127.0.0.1 | |
- name: Diagnostic - Check service connection | |
run: | | |
pacman -Syu --noconfirm curl # Install curl for making HTTP requests | |
curl http://0.0.0.0:5000 | |
- name: Install wasm-opt | |
run: | | |
pacman -Syu binaryen --noconfirm | |
- name: Install development tools | |
run: pacman -Syu base-devel --noconfirm | |
- name: Install Clang | |
run: pacman -Syu clang --noconfirm | |
- name: Cache cargo registry | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo- | |
- name: Save sccache | |
uses: actions/cache@v2 | |
continue-on-error: false | |
with: | |
path: ${{ matrix.sccache-path }} | |
key: ${{ runner.os }}-sccache-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-sccache- | |
- name: Start sccache server | |
run: sccache --start-server | |
- name: Compile code | |
run: make build | |
- name: ${{ matrix.make.name }} | |
run: ${{ matrix.make.task }} | |
- name: Print sccache stats | |
run: sccache --show-stats | |
- name: Stop sccache server | |
run: sccache --stop-server || true |