WindTunnel Scenario Packaging #31
Workflow file for this run
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: "test" | |
on: | |
push: | |
branches: [ main, develop ] | |
pull_request: | |
branches: [ main, develop ] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install nix | |
uses: cachix/install-nix-action@v25 | |
with: | |
install_url: https://releases.nixos.org/nix/nix-2.20.4/install | |
extra_nix_config: | | |
experimental-features = flakes nix-command | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: holochain-wind-tunnel | |
extraPullNames: holochain-ci | |
authToken: ${{ secrets.CACHIX_HOLOCHAIN_WIND_TUNNEL }} | |
- name: Check Nix formatting | |
run: | | |
nix fmt ./nix flake.nix -- --check | |
- name: Lint Nix | |
run: | | |
nix develop --command bash -c "statix ./nix && statix ./flake.nix" | |
- name: Check Rust formatting | |
run: | | |
nix develop --command bash -c "cargo fmt --all -- --check" | |
- name: Lint Rust | |
run: | | |
nix develop --command bash -c "cargo clippy --workspace --all-targets --all-features -- -D warnings" | |
- name: Unit tests | |
run: | | |
nix develop --command bash -c "cargo test" | |
- name: Smoke test - zome_call_single_value | |
run: | | |
# Start a sandbox conductor and run it in the background | |
nix develop --command bash -c "hc s clean && echo "1234" | hc s --piped create && echo "1234" | hc s --piped -f 8888 run &" | |
# Run the scenario for 5 seconds | |
nix develop --command bash -c "RUST_LOG=info cargo run --package zome_call_single_value -- --connection-string ws://localhost:8888 --duration 5 --no-progress --no-metrics" | |
pkill hc | |
pkill holochain | |
pkill lair-keystore | |
- name: Smoke test - single_write_many_read | |
run: | | |
# Start a sandbox conductor and run it in the background | |
nix develop --command bash -c "hc s clean && echo "1234" | hc s --piped create && echo "1234" | hc s --piped -f 8888 run &" | |
# Run the scenario for 5 seconds | |
nix develop --command bash -c "RUST_LOG=info cargo run --package single_write_many_read -- --connection-string ws://localhost:8888 --duration 5 --no-progress --no-metrics" | |
pkill hc | |
pkill holochain | |
pkill lair-keystore | |
# Failed on CI with ` error: linking with `cc` failed: exit status: 1` | |
# - name: Smoke test - dht_sync_lag | |
# run: | | |
# # Start a sandbox conductor and run it in the background | |
# nix develop --command bash -c "hc s clean && echo "1234" | hc s --piped create && echo "1234" | hc s --piped -f 8888 run &" | |
# | |
# # Run the scenario for 5 seconds | |
# nix develop --command bash -c "RUST_LOG=info cargo run --package dht_sync_lag -- --connection-string ws://localhost:8888 --agents 2 --behaviour write:1 --behaviour record_lag:1 --duration 5 --no-progress --no-metrics" | |
# | |
# pkill hc | |
# pkill holochain | |
# pkill lair-keystore | |
- name: Check scripts | |
run: | | |
nix develop --command bash -c "shellcheck scripts/*.sh" |