Skip to content

feat(rpc): add Forest.NetChainExchange for internal debugging #3994

feat(rpc): add Forest.NetChainExchange for internal debugging

feat(rpc): add Forest.NetChainExchange for internal debugging #3994

# This workflow is triggered by changes on the documentation. Normally, if only documentation is modified, the required Forest checks are not triggered which makes it impossible to merge the PR. See <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks>. The workaround is to provide no-op jobs that are triggered by the same events as the docs-check job. This way, the "required checks" are passing and the PR can be merged.
# We check that changes affect only the documentation and that no other changes are present. If this is the case, we trigger the no-op jobs.
name: Docs Required Override
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: "${{ github.ref != 'refs/heads/main' }}"
on:
workflow_dispatch:
merge_group:
pull_request:
branches:
- main
paths:
- "**.md"
- "docs/**"
- ".github/workflows/docs-*.yml"
push:
branches:
- main
paths:
- "**.md"
- "docs/**"
- ".github/workflows/docs-*.yml"
jobs:
# We need this because merge groups dont support path filters
# https://github.com/community/community/discussions/45899
changes-docs:
runs-on: ubuntu-slim
outputs:
changesFound: ${{ steps.filter.outputs.changesFound }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
changesFound:
- 'docs/**'
- '**.md'
- '.github/workflows/docs-*.yml'
changes-not-docs:
runs-on: ubuntu-slim
outputs:
otherChangesFound: ${{ steps.filter.outputs.otherChangesFound }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: filter
with:
predicate-quantifier: every
filters: |
otherChangesFound:
- '**'
- '!docs/**'
- '!**.md'
- '!.github/workflows/docs-*.yml'
override_calibnet_rpc_checks:
name: Calibnet RPC checks
runs-on: ubuntu-slim
needs:
- changes-docs
- changes-not-docs
if: ${{ (needs.changes-docs.outputs.changesFound == 'true') && (needs.changes-not-docs.outputs.otherChangesFound == 'false') }}
steps:
- run: echo "No-op job to trigger the required checks."
override_integration_tests:
name: Integration tests status
runs-on: ubuntu-slim
needs:
- changes-docs
- changes-not-docs
if: ${{ (needs.changes-docs.outputs.changesFound == 'true') && (needs.changes-not-docs.outputs.otherChangesFound == 'false') }}
steps:
- run: echo "No-op job to trigger the required checks."
override_unit_tests_release:
name: tests-release
runs-on: ubuntu-slim
needs:
- changes-docs
- changes-not-docs
if: ${{ (needs.changes-docs.outputs.changesFound == 'true') && (needs.changes-not-docs.outputs.otherChangesFound == 'false') }}
steps:
- run: echo "No-op job to trigger the required checks."
override_docker_build:
name: Build images and push to GHCR
runs-on: ubuntu-slim
needs:
- changes-docs
- changes-not-docs
if: ${{ (needs.changes-docs.outputs.changesFound == 'true') && (needs.changes-not-docs.outputs.otherChangesFound == 'false') }}
steps:
- run: echo "No-op job to trigger the required checks."
override_lints:
name: All lint checks
runs-on: ubuntu-slim
needs:
- changes-docs
- changes-not-docs
if: ${{ (needs.changes-docs.outputs.changesFound == 'true') && (needs.changes-not-docs.outputs.otherChangesFound == 'false') }}
steps:
- run: echo "No-op job to trigger the required checks."