Port to Native CW Migration #75
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: Wait for localsecret service to be ready | |
run: | | |
for i in {1..30}; do # tries for up to 30 times | |
if curl -s http://localhost:5000/faucet; then # replace /health with an actual endpoint if available | |
exit 0 | |
fi | |
echo "Waiting for localsecret service to be ready..." | |
sleep 10 # waits for 10 seconds between retries | |
done | |
exit 1 | |
- 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 |