55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
name: deploy-devnet
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy-devnet:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Rust toolchain + C compiler
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends build-essential pkg-config libssl-dev clang
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
|
|
sh -s -- -y --profile minimal --default-toolchain 1.89.0
|
|
|
|
- name: Setup Solana CLI
|
|
run: |
|
|
sh -c "$(curl -sSfL https://release.solana.com/v1.18.26/install)"
|
|
echo "$HOME/.local/share/solana/install/active_release/bin" >> "$GITHUB_PATH"
|
|
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Setup Anchor CLI (anchor-next)
|
|
run: |
|
|
. "$HOME/.cargo/env"
|
|
mkdir -p "$HOME/.cargo"
|
|
printf '[net]\ngit-fetch-with-cli = true\n' > "$HOME/.cargo/config.toml"
|
|
cargo install --force --git https://github.com/anchor-lang/anchor.git \
|
|
--branch anchor-next anchor-cli --locked
|
|
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Airdrop devnet SOL (to keypair address)
|
|
run: |
|
|
solana airdrop 2 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
|
|
--url https://api.devnet.solana.com || \
|
|
solana airdrop 2 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
|
|
--url https://api.devnet.solana.com
|
|
|
|
- name: Build program
|
|
working-directory: program
|
|
run: anchor build
|
|
|
|
- name: Test program
|
|
working-directory: program
|
|
run: anchor test
|
|
|
|
- name: Deploy to devnet
|
|
working-directory: program
|
|
run: anchor deploy --provider.cluster devnet \
|
|
--provider.wallet ../deploy/dev_smart_updown-keypair.json |