153 lines
3.9 KiB
YAML
153 lines
3.9 KiB
YAML
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-bpf"
|
|
- "cargo-test-bpf"
|
|
- "cargo-build-sbf"
|
|
- "cargo-test-sbf"
|
|
- "ci/downstream-projects/run-spl.sh"
|
|
- ".github/workflows/downstream-project-spl.yml"
|
|
workflow_call:
|
|
inputs:
|
|
branch:
|
|
required: false
|
|
type: string
|
|
default: "master"
|
|
|
|
env:
|
|
SHELL: /bin/bash
|
|
SCCACHE_GHA_ENABLED: "true"
|
|
RUSTC_WRAPPER: "sccache"
|
|
|
|
jobs:
|
|
check:
|
|
if: false
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- shell: bash
|
|
run: |
|
|
.github/scripts/purge-ubuntu-runner.sh
|
|
|
|
- uses: mozilla-actions/sccache-action@v0.0.3
|
|
|
|
- shell: bash
|
|
run: |
|
|
source .github/scripts/downstream-project-spl-common.sh
|
|
source .github/scripts/downstream-project-spl-install-deps.sh
|
|
|
|
cargo check
|
|
|
|
test:
|
|
if: false
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
arrays:
|
|
[
|
|
{
|
|
test_paths: ["token/cli"],
|
|
required_programs:
|
|
[
|
|
"token/program",
|
|
"token/program-2022",
|
|
"associated-token-account/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@v3
|
|
|
|
- shell: bash
|
|
run: |
|
|
.github/scripts/purge-ubuntu-runner.sh
|
|
|
|
- uses: mozilla-actions/sccache-action@v0.0.3
|
|
|
|
- shell: bash
|
|
run: |
|
|
source .github/scripts/downstream-project-spl-common.sh
|
|
source .github/scripts/downstream-project-spl-install-deps.sh
|
|
|
|
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@v3
|
|
|
|
- shell: bash
|
|
run: |
|
|
.github/scripts/purge-ubuntu-runner.sh
|
|
|
|
- uses: mozilla-actions/sccache-action@v0.0.3
|
|
|
|
- shell: bash
|
|
run: |
|
|
source .github/scripts/downstream-project-spl-common.sh
|
|
|
|
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
|