ci: update anchor downstream project (#35274)

* Update build downstream projects script (#35262)

* fix patch-crates.sh doesn't pass the real variables

* fix downstream project anchor doesn't be triggered correctly

---------

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>
This commit is contained in:
Yihau Chen 2024-02-21 22:30:55 +08:00 committed by GitHub
parent 14453eb1b0
commit d223a43096
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 36 additions and 20 deletions

View File

@ -17,6 +17,9 @@ on:
- "cargo-test-bpf" - "cargo-test-bpf"
- "cargo-build-sbf" - "cargo-build-sbf"
- "cargo-test-sbf" - "cargo-test-sbf"
- "scripts/build-downstream-anchor-projects.sh"
- ".github/scripts/purge-ubuntu-runner.sh"
- ".github/scripts/downstream-project-spl-install-deps.sh"
- ".github/workflows/downstream-project-anchor.yml" - ".github/workflows/downstream-project-anchor.yml"
workflow_call: workflow_call:
inputs: inputs:

View File

@ -68,25 +68,27 @@ anchor() {
cd "$solana_dir"/target/downstream-projects-anchor cd "$solana_dir"/target/downstream-projects-anchor
} }
openbook() {
# Openbook-v2 is still using cargo 1.70.0, which is not compatible with the latest main
rm -rf openbook-v2
git clone https://github.com/openbook-dex/openbook-v2.git
cd openbook-v2
update_solana_dependencies . "$solana_ver"
patch_crates_io_solana Cargo.toml "$solana_dir"
$cargo_build_sbf --features enable-gpl
cd programs/openbook-v2
$cargo_test_sbf --features enable-gpl
}
mango() { mango() {
( (
set -x set -x
rm -rf mango-v3 rm -rf mango-v4
git clone https://github.com/blockworks-foundation/mango-v3 git clone https://github.com/blockworks-foundation/mango-v4.git
# copy toolchain file to use solana's rust version cd mango-v4
cp "$solana_dir"/rust-toolchain.toml mango-v3/
cd mango-v3
update_solana_dependencies . "$solana_ver" update_solana_dependencies . "$solana_ver"
update_anchor_dependencies . "$anchor_ver" patch_crates_io_solana_no_header Cargo.toml "$solana_dir"
patch_crates_io_solana Cargo.toml "$solana_dir" $cargo_test_sbf --features enable-gpl
patch_crates_io_anchor Cargo.toml "$anchor_dir"
cd program
$cargo build
$cargo test
$cargo_build_sbf
$cargo_test_sbf
) )
} }
@ -97,18 +99,21 @@ metaplex() {
git clone https://github.com/metaplex-foundation/mpl-token-metadata git clone https://github.com/metaplex-foundation/mpl-token-metadata
# copy toolchain file to use solana's rust version # copy toolchain file to use solana's rust version
cp "$solana_dir"/rust-toolchain.toml mpl-token-metadata/ cp "$solana_dir"/rust-toolchain.toml mpl-token-metadata/
cd mpl-token-metadata/programs/token-metadata/program cd mpl-token-metadata
./configs/program-scripts/dump.sh ./programs/bin
ROOT_DIR=$(pwd)
cd programs/token-metadata
update_solana_dependencies . "$solana_ver" update_solana_dependencies . "$solana_ver"
patch_crates_io_solana Cargo.toml "$solana_dir" patch_crates_io_solana Cargo.toml "$solana_dir"
$cargo build OUT_DIR="$ROOT_DIR"/programs/bin
$cargo test export SBF_OUT_DIR="$OUT_DIR"
$cargo_build_sbf $cargo_test_sbf --sbf-out-dir "${OUT_DIR}"
$cargo_test_sbf
) )
} }
_ anchor _ anchor
#_ metaplex #_ metaplex
#_ mango #_ mango
#_ openbook

View File

@ -31,6 +31,14 @@ patch_crates_io_solana() {
declare solana_dir="$2" declare solana_dir="$2"
cat >> "$Cargo_toml" <<EOF cat >> "$Cargo_toml" <<EOF
[patch.crates-io] [patch.crates-io]
EOF
patch_crates_io_solana_no_header "$Cargo_toml" "$solana_dir"
}
patch_crates_io_solana_no_header() {
declare Cargo_toml="$1"
declare solana_dir="$2"
cat >> "$Cargo_toml" <<EOF
solana-account-decoder = { path = "$solana_dir/account-decoder" } solana-account-decoder = { path = "$solana_dir/account-decoder" }
solana-clap-utils = { path = "$solana_dir/clap-utils" } solana-clap-utils = { path = "$solana_dir/clap-utils" }
solana-client = { path = "$solana_dir/client" } solana-client = { path = "$solana_dir/client" }