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

75 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: |
set -e
SOL_VERSION=v1.18.26
cd /tmp
curl -sSfL \
"https://github.com/solana-labs/solana/releases/download/${SOL_VERSION}/solana-release-x86_64-unknown-linux-gnu.tar.bz2" \
-o solana-release.tar.bz2
tar xjf solana-release.tar.bz2
mkdir -p "$HOME/solana-local"
cp solana-release/bin/solana* "$HOME/solana-local/" 2>/dev/null || true
cp solana-release/bin/cargo-build-bpf "$HOME/solana-local/" 2>/dev/null || true
SOLDIR="$HOME/solana-local"
echo "$SOLDIR" >> "$GITHUB_PATH"
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
export PATH="$SOLDIR:$PATH"
solana --version
- 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/solana-local:$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/solana-local:$HOME/.cargo/bin:$PATH"
anchor build
- name: Test program
working-directory: program
run: |
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
anchor test
- name: Deploy to devnet
working-directory: program
run: |
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
anchor deploy --provider.cluster devnet \
--provider.wallet ../deploy/dev_smart_updown-keypair.json