release 20240410 (0.3.2) (#171) #240
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: e2e | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
filter: | |
runs-on: ubuntu-latest | |
outputs: | |
filter: ${{ steps.filter.outputs.e2e == 'true' || steps.filter.outputs.workflows == 'true' }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: .github/filters.yml | |
test: | |
name: Run e2e tests | |
needs: filter | |
if: ${{ needs.filter.outputs.filter == 'true' }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ macos-latest, ubuntu-latest ] | |
# only dfx >= 0.8.3 lets us query multiple controllers | |
dfx: [ '0.9.2' ] | |
env: | |
DFX_VERSION: ${{ matrix.dfx }} | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Cache Cargo | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
./target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.rust }}-1 | |
- name: Provision Darwin | |
if: matrix.os == 'macos-latest' | |
run: bash .github/workflows/provision-darwin.sh | |
- name: Provision Linux | |
if: matrix.os == 'ubuntu-latest' | |
run: bash .github/workflows/provision-linux.sh | |
- name: Install dfx | |
uses: dfinity/setup-dfx@main | |
with: | |
dfx-version: ${{ matrix.dfx }} | |
- name: Build | |
run: | | |
dfx start --background | |
dfx canister create wallet | |
dfx build wallet | |
dfx stop | |
- name: Run e2e tests vs dfx ${{ matrix.dfx }} | |
run: | | |
export DFX_WALLET_WASM=$GITHUB_WORKSPACE/target/wasm32-unknown-unknown/release/wallet-opt.wasm | |
export assets=$GITHUB_WORKSPACE/e2e/assets | |
bats e2e/bash/*.bash | |
aggregate: | |
name: e2e:required | |
runs-on: ubuntu-latest | |
if: ${{ always() }} | |
needs: [test, filter] | |
steps: | |
- name: Check e2e result | |
if: ${{ needs.test.result != 'success' && needs.filter.outputs.filter == 'true' }} | |
run: exit 1 |