From 9b3fb387c2856f238bf9eec32194d24f08b079dd Mon Sep 17 00:00:00 2001 From: Adam Spitz Date: Thu, 3 Sep 2026 18:38:34 -0400 Subject: [PATCH] Add force_ui dispatch so testnet UI can republish without new contract files. #158 left addresses on master but UI failed on a missing env file. #160 landed the setup-env skip, then skipped UI because only that script changed. Manual dispatch can now publish UI without rotating contracts. --- .github/workflows/deploy-testnet.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-testnet.yml b/.github/workflows/deploy-testnet.yml index 258dc541..64b351c4 100644 --- a/.github/workflows/deploy-testnet.yml +++ b/.github/workflows/deploy-testnet.yml @@ -12,6 +12,10 @@ on: description: Force contract deployment even if no contract files changed type: boolean default: false + force_ui: + description: Force UI publication even if no UI files changed + type: boolean + default: false # Permissions needed for deployment and committing updated addresses permissions: @@ -137,8 +141,10 @@ jobs: exit 0 fi - if git rev-parse HEAD^ >/dev/null 2>&1; then - UI_CHANGED=$(git diff --name-only HEAD^ HEAD | grep -E '^(ui|sdk/docs|hardhat/docs)/|^deployments/base-sepolia\.(env|contracts-manifest\.json)$|^render\.yaml$' || true) + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ inputs.force_ui }}" = "true" ]; then + UI_CHANGED="force-deploy" + elif git rev-parse HEAD^ >/dev/null 2>&1; then + UI_CHANGED=$(git diff --name-only HEAD^ HEAD | grep -E '^(ui|sdk/docs|hardhat/docs)/|^deployments/base-sepolia\.(env|contracts-manifest\.json)$|^render\.yaml$|^scripts/(setup-env|deploy-testnet)\.sh$' || true) else UI_CHANGED="first-commit" fi