Simulate leader blocks wip #10555
Workflow file for this run
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: Downstream Project - SPL | |
on: | |
push: | |
branches: | |
- master | |
- v[0-9]+.[0-9]+ | |
pull_request: | |
branches: | |
- master | |
- v[0-9]+.[0-9]+ | |
paths: | |
- "**.rs" | |
- "Cargo.toml" | |
- "Cargo.lock" | |
- "cargo-build-sbf" | |
- "cargo-test-sbf" | |
- "ci/downstream-projects/run-spl.sh" | |
- ".github/workflows/downstream-project-spl.yml" | |
- ".github/scripts/downstream-project-spl-common.sh" | |
- ".github/scripts/downstream-project-spl-install-deps.sh" | |
workflow_call: | |
inputs: | |
branch: | |
required: false | |
type: string | |
default: "master" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
SHELL: /bin/bash | |
SCCACHE_GHA_ENABLED: "true" | |
RUSTC_WRAPPER: "sccache" | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- shell: bash | |
run: | | |
.github/scripts/purge-ubuntu-runner.sh | |
- uses: mozilla-actions/sccache-action@v0.0.4 | |
with: | |
version: "v0.8.1" | |
- shell: bash | |
run: | | |
source .github/scripts/downstream-project-spl-install-deps.sh | |
source .github/scripts/downstream-project-spl-common.sh | |
if [ -n "$SKIP_SPL_DOWNSTREAM_PROJECT_TEST" ]; then | |
exit 0 | |
fi | |
cargo check | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
arrays: | |
[ | |
{ | |
test_paths: ["token/cli"], | |
required_programs: | |
[ | |
"token/program", | |
"token/program-2022", | |
"associated-token-account/program", | |
"instruction-padding/program", | |
], | |
}, | |
{ | |
test_paths: ["single-pool/cli"], | |
required_programs: | |
[ | |
"single-pool/program", | |
], | |
}, | |
{ | |
test_paths: ["token-upgrade/cli"], | |
required_programs: | |
[ | |
"token-upgrade/program", | |
], | |
}, | |
] | |
steps: | |
- uses: actions/checkout@v4 | |
- shell: bash | |
run: | | |
.github/scripts/purge-ubuntu-runner.sh | |
- uses: mozilla-actions/sccache-action@v0.0.4 | |
with: | |
version: "v0.8.1" | |
- shell: bash | |
run: | | |
source .github/scripts/downstream-project-spl-install-deps.sh | |
source .github/scripts/downstream-project-spl-common.sh | |
if [ -n "$SKIP_SPL_DOWNSTREAM_PROJECT_TEST" ]; then | |
exit 0 | |
fi | |
programStr="${{ tojson(matrix.arrays.required_programs) }}" | |
IFS=', ' read -ra programs <<<"${programStr//[\[\]$'\n'$'\r' ]/}" | |
for program in "${programs[@]}"; do | |
$CARGO_BUILD_SBF --manifest-path "$program"/Cargo.toml | |
done | |
testPathsStr="${{ tojson(matrix.arrays.test_paths) }}" | |
IFS=', ' read -ra test_paths <<<"${testPathsStr//[\[\]$'\n'$'\r' ]/}" | |
for test_path in "${test_paths[@]}"; do | |
cargo test --manifest-path "$test_path"/Cargo.toml | |
done | |
cargo-test-sbf: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
programs: | |
- [token/program] | |
- [ | |
instruction-padding/program, | |
token/program-2022, | |
token/program-2022-test, | |
] | |
- [ | |
associated-token-account/program, | |
associated-token-account/program-test, | |
] | |
- [token-upgrade/program] | |
- [feature-proposal/program] | |
- [governance/addin-mock/program, governance/program] | |
- [memo/program] | |
- [name-service/program] | |
- [stake-pool/program] | |
- [single-pool/program] | |
steps: | |
- uses: actions/checkout@v4 | |
- shell: bash | |
run: | | |
.github/scripts/purge-ubuntu-runner.sh | |
- uses: mozilla-actions/sccache-action@v0.0.4 | |
with: | |
version: "v0.8.1" | |
- shell: bash | |
run: | | |
source .github/scripts/downstream-project-spl-install-deps.sh | |
source .github/scripts/downstream-project-spl-common.sh | |
if [ -n "$SKIP_SPL_DOWNSTREAM_PROJECT_TEST" ]; then | |
exit 0 | |
fi | |
programStr="${{ tojson(matrix.programs) }}" | |
IFS=', ' read -ra programs <<<"${programStr//[\[\]$'\n'$'\r' ]/}" | |
for program in "${programs[@]}"; do | |
$CARGO_TEST_SBF --manifest-path "$program"/Cargo.toml | |
done |