deploy: единый шаг, наш test-validator по умолчанию (devnet только при явном target=devnet)
This commit is contained in:
@@ -141,39 +141,35 @@ jobs:
|
|||||||
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
|
||||||
anchor test
|
anchor test
|
||||||
|
|
||||||
# ------ deploy: devnet ------
|
# ------ deploy: единый шаг, цель выбирается по input (Gitea: default=our) ------
|
||||||
- name: Deploy to devnet
|
- name: Deploy contract (our test-validator по умолчанию)
|
||||||
if: github.event.inputs.target == 'devnet'
|
|
||||||
working-directory: program
|
working-directory: program
|
||||||
run: |
|
run: |
|
||||||
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
|
||||||
mkdir -p "$HOME/.config/solana"
|
TARGET="${{ github.event.inputs.target }}"
|
||||||
cp ../deploy/dev_smart_updown-keypair.json "$HOME/.config/solana/id.json"
|
if [ "$TARGET" = "devnet" ]; then
|
||||||
anchor deploy --provider.cluster devnet \
|
echo ">>> Деплой в devnet"
|
||||||
--provider.wallet "$HOME/.config/solana/id.json"
|
mkdir -p "$HOME/.config/solana"
|
||||||
|
cp ../deploy/dev_smart_updown-keypair.json "$HOME/.config/solana/id.json"
|
||||||
# ------ deploy: наш тест-валидатор (всё в одном шаге, чтобы выжил) ------
|
anchor deploy --provider.cluster devnet \
|
||||||
- name: Deploy to our test-validator
|
--provider.wallet "$HOME/.config/solana/id.json"
|
||||||
# деплой по умолчанию: наш локальный test-validator (без внешних faucet-лимитов)
|
else
|
||||||
if: github.event.inputs.target != 'devnet'
|
echo ">>> Деплой в НАШ local test-validator (127.0.0.1:8899)"
|
||||||
working-directory: program
|
mkdir -p /tmp/solana-ledger
|
||||||
run: |
|
solana-test-validator --ledger /tmp/solana-ledger \
|
||||||
export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH"
|
--rpc-port 8899 --quiet > /tmp/validator.log 2>&1 &
|
||||||
mkdir -p /tmp/solana-ledger
|
VPD=$!
|
||||||
solana-test-validator --ledger /tmp/solana-ledger \
|
for i in $(seq 1 40); do
|
||||||
--rpc-port 8899 --quiet > /tmp/validator.log 2>&1 &
|
curl -s http://127.0.0.1:8899 -H 'Content-Type: application/json' \
|
||||||
VPD=$!
|
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' 2>/dev/null | grep -q '"ok"' && break
|
||||||
for i in $(seq 1 40); do
|
sleep 1
|
||||||
curl -s http://127.0.0.1:8899 -H 'Content-Type: application/json' \
|
done
|
||||||
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' 2>/dev/null | grep -q '"ok"' && break
|
solana airdrop 100 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
|
||||||
sleep 1
|
--url http://127.0.0.1:8899 || true
|
||||||
done
|
solana config set --url http://127.0.0.1:8899
|
||||||
solana airdrop 100 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \
|
mkdir -p "$HOME/.config/solana"
|
||||||
--url http://127.0.0.1:8899 || true
|
cp ../deploy/dev_smart_updown-keypair.json "$HOME/.config/solana/id.json"
|
||||||
solana config set --url http://127.0.0.1:8899
|
anchor deploy --provider.cluster http://127.0.0.1:8899 \
|
||||||
mkdir -p "$HOME/.config/solana"
|
--provider.wallet "$HOME/.config/solana/id.json"
|
||||||
cp ../deploy/dev_smart_updown-keypair.json "$HOME/.config/solana/id.json"
|
kill $VPD 2>/dev/null || true
|
||||||
echo ">>> Деплой в НАШ local test-validator (127.0.0.1:8899)"
|
fi
|
||||||
anchor deploy --provider.cluster http://127.0.0.1:8899 \
|
|
||||||
--provider.wallet "$HOME/.config/solana/id.json"
|
|
||||||
kill $VPD 2>/dev/null || true
|
|
||||||
Reference in New Issue
Block a user