-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: re-enable SPL downstream project test on Github Action (#32677)
* ci: init spl downstream project on Github Action * ci: fix spl downstream project doesn't use cargo-test-sbf * ci: move nightly build to another individual file * ci: get more space for runners on Github Action * ci: trun off fali-fast * Update .github/workflows/downstream-project-spl.yml Co-authored-by: Jon Cinque <[email protected]> * ci: separate all spl programs * use reusable workflow * add error reporting for nightly build * update test method * add build and test * only build required program * remove other branches * Update .github/workflows/downstream-project-spl.yml Co-authored-by: Jon Cinque <[email protected]> * Update .github/workflows/downstream-project-spl.yml Co-authored-by: Jon Cinque <[email protected]> * add check * update build and test * add lacking programs * remove unnecessary programs --------- Co-authored-by: Jon Cinque <[email protected]>
- Loading branch information
Showing
5 changed files
with
220 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/usr/bin/env bash | ||
set -e | ||
|
||
here="$(dirname "${BASH_SOURCE[0]}")" | ||
|
||
#shellcheck source=ci/downstream-projects/common.sh | ||
source "$here"/../../ci/downstream-projects/common.sh | ||
|
||
set -x | ||
rm -rf spl | ||
git clone https://github.com/solana-labs/solana-program-library.git spl | ||
|
||
# copy toolchain file to use solana's rust version | ||
cp "$SOLANA_DIR"/rust-toolchain.toml spl/ | ||
cd spl || exit 1 | ||
|
||
project_used_solana_version=$(sed -nE 's/solana-sdk = \"[>=<~]*(.*)\"/\1/p' <"token/program/Cargo.toml") | ||
echo "used solana version: $project_used_solana_version" | ||
if semverGT "$project_used_solana_version" "$SOLANA_VER"; then | ||
echo "skip" | ||
return | ||
fi | ||
|
||
./patch.crates-io.sh "$SOLANA_DIR" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/usr/bin/env bash | ||
|
||
sudo rm -rf /usr/share/dotnet | ||
sudo rm -rf /usr/share/swift | ||
sudo rm -rf /usr/share/mysql | ||
sudo rm -rf /usr/share/az_* | ||
sudo rm -rf /usr/share/postgresql-common | ||
|
||
sudo rm -rf /opt/ghc | ||
sudo rm -rf /opt/az | ||
sudo rm -rf /opt/pipx | ||
sudo rm -rf /opt/microsoft | ||
sudo rm -rf /opt/google | ||
sudo rm -rf /opt/hostedtoolcache | ||
|
||
sudo rm -rf /usr/local/lib/android | ||
sudo rm -rf /usr/local/lib/heroku |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Downstream Project - SPL (Nightly) | ||
|
||
on: | ||
schedule: | ||
- cron: "0 3 * * *" | ||
|
||
jobs: | ||
main: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
branch: | ||
- master | ||
uses: ./.github/workflows/downstream-project-spl.yml | ||
with: | ||
branch: ${{ matrix.branch }} | ||
|
||
error_reporting: | ||
needs: | ||
- main | ||
if: failure() | ||
uses: ./.github/workflows/error-reporting.yml | ||
secrets: | ||
WEBHOOK: ${{ secrets.SLACK_ERROR_REPORTING_WEBHOOK }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
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: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- shell: bash | ||
run: | | ||
.github/scripts/purge-ubuntu-runner.sh | ||
- uses: mozilla-actions/[email protected] | ||
|
||
- shell: bash | ||
run: | | ||
source .github/scripts/downstream-project-spl-common.sh | ||
sudo apt update | ||
sudo apt install libudev-dev binutils-dev libunwind-dev -y | ||
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", | ||
], | ||
}, | ||
{ | ||
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/[email protected] | ||
|
||
- shell: bash | ||
run: | | ||
source .github/scripts/downstream-project-spl-common.sh | ||
sudo apt update | ||
sudo apt install libudev-dev binutils-dev libunwind-dev -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/[email protected] | ||
|
||
- 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 |
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