157 lines
3.9 KiB
YAML
157 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
|
||
|
|
||
|
sudo apt update
|
||
|
sudo apt install libudev-dev binutils-dev libunwind-dev protobuf-compiler -y
|
||
|
|
||
|
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
|
||
|
|
||
|
sudo apt update
|
||
|
sudo apt install libudev-dev binutils-dev libunwind-dev protobuf-compiler -y
|
||
|
|
||
|
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
|