From 66d4eb81d84c0e265e7f599fc9a0df3c45f86aaa Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Sat, 28 Feb 2026 01:43:32 +0300 Subject: [PATCH] fix(ci): disable forklift RUSTC_WRAPPER in all container jobs The Parity CI Docker image sets RUSTC_WRAPPER=/usr/local/bin/forklift for GCS cache optimization. On our VPS runners without GCP credentials, forklift crashes with nil pointer dereference when trying to create GCS client. The global env RUSTC_WRAPPER="" doesn't reliably propagate into Docker containers. Fix: Add explicit "Disable forklift cache wrapper" step in every container job that runs cargo commands, using $GITHUB_ENV to ensure the empty RUSTC_WRAPPER persists across all steps within the job. Affected workflows: build-publish-images, checks, tests, tests-misc, build-misc, docs (32 container jobs total). --- .github/workflows/build-misc.yml | 6 ++++++ .github/workflows/build-publish-images.yml | 22 ++++++++++++++++++++++ .github/workflows/checks.yml | 6 ++++++ .github/workflows/docs.yml | 4 ++++ .github/workflows/tests-misc.yml | 20 ++++++++++++++++++++ .github/workflows/tests.yml | 6 ++++++ 6 files changed, 64 insertions(+) diff --git a/.github/workflows/build-misc.yml b/.github/workflows/build-misc.yml index 7fc8ae4c..2534767a 100644 --- a/.github/workflows/build-misc.yml +++ b/.github/workflows/build-misc.yml @@ -31,6 +31,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Clean cargo cache to free disk space run: | @@ -70,6 +72,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Check Rust run: | @@ -95,6 +99,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Check Rust run: | diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index 43397aa7..45dd8aec 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -50,6 +50,8 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Configure git safe.directory run: git config --global --add safe.directory '*' + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -105,6 +107,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -141,6 +145,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -179,6 +185,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -218,6 +226,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -258,6 +268,8 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Configure git safe.directory run: git config --global --add safe.directory '*' + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -301,6 +313,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -344,6 +358,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -376,6 +392,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -408,6 +426,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build @@ -437,6 +457,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: build diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index c00fdb91..fa76f7dc 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -38,6 +38,8 @@ jobs: WASM_BUILD_WORKSPACE_HINT: ${{ github.workspace }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8 @@ -68,6 +70,8 @@ jobs: CARGO_TARGET_DIR: /cache/target steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8 @@ -94,6 +98,8 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c6a02d0b..73cbff28 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -34,6 +34,8 @@ jobs: WASM_BUILD_WORKSPACE_HINT: ${{ github.workspace }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -77,6 +79,8 @@ jobs: RUSTDOCFLAGS: "-Dwarnings --default-theme=ayu --html-in-header ./docs/sdk/assets/header.html --extend-css ./docs/sdk/assets/theme.css --html-after-content ./docs/sdk/assets/after-content.html" steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV # Exclude pezkuwi-zombienet-sdk-tests: nested cargo build in build.rs # doesn't inherit workspace patches. See test-doc job comment. diff --git a/.github/workflows/tests-misc.yml b/.github/workflows/tests-misc.yml index 6a4f6e3b..88062cc9 100644 --- a/.github/workflows/tests-misc.yml +++ b/.github/workflows/tests-misc.yml @@ -37,6 +37,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: script run: | @@ -61,6 +63,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -88,6 +92,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -120,6 +126,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -156,10 +164,14 @@ jobs: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: + # if branch is main, use the branch, otherwise set empty string, so it uses the current context # either PR (including forks) or merge group (main repo) ref: ${{ matrix.branch == 'main' && matrix.branch || '' }} + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV + - name: script shell: bash run: | @@ -260,6 +272,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -302,6 +316,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: script run: | @@ -318,6 +334,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none @@ -386,6 +404,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6523df49..a73b2bb8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -38,6 +38,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8 @@ -63,6 +65,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Install wasm32v1-none target run: rustup target add wasm32v1-none - name: script @@ -90,6 +94,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Disable forklift cache wrapper + run: echo "RUSTC_WRAPPER=" >> $GITHUB_ENV - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8