diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 876940668c..96be0e980a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -463,7 +463,12 @@ jobs: if: failure() with: name: ${{ matrix.chain }}-ts-tests-artifact - path: /tmp/parachain_dev/ + # Only log/spec files, NOT the downloaded relay binaries: the `polkadot` binary + # has no owner read bit, so archiving the whole dir fails the zip with EACCES and + # loses all logs. Globs below match readable text only. + path: | + /tmp/parachain_dev/**/*.log + /tmp/parachain_dev/**/*.json if-no-files-found: ignore retention-days: 3 diff --git a/.github/workflows/create-release-draft.yml b/.github/workflows/create-release-draft.yml index 0180856cfe..fa915bb944 100644 --- a/.github/workflows/create-release-draft.yml +++ b/.github/workflows/create-release-draft.yml @@ -249,8 +249,14 @@ jobs: if: ${{ failure() }} with: name: ${{ matrix.chain }}-ts-tests-artifacts - path: /tmp/parachain_dev/ + # Only the log/spec files, NOT the downloaded relay binaries: the `polkadot` + # binary is written without an owner read bit, so archiving the whole dir fails + # the zip with EACCES and we lose all logs. Globs below are readable text only. + path: | + /tmp/parachain_dev/**/*.log + /tmp/parachain_dev/**/*.json retention-days: 3 + if-no-files-found: warn - name: Dockerhub login uses: docker/login-action@v4 diff --git a/parachain/scripts/launch-network.sh b/parachain/scripts/launch-network.sh index d27a1ba1a4..dbee610feb 100755 --- a/parachain/scripts/launch-network.sh +++ b/parachain/scripts/launch-network.sh @@ -80,7 +80,12 @@ fi print_divider echo "launching zombienet network (in background), dir = $ZOMBIENET_DIR ..." -nohup $ZOMBIENET_BIN -d $ZOMBIENET_DIR -l silent spawn config.toml > /dev/null 2>&1 & +# Log at `text` (not `silent`) and keep the orchestrator output in a file so it is captured +# by CI's "Archive logs if test fails" step. Write it as a sibling of the zombienet dir +# (NOT inside it — zombienet requires `-d` to be a fresh/absent directory and pre-creating +# it breaks spawn). Per-node logs still land in $ZOMBIENET_DIR/*.log. +# (`-l` accepts only table|text|silent; `text` is the plain-text verbose mode.) +nohup $ZOMBIENET_BIN -d $ZOMBIENET_DIR -l text spawn config.toml > "$HEIMA_DIR/zombienet-$ZOMBIENET_DIR.log" 2>&1 & cd "$ROOTDIR/parachain/ts-tests"