name: Build release of Nym smart contracts on: workflow_dispatch: release: types: [created] jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Check the release tag starts with `nym-contracts-` if: startsWith(github.ref, 'refs/tags/nym-contracts-') == false && github.event_name != 'workflow_dispatch' uses: actions/github-script@v3 with: script: | core.setFailed('Release tag did not start with nym-contracts-...') - name: Install Rust stable uses: actions-rs/toolchain@v1 with: toolchain: stable target: wasm32-unknown-unknown override: true components: rustfmt, clippy - name: Build release contracts run: make wasm - name: Upload Mixnet Contract Artifact uses: actions/upload-artifact@v3 with: name: mixnet_contract.wasm path: contracts/target/wasm32-unknown-unknown/release/mixnet_contract.wasm retention-days: 5 - name: Upload Vesting Contract Artifact uses: actions/upload-artifact@v3 with: name: vesting_contract.wasm path: contracts/target/wasm32-unknown-unknown/release/vesting_contract.wasm retention-days: 5 - name: Upload to release based on tag name uses: softprops/action-gh-release@v1 if: github.event_name == 'release' with: files: | contracts/target/wasm32-unknown-unknown/release/vesting_contract.wasm contracts/target/wasm32-unknown-unknown/release/mixnet_contract.wasm