ci(validate): init cross-chain-pmm-lps so validation gate passes
Some checks failed
AI Code Review / claude-review (pull_request) Failing after 42s
Validate (PR) / run-all-validation (pull_request) Has been cancelled

The validate job in deploy-to-phoenix.yml (and validate-on-pr.yml) relies on
cross-chain-pmm-lps/config/*.json for the cW* mesh matrix and deployment
rules checks, but actions/checkout@v4 does not initialize submodules.
.gitmodules mixes Gitea HTTPS and git@github.com: SSH URLs, so blanket
'submodules: recursive' isn't safe on the runner either.

- Add a pre-step to each validate job that shallow-clones
  https://gitea.d-bis.org/d-bis/cross-chain-pmm-lps.git into
  ./cross-chain-pmm-lps/ when deployment-status.json isn't present.
  Idempotent: no-op on hosts that already have the submodule.
- Harden run-all-validation.sh step 3/3b to degrade gracefully with a
  clear skip message when deployment-status.json is absent, so local
  runs without the submodule don't false-fail.

Fixes the pre-existing validation failure (runs 132-137) that was
blocking the new deploy-atomic-swap-dapp job from triggering.
This commit is contained in:
2026-04-22 20:55:48 +00:00
parent dc123ff647
commit 984ea9a6d8
3 changed files with 31 additions and 4 deletions

View File

@@ -12,6 +12,21 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Materialize cross-chain-pmm-lps (config only)
run: |
set -euo pipefail
# The cw* mesh matrix and deployment-status validators read
# cross-chain-pmm-lps/config/*.json. That submodule uses mixed
# SSH/HTTPS remotes, so instead of recursing submodules (which
# would fail on git@github.com: URLs without a deploy key),
# we shallow-clone the Gitea mirror for config reads only.
if [ ! -f cross-chain-pmm-lps/config/deployment-status.json ]; then
rm -rf cross-chain-pmm-lps
git clone --depth=1 \
https://gitea.d-bis.org/d-bis/cross-chain-pmm-lps.git \
cross-chain-pmm-lps
fi
- name: Run repo validation gate
run: |
bash scripts/verify/run-all-validation.sh --skip-genesis

View File

@@ -12,5 +12,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Materialize cross-chain-pmm-lps (config only)
run: |
set -euo pipefail
if [ ! -f cross-chain-pmm-lps/config/deployment-status.json ]; then
rm -rf cross-chain-pmm-lps
git clone --depth=1 \
https://gitea.d-bis.org/d-bis/cross-chain-pmm-lps.git \
cross-chain-pmm-lps
fi
- name: run-all-validation (no LAN, no genesis)
run: bash scripts/verify/run-all-validation.sh --skip-genesis

View File

@@ -41,22 +41,25 @@ echo ""
echo "3. cW* mesh matrix (deployment-status + Uni V2 pair-discovery)..."
DISCOVERY_JSON="$PROJECT_ROOT/reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json"
if [[ -f "$DISCOVERY_JSON" ]]; then
PMM_STATUS="$PROJECT_ROOT/cross-chain-pmm-lps/config/deployment-status.json"
if [[ -f "$DISCOVERY_JSON" && -f "$PMM_STATUS" ]]; then
MATRIX_JSON="$PROJECT_ROOT/reports/status/cw-mesh-deployment-matrix-latest.json"
bash "$SCRIPT_DIR/build-cw-mesh-deployment-matrix.sh" --no-markdown --json-out "$MATRIX_JSON" || log_err "cw mesh matrix merge failed"
log_ok "cW mesh matrix OK (also wrote $MATRIX_JSON)"
else
elif [[ ! -f "$DISCOVERY_JSON" ]]; then
echo " ($DISCOVERY_JSON missing — run: bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh)"
else
echo " ($PMM_STATUS missing — cross-chain-pmm-lps submodule not initialized; skip)"
fi
echo ""
echo "3b. deployment-status graph (cross-chain-pmm-lps)..."
PMM_VALIDATE="$PROJECT_ROOT/cross-chain-pmm-lps/scripts/validate-deployment-status.cjs"
if [[ -f "$PMM_VALIDATE" ]] && command -v node &>/dev/null; then
if [[ -f "$PMM_VALIDATE" && -f "$PMM_STATUS" ]] && command -v node &>/dev/null; then
node "$PMM_VALIDATE" || log_err "validate-deployment-status.cjs failed"
log_ok "deployment-status.json rules OK"
else
echo " (skip: node or $PMM_VALIDATE missing)"
echo " (skip: node, $PMM_VALIDATE, or $PMM_STATUS missing)"
fi
echo ""