91e939b591
* docs: update workflow plan with completed CI fixes * fix(ci): remove wasm32v1-none target installation to fix serde_core compilation This removes the explicit `rustup target add wasm32v1-none` step from CI workflows. When wasm32v1-none is installed, the wasm-builder uses it instead of wasm32-unknown-unknown, which causes serde_core 1.0.228 to fail compilation with "relaxing a default bound only does something for ?Sized" errors. By not installing wasm32v1-none, the wasm-builder automatically falls back to wasm32-unknown-unknown which compiles successfully. This aligns with Polkadot SDK's CI configuration which also does not explicitly install wasm32v1-none. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
84 lines
3.3 KiB
YAML
84 lines
3.3 KiB
YAML
name: tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
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
|
|
|
|
jobs:
|
|
isdraft:
|
|
uses: ./.github/workflows/reusable-isdraft.yml
|
|
preflight:
|
|
needs: isdraft
|
|
uses: ./.github/workflows/reusable-preflight.yml
|
|
|
|
# This job runs all benchmarks defined in the `/bin/node/runtime` once to check that there are no errors.
|
|
quick-benchmarks:
|
|
needs: [preflight]
|
|
if: ${{ needs.preflight.outputs.changes_rust }}
|
|
runs-on: ${{ needs.preflight.outputs.RUNNER }}
|
|
timeout-minutes: 60
|
|
container:
|
|
image: ${{ needs.preflight.outputs.IMAGE }}
|
|
env:
|
|
RUSTFLAGS: "-C debug-assertions -D warnings"
|
|
RUST_BACKTRACE: "full"
|
|
WASM_BUILD_NO_COLOR: 1
|
|
WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
- name: script
|
|
run: cargo run --locked --release -p pezstaging-node-cli --bin bizinikiwi-node --features runtime-benchmarks --quiet -- benchmark pezpallet --chain dev --pezpallet "*" --extrinsic "*" --steps 2 --repeat 1 --quiet
|
|
|
|
# cf https://github.com/pezkuwichain/pezkuwi-sdk/issues/1652
|
|
test-syscalls:
|
|
needs: [preflight]
|
|
if: ${{ needs.preflight.outputs.changes_rust }}
|
|
runs-on: ${{ needs.preflight.outputs.RUNNER }}
|
|
timeout-minutes: 60
|
|
container:
|
|
image: ${{ needs.preflight.outputs.IMAGE }}
|
|
continue-on-error: true # this rarely triggers in practice
|
|
env:
|
|
SKIP_WASM_BUILD: 1
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
- name: script
|
|
id: test
|
|
run: |
|
|
cargo build --locked --profile production --target x86_64-unknown-linux-musl --bin pezkuwi-execute-worker --bin pezkuwi-prepare-worker --quiet
|
|
cd pezkuwi/scripts/list-syscalls
|
|
./list-syscalls.rb ../../../target/x86_64-unknown-linux-musl/production/pezkuwi-execute-worker --only-used-syscalls | diff -u execute-worker-syscalls -
|
|
./list-syscalls.rb ../../../target/x86_64-unknown-linux-musl/production/pezkuwi-prepare-worker --only-used-syscalls | diff -u prepare-worker-syscalls -
|
|
- name: on_failure
|
|
if: failure() && steps.test.outcome == 'failure'
|
|
run: |
|
|
echo "The x86_64 syscalls used by the worker binaries have changed. Please review if this is expected and update pezkuwi/scripts/list-syscalls/*-worker-syscalls as needed." >> $GITHUB_STEP_SUMMARY
|
|
|
|
cargo-check-all-benches:
|
|
needs: [preflight]
|
|
if: ${{ needs.preflight.outputs.changes_rust }}
|
|
runs-on: ${{ needs.preflight.outputs.RUNNER }}
|
|
timeout-minutes: 60
|
|
container:
|
|
image: ${{ needs.preflight.outputs.IMAGE }}
|
|
env:
|
|
SKIP_WASM_BUILD: 1
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
- name: script
|
|
# Use --features runtime-benchmarks to ensure all crates have the feature enabled,
|
|
# avoiding feature unification issues where pezframe-support has the feature but
|
|
# implementing crates don't.
|
|
run: |
|
|
cargo check --workspace --benches --features runtime-benchmarks --quiet
|