diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 883439f5..9f738a1b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -13,11 +13,17 @@ concurrency: jobs: test: - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest, macos-latest ] + + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Maximize build space + if: runner.os == 'Linux' uses: AdityaGarg8/remove-unwanted-software@v2 with: remove-dotnet: 'true' @@ -26,13 +32,9 @@ jobs: remove-docker-images: 'true' - name: Install nix - uses: cachix/install-nix-action@v26 - with: - install_url: https://releases.nixos.org/nix/nix-2.20.4/install - extra_nix_config: | - experimental-features = flakes nix-command + uses: cachix/install-nix-action@v27 - - uses: cachix/cachix-action@v14 + - uses: cachix/cachix-action@v15 with: name: holochain-wind-tunnel extraPullNames: holochain-ci @@ -74,7 +76,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#zome_call_single_value -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - single_write_many_read run: | @@ -84,7 +86,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#single_write_many_read -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - dht_sync_lag run: | @@ -94,7 +96,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#dht_sync_lag -- --connection-string ws://localhost:8888 --agents 2 --behaviour write:1 --behaviour record_lag:1 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - app_install run: | @@ -104,7 +106,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#app_install -- --connection-string ws://localhost:8888 --agents 2 --behaviour minimal:1 --behaviour large:1 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - first_call run: | @@ -114,7 +116,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#first_call -- --connection-string ws://localhost:8888 --agents 1 --behaviour local:1 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - write_read run: | @@ -124,7 +126,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#write_read -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - write_query run: | @@ -134,7 +136,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#write_query -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - local_signals run: | @@ -144,7 +146,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#local_signals -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - write_validated run: | @@ -154,7 +156,7 @@ jobs: # Run the scenario for 5 seconds RUST_LOG=info nix run .#write_validated -- --connection-string ws://localhost:8888 --duration 5 --no-progress - pkill --echo hc && pkill --echo holochain && pkill --echo lair-keystore + pkill hc && pkill holochain && pkill lair-keystore - name: Smoke test - trycp_write_validated run: | @@ -171,7 +173,7 @@ jobs: # Stop the TryCP instance nix develop .#ci -c bash -c "source ./scripts/trycp.sh && stop_trycp" # Stop local network services - pkill --echo hc-run-local + pkill hc-run-local - name: Smoke test - remote_call_rate run: | @@ -188,7 +190,7 @@ jobs: # Stop the TryCP instance nix develop .#ci -c bash -c "source ./scripts/trycp.sh && stop_trycp" # Stop local network services - pkill --echo hc-run-local + pkill hc-run-local - name: Smoke test - two_party_countersigning run: | @@ -203,9 +205,10 @@ jobs: # Stop the TryCP instance nix develop .#ci -c bash -c "source ./scripts/trycp.sh && stop_trycp" # Stop local network services - pkill --echo hc-run-local + pkill hc-run-local - name: Build scenario bundles + if: runner.os == 'Linux' run: | set -euxo pipefail @@ -220,6 +223,7 @@ jobs: scenario_names | xargs -I % cp % dist/ - name: Archive scenario bundles + if: runner.os == 'Linux' uses: actions/upload-artifact@v4 with: name: scenario-bundles diff --git a/flake.lock b/flake.lock index 15cf8750..12ef8123 100644 --- a/flake.lock +++ b/flake.lock @@ -33,11 +33,11 @@ ] }, "locked": { - "lastModified": 1724006180, - "narHash": "sha256-PVxPj0Ga2fMYMtcT9ARCthF+4U71YkOT7ZjgD/vf1Aw=", + "lastModified": 1724377159, + "narHash": "sha256-ixjje1JO8ucKT41hs6n2NCde1Vc0+Zc2p2gUbJpCsMw=", "owner": "ipetkov", "repo": "crane", - "rev": "7ce92819802bc583b7e82ebc08013a530f22209f", + "rev": "3e47b7a86c19142bd3675da49d6acef488b4dac1", "type": "github" }, "original": { @@ -255,11 +255,11 @@ ] }, "locked": { - "lastModified": 1724034091, - "narHash": "sha256-b1g7w0sw+MDAhUAeCoX1vlTghsqcDZkxr+k9OZmxPa8=", + "lastModified": 1724379657, + "narHash": "sha256-+CFDh1FUgyY7q0FiWhKJpHS7LlD3KbiqN5Z4Z+4bGmc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c7d36e0947826e0751a5214ffe82533fbc909bc0", + "rev": "a18034322c7703fcfe5d7352a77981ba4a936a61", "type": "github" }, "original": { @@ -299,16 +299,16 @@ ] }, "locked": { - "lastModified": 1721247600, - "narHash": "sha256-/S6IV87N6qTHYKihqPTHo5tEmeTLhEegaD7Rr3XZU3o=", + "lastModified": 1723577336, + "narHash": "sha256-Gx9VOm1/LKwJfhSbe6uMG8h2vyKaMPoiz4ACWqOb+1o=", "owner": "holochain", "repo": "tryorama", - "rev": "76b4519034e294d194fc31d0b202fcb27a98e7d4", + "rev": "9fd4f50cbd5863bc5708749aaa341c859db48c40", "type": "github" }, "original": { "owner": "holochain", - "ref": "v0.17.0-dev.2", + "ref": "v0.17.0-dev.5", "repo": "tryorama", "type": "github" } diff --git a/flake.nix b/flake.nix index a6f9cba4..b039d70d 100644 --- a/flake.nix +++ b/flake.nix @@ -13,12 +13,10 @@ crane.follows = "crane"; rust-overlay.follows = "rust-overlay"; }; - - }; tryorama = { - url = "github:holochain/tryorama?ref=v0.17.0-dev.2"; + url = "github:holochain/tryorama?ref=v0.17.0-dev.5"; inputs = { nixpkgs.follows = "nixpkgs"; crane.follows = "crane"; @@ -84,6 +82,10 @@ inputs'.holonix.packages.rust inputs'.tryorama.packages.trycp-server inputs'.amber.packages.default + ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.Security + pkgs.darwin.apple_sdk.frameworks.SystemConfiguration + pkgs.darwin.apple_sdk.frameworks.CoreFoundation ]; shellHook = ''