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