name: Check Cargo Check Runtimes concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true on: pull_request: types: [opened, synchronize, reopened, ready_for_review] paths: - "pezcumulus/teyrchains/runtimes/*" # Jobs in this workflow depend on each other, only for limiting peak amount of spawned workers jobs: isdraft: uses: ./.github/workflows/reusable-isdraft.yml preflight: needs: isdraft uses: ./.github/workflows/reusable-preflight.yml check-runtime-assets: runs-on: ${{ needs.preflight.outputs.RUNNER }} needs: [preflight] timeout-minutes: 20 container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/assets check-runtime-collectives: runs-on: ${{ needs.preflight.outputs.RUNNER }} needs: [check-runtime-assets, preflight] timeout-minutes: 20 container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/collectives check-runtime-coretime: runs-on: ${{ needs.preflight.outputs.RUNNER }} container: image: ${{ needs.preflight.outputs.IMAGE }} needs: [check-runtime-assets, preflight] timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/coretime check-runtime-bridge-hubs: runs-on: ${{ needs.preflight.outputs.RUNNER }} container: image: ${{ needs.preflight.outputs.IMAGE }} needs: [preflight] timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/bridge-hubs check-runtime-contracts: runs-on: ${{ needs.preflight.outputs.RUNNER }} container: image: ${{ needs.preflight.outputs.IMAGE }} needs: [check-runtime-collectives, preflight] timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/contracts check-runtime-testing: runs-on: ${{ needs.preflight.outputs.RUNNER }} container: image: ${{ needs.preflight.outputs.IMAGE }} needs: [preflight] timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: root: pezcumulus/teyrchains/runtimes/testing confirm-required-jobs-passed: runs-on: ubuntu-latest name: All check-runtime-* tests passed # If any new job gets added, be sure to add it to this array needs: - check-runtime-assets - check-runtime-collectives - check-runtime-coretime - check-runtime-bridge-hubs - check-runtime-contracts - check-runtime-testing if: always() && !cancelled() steps: - run: | tee resultfile <<< '${{ toJSON(needs) }}' FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l) if [ $FAILURES -gt 0 ]; then echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY exit 1 else echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY fi