Files
smart-updown-token/.gitea/workflows/deploy-devnet.yml
T

69 lines
2.7 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.91.0
- name: Setup Solana CLI
run: |
for i in 1 2 3; do
curl -sSfL https://release.solana.com/v1.18.26/install -o /tmp/solana-install.sh && break
echo "retry $i"; sleep 5
done
sh /tmp/solana-install.sh
ls "$HOME/.local/share/solana/install/active_release/bin" >/dev/null 2>&1 || \
curl -sSfL https://release.solana.com/v1.18.26/install -o /tmp/solana-install.sh && sh /tmp/solana-install.sh
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/otter-sec/anchor.git \
--branch anchor-next anchor-cli --locked
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Airdrop devnet SOL (to keypair address)
run: |
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
solana airdrop 2 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
--url https://api.devnet.solana.com || \
solana airdrop 2 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
--url https://api.devnet.solana.com
solana balance 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf --url https://api.devnet.solana.com
- name: Build program
working-directory: program
run: |
export PATH="$HOME/.local/share/solana/install/active_release/bin:$HOME/.cargo/bin:$PATH"
anchor build
- name: Test program
working-directory: program
run: |
export PATH="$HOME/.local/share/solana/install/active_release/bin:$HOME/.cargo/bin:$PATH"
anchor test
- name: Deploy to devnet
working-directory: program
run: |
export PATH="$HOME/.local/share/solana/install/active_release/bin:$HOME/.cargo/bin:$PATH"
anchor deploy --provider.cluster devnet \
--provider.wallet ../deploy/dev_smart_updown-keypair.json