Merge pull request #65 from amazingdatamachine/sander/restart-subnet #1
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: Mono CI | |
on: | |
push: | |
branches: | |
- develop | |
# Pattern matched against refs/tags | |
tags: | |
# Push events to every git tag not containing / | |
# NOTE: '**' would match tags with / in them, e.g. "foo/bar", | |
# but we want to use the tag as a docker tag as well, so it's best avoided. | |
- '*' | |
pull_request: | |
branches: | |
- '**' | |
# To add ready_for_review as a trigger we need to list all the defaults. | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
jobs: | |
# JOB to run change detection | |
changes: | |
runs-on: ubuntu-latest | |
# Required permissions | |
permissions: | |
contents: read | |
pull-requests: read | |
# Set job outputs to values from filter step | |
outputs: | |
workspace: ${{ steps.filter.outputs.workspace }} | |
contracts: ${{ steps.filter.outputs.contracts }} | |
ipc: ${{ steps.filter.outputs.ipc }} | |
ipld-resolver: ${{ steps.filter.outputs.ipld-resolver }} | |
fendermint: ${{ steps.filter.outputs.fendermint }} | |
steps: | |
# For pull requests it's not necessary to checkout the code, | |
# but the workflow is also triggered on pushes to `main`. | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
workspace: | |
- 'Cargo.toml' | |
contracts: | |
- 'contracts/**' | |
ipc: | |
- 'ipc/**' | |
ipld-resolver: | |
- 'ipld/resolver/**' | |
fendermint: | |
- 'fendermint/**' | |
license: | |
uses: ./.github/workflows/license.yaml | |
contracts-prettier: | |
uses: ./.github/workflows/contracts-prettier.yaml | |
secrets: inherit | |
needs: [ changes ] | |
if: >- | |
needs.changes.outputs.contracts == 'true' || | |
github.ref == 'refs/heads/main' || | |
github.ref_type == 'tag' | |
contracts-deployment-test: | |
uses: ./.github/workflows/contracts-deployment-test.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
contracts-test: | |
uses: ./.github/workflows/contracts-test.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
contracts-storage: | |
uses: ./.github/workflows/contracts-storage.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
contracts-npm-audit: | |
uses: ./.github/workflows/contracts-npm-audit.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
contracts-sast: | |
uses: ./.github/workflows/contracts-sast.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
extras: | |
uses: ./.github/workflows/extras.yaml | |
secrets: inherit | |
needs: [ contracts-prettier ] | |
ipc: | |
uses: ./.github/workflows/ipc.yaml | |
secrets: inherit | |
needs: [ changes, license ] | |
if: >- | |
needs.changes.outputs.workspace == 'true' || | |
needs.changes.outputs.contracts == 'true' || | |
needs.changes.outputs.ipc == 'true' || | |
github.ref == 'refs/heads/main' || | |
github.ref_type == 'tag' | |
ipld-resolver: | |
uses: ./.github/workflows/ipld-resolver.yaml | |
secrets: inherit | |
needs: [ changes, license ] | |
if: >- | |
needs.changes.outputs.workspace == 'true' || | |
needs.changes.outputs.ipld-resolver == 'true' || | |
github.ref == 'refs/heads/main' || | |
github.ref_type == 'tag' | |
fendermint-test: | |
uses: ./.github/workflows/fendermint-test.yaml | |
secrets: inherit | |
needs: [ changes, license ] | |
if: >- | |
needs.changes.outputs.workspace == 'true' || | |
needs.changes.outputs.contracts == 'true' || | |
needs.changes.outputs.ipc == 'true' || | |
needs.changes.outputs.ipld-resolver == 'true' || | |
needs.changes.outputs.fendermint == 'true' || | |
github.ref == 'refs/heads/main' || | |
github.ref_type == 'tag' | |
fevm-contract-tests: | |
uses: ./.github/workflows/fevm-contract-tests.yaml | |
secrets: inherit | |
needs: [ changes, license ] | |
if: >- | |
needs.changes.outputs.workspace == 'true' || | |
needs.changes.outputs.contracts == 'true' || | |
needs.changes.outputs.ipc == 'true' || | |
needs.changes.outputs.ipld-resolver == 'true' || | |
needs.changes.outputs.fendermint == 'true' || | |
github.ref == 'refs/heads/main' || | |
github.ref_type == 'tag' |