From be0bf0a2bb09d2cc489b266415243ad1345380cb Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Wed, 2 Sep 2026 21:41:34 +0300 Subject: [PATCH] =?UTF-8?q?ci:=20=D0=B4=D0=B5=D0=BF=D0=BB=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B2=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=88=D1=83=20=D1=81=D0=B5=D1=82=D1=8C=20solana-net=20(192.168?= =?UTF-8?q?.76.181:8899),=20=D0=B1=D0=B5=D0=B7=20devnet=20=D0=B8=20=D0=B2?= =?UTF-8?q?=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy-contract.yml | 54 +++++++++------------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/.gitea/workflows/deploy-contract.yml b/.gitea/workflows/deploy-contract.yml index 4a888cd..d7c2868 100644 --- a/.gitea/workflows/deploy-contract.yml +++ b/.gitea/workflows/deploy-contract.yml @@ -4,15 +4,6 @@ on: release: types: [published] workflow_dispatch: - inputs: - target: - description: "Куда деплоить: 'devnet' или 'our' (наш test-validator)" - required: true - default: our - type: choice - options: - - devnet - - our jobs: deploy-contract: @@ -107,17 +98,6 @@ jobs: export PATH="$HOME/.cargo/bin:$PATH" anchor --version - # ------ devnet: отдельно аирдроп ------ - - name: Airdrop devnet SOL (target=devnet) - if: github.event.inputs.target == 'devnet' - 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 - # ------ общие: build + test ------ - name: Build program working-directory: program @@ -141,28 +121,28 @@ jobs: export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH" anchor test - # ------ deploy: единый шаг, цель выбирается по input (Gitea: default=our) ------ - - name: Deploy contract (только наш test-validator) + # ------ deploy: ТОЛЬКО в нашу сеть (постоянный Solana-валидатор solana-net) ------ + - name: Deploy contract (только наша сеть solana-net) working-directory: program run: | export PATH="$HOME/solana-local:$HOME/.cargo/bin:$PATH" - 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' \ + RPC=http://192.168.76.181:8899 + echo ">>> Деплой в НАШУ сеть solana-net (RPC $RPC)" + # проверка, что наша сеть жива + for i in $(seq 1 20); do + curl -s $RPC -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' 2>/dev/null | grep -q '"ok"' && break - sleep 1 + echo "ждём сеть ($i)"; sleep 3 done - solana airdrop 100 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \ - --url http://127.0.0.1:8899 || true - solana config set --url http://127.0.0.1:8899 - # Anchor НЕ принимает URL в --provider.cluster; таблица localnet => localhost:8899 - sed -i 's/cluster = "devnet"/cluster = "localnet"/' Anchor.toml + # add SOL нашему ключу через свой faucet (9900) — в нашей сети банкир = дефолт mkdir -p "$HOME/.config/solana" cp ../deploy/dev_smart_updown-keypair.json "$HOME/.config/solana/id.json" - anchor deploy --provider.cluster localnet \ + solana airdrop 100 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf \ + --url $RPC || true + solana balance 9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf --url $RPC + solana config set --url $RPC + # Anchor НЕ принимает URL в --provider.cluster; указываем сеть через [provider] в Anchor.toml + sed -i "s#cluster = \".*\"#cluster = \"$RPC\"#" Anchor.toml + anchor deploy --provider.cluster "$RPC" \ --provider.wallet "$HOME/.config/solana/id.json" - kill $VPD 2>/dev/null || true \ No newline at end of file + echo ">>> ГОТОВО: контракт задеплоен в нашу сеть $RPC" \ No newline at end of file