Support client or Lair signing #217
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: | |
pull_request: | |
push: | |
branches: [develop, main] | |
env: | |
CARGO_TERM_COLOR: always | |
concurrency: | |
group: ${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install nix | |
uses: cachix/install-nix-action@v25 | |
- name: Set up cachix | |
uses: cachix/cachix-action@v14 | |
with: | |
name: holochain-ci | |
- name: Cache fixture | |
uses: actions/cache@v4 | |
env: | |
cache-name: fixture | |
with: | |
path: fixture/zomes/foo/target | |
key: ${{ matrix.os }}-build-${{ env.cache-name }}-${{ hashFiles('fixture/zomes/foo/Cargo.lock') }} | |
- name: Cache client build | |
uses: actions/cache@v4 | |
if: always() | |
env: | |
cache-name: client | |
with: | |
path: target | |
key: ${{ matrix.os }}-cargo-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }} | |
- name: Install nix packages | |
run: nix develop -c $SHELL -c "holochain --version" | |
- name: Build fixture | |
run: nix develop -c $SHELL -c "./build-fixture.sh" | |
- name: Clean up nix files to prevent insufficient disk space | |
run: nix-collect-garbage -d | |
- name: Build client | |
run: cargo build -p holochain_client | |
- name: Lint | |
run: cargo clippy --all-features -- -D warnings | |
- name: Check formatting | |
run: cargo fmt --all --check | |
- name: Run tests | |
run: cargo test | |
- name: Verify feature independence | |
run: | | |
cargo build --no-default-features | |
cargo build --no-default-features --features "lair_signing" | |
- name: Setup tmate session if build and test run failed | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 |