rpc: re-use server builder per rpc interface #7111
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: Build Misc | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
preflight: | |
uses: ./.github/workflows/reusable-preflight.yml | |
build-runtimes-polkavm: | |
timeout-minutes: 20 | |
needs: [preflight] | |
runs-on: ${{ needs.preflight.outputs.RUNNER }} | |
container: | |
image: ${{ needs.preflight.outputs.IMAGE }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Check Rust | |
run: | | |
rustup show | |
rustup +nightly show | |
- name: Build | |
env: | |
SUBSTRATE_RUNTIME_TARGET: riscv | |
id: required | |
run: | | |
forklift cargo check -p minimal-template-runtime | |
forklift cargo check -p westend-runtime | |
forklift cargo check -p rococo-runtime | |
forklift cargo check -p polkadot-test-runtime | |
- name: Stop all workflows if failed | |
if: ${{ failure() && steps.required.conclusion == 'failure' && !github.event.pull_request.head.repo.fork }} | |
uses: ./.github/actions/workflow-stopper | |
with: | |
app-id: ${{ secrets.WORKFLOW_STOPPER_RUNNER_APP_ID }} | |
app-key: ${{ secrets.WORKFLOW_STOPPER_RUNNER_APP_KEY }} | |
build-subkey: | |
timeout-minutes: 20 | |
needs: [preflight] | |
runs-on: ${{ needs.preflight.outputs.RUNNER }} | |
container: | |
image: ${{ needs.preflight.outputs.IMAGE }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Check Rust | |
run: | | |
rustup show | |
rustup +nightly show | |
- name: Build | |
env: | |
SKIP_WASM_BUILD: 1 | |
id: required | |
run: | | |
cd ./substrate/bin/utils/subkey | |
forklift cargo build --locked --release | |
- name: Stop all workflows if failed | |
if: ${{ failure() && steps.required.conclusion == 'failure' && !github.event.pull_request.head.repo.fork }} | |
uses: ./.github/actions/workflow-stopper | |
with: | |
app-id: ${{ secrets.WORKFLOW_STOPPER_RUNNER_APP_ID }} | |
app-key: ${{ secrets.WORKFLOW_STOPPER_RUNNER_APP_KEY }} | |
confirm-required-build-misc-jobs-passed: | |
runs-on: ubuntu-latest | |
name: All build misc jobs passed | |
# If any new job gets added, be sure to add it to this array | |
needs: [build-runtimes-polkavm, build-subkey] | |
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 |