From 0b811d689062b772af2c2d867606605291860d0f Mon Sep 17 00:00:00 2001 From: Marcus Messer Date: Mon, 27 Jul 2026 13:02:19 +0100 Subject: [PATCH] Stop depending on WolframResearch actions' hardcoded wolframengine image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The org's Wolfram license is issued for Wolfram Web Engine (jonmcloone/wwe), not the plain "Wolfram Engine" product the official wolframresearch/wolframengine image represents, so the previous password activation attempt against that image was never going to work — a WWE key doesn't activate a different Wolfram product's kernel. Since WolframResearch/{build,check,test,submit}-paclet bake wolframresearch/wolframengine:latest into their own action Dockerfile, we can't just point them at a different base image. Instead, run jobs in jonmcloone/wwe:LabJul1 (the image already proven to license correctly for this org, per evaluation-function-base/wolfram) and drive the same underlying tooling directly: git-clone Wolfram`PacletCICD` (pinned to v0.36.0, matching the version already configured) instead of installing it via PacletInstall from a release URL, then run each action's own build/check/test/submit driver .wls script (cloned from the action repo at the pinned v1.11.0 tag) via wolframscript, replicating main.sh's INPUT_* env vars and exit-code handling. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_011UdYbWushFRZ3RoRBeU6qw --- .github/workflows/build.yml | 29 ++++++++++--- .github/workflows/submit.yml | 79 +++++++++++++++++++++++++++++------- 2 files changed, 87 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 238fb47..d11cb00 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,6 @@ on: env: RESOURCE_PUBLISHER_TOKEN: ${{ secrets.RESOURCE_PUBLISHER_TOKEN }} - WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }} WLPR_PACLET_SITE: https://resources.wolframcloud.com/PacletRepository/pacletsite jobs: @@ -17,7 +16,7 @@ jobs: name: Build runs-on: ubuntu-latest container: - image: wolframresearch/wolframengine:latest + image: jonmcloone/wwe:LabJul1 options: --user root env: WOLFRAM_SYSTEM_ID: Linux-x86-64 @@ -42,11 +41,29 @@ jobs: EOF fi + - name: Install build tooling + run: | + apt-get update && apt-get install -y --no-install-recommends git ca-certificates + git clone --depth 1 --branch v0.36.0 https://github.com/WolframResearch/PacletCICD.git /tmp/PacletCICD + git clone --depth 1 --branch v1.11.0 https://github.com/WolframResearch/build-paclet.git /tmp/build-paclet + wolframscript -code 'PacletDirectoryAdd["/tmp/PacletCICD"]; Needs["Wolfram`PacletCICD`"]; Print["Loaded PacletCICD from: ", FindFile["Wolfram`PacletCICD`"]]' + - name: Build - uses: WolframResearch/build-paclet@v1.11.0 - with: - target: Build - paclet_cicd_version: 0.36.0 + env: + INPUT_TARGET: Build + INPUT_CHECK: "true" + INPUT_DEBUG: "false" + INPUT_DEFINITION_NOTEBOOK: ./ResourceDefinition.nb + INPUT_PACLET_CICD_VERSION: "0.36.0" + INPUT_RESOURCE_SYSTEM_BASE: https://www.wolframcloud.com/obj/resourcesystem/api/1.0 + run: | + wolframscript -file /tmp/build-paclet/src/build_paclet.wls + WS_EXIT_CODE=$? + if [ "$WS_EXIT_CODE" -eq 139 ]; then + echo "::warning::Warning: wolframscript did not exit cleanly" + elif [ "$WS_EXIT_CODE" -ne 0 ]; then + exit "$WS_EXIT_CODE" + fi - name: UploadArtifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/submit.yml b/.github/workflows/submit.yml index 7c2c9a9..693b266 100644 --- a/.github/workflows/submit.yml +++ b/.github/workflows/submit.yml @@ -8,7 +8,6 @@ on: env: RESOURCE_PUBLISHER_TOKEN: ${{ secrets.RESOURCE_PUBLISHER_TOKEN }} - WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }} WLPR_PACLET_SITE: https://resources.wolframcloud.com/PacletRepository/pacletsite jobs: @@ -16,7 +15,7 @@ jobs: name: Check runs-on: ubuntu-latest container: - image: wolframresearch/wolframengine:latest + image: jonmcloone/wwe:LabJul1 options: --user root env: WOLFRAM_SYSTEM_ID: Linux-x86-64 @@ -41,11 +40,28 @@ jobs: EOF fi + - name: Install build tooling + run: | + apt-get update && apt-get install -y --no-install-recommends git ca-certificates + git clone --depth 1 --branch v0.36.0 https://github.com/WolframResearch/PacletCICD.git /tmp/PacletCICD + git clone --depth 1 --branch v1.11.0 https://github.com/WolframResearch/check-paclet.git /tmp/check-paclet + wolframscript -code 'PacletDirectoryAdd["/tmp/PacletCICD"]; Needs["Wolfram`PacletCICD`"]; Print["Loaded PacletCICD from: ", FindFile["Wolfram`PacletCICD`"]]' + - name: Check - uses: WolframResearch/check-paclet@v1.11.0 - with: - target: Submit - paclet_cicd_version: 0.36.0 + env: + INPUT_TARGET: Submit + INPUT_DEBUG: "false" + INPUT_DEFINITION_NOTEBOOK: ./ResourceDefinition.nb + INPUT_PACLET_CICD_VERSION: "0.36.0" + INPUT_RESOURCE_SYSTEM_BASE: https://www.wolframcloud.com/obj/resourcesystem/api/1.0 + run: | + wolframscript -file /tmp/check-paclet/src/check_paclet.wls + WS_EXIT_CODE=$? + if [ "$WS_EXIT_CODE" -eq 139 ]; then + echo "::warning::Warning: wolframscript did not exit cleanly" + elif [ "$WS_EXIT_CODE" -ne 0 ]; then + exit "$WS_EXIT_CODE" + fi # - name: UploadWorkflowValues # if: always() && env.PACLET_WORKFLOW_VALUES @@ -59,7 +75,7 @@ jobs: name: Test runs-on: ubuntu-latest container: - image: wolframresearch/wolframengine:latest + image: jonmcloone/wwe:LabJul1 options: --user root env: WOLFRAM_SYSTEM_ID: Linux-x86-64 @@ -84,11 +100,28 @@ jobs: EOF fi + - name: Install build tooling + run: | + apt-get update && apt-get install -y --no-install-recommends git ca-certificates + git clone --depth 1 --branch v0.36.0 https://github.com/WolframResearch/PacletCICD.git /tmp/PacletCICD + git clone --depth 1 --branch v1.11.0 https://github.com/WolframResearch/test-paclet.git /tmp/test-paclet + wolframscript -code 'PacletDirectoryAdd["/tmp/PacletCICD"]; Needs["Wolfram`PacletCICD`"]; Print["Loaded PacletCICD from: ", FindFile["Wolfram`PacletCICD`"]]' + - name: Test - uses: WolframResearch/test-paclet@v1.11.0 - with: - target: Submit - paclet_cicd_version: 0.36.0 + env: + INPUT_TARGET: Submit + INPUT_DEBUG: "false" + INPUT_DEFINITION_NOTEBOOK: ./ResourceDefinition.nb + INPUT_PACLET_CICD_VERSION: "0.36.0" + INPUT_RESOURCE_SYSTEM_BASE: https://www.wolframcloud.com/obj/resourcesystem/api/1.0 + run: | + wolframscript -file /tmp/test-paclet/src/test_paclet.wls + WS_EXIT_CODE=$? + if [ "$WS_EXIT_CODE" -eq 139 ]; then + echo "::warning::Warning: wolframscript did not exit cleanly" + elif [ "$WS_EXIT_CODE" -ne 0 ]; then + exit "$WS_EXIT_CODE" + fi # - name: UploadWorkflowValues # if: always() && env.PACLET_WORKFLOW_VALUES @@ -103,7 +136,7 @@ jobs: needs: [check, test] runs-on: ubuntu-latest container: - image: wolframresearch/wolframengine:latest + image: jonmcloone/wwe:LabJul1 options: --user root env: WOLFRAM_SYSTEM_ID: Linux-x86-64 @@ -128,10 +161,26 @@ jobs: EOF fi + - name: Install build tooling + run: | + apt-get update && apt-get install -y --no-install-recommends git ca-certificates + git clone --depth 1 --branch v0.36.0 https://github.com/WolframResearch/PacletCICD.git /tmp/PacletCICD + git clone --depth 1 --branch v1.11.0 https://github.com/WolframResearch/submit-paclet.git /tmp/submit-paclet + wolframscript -code 'PacletDirectoryAdd["/tmp/PacletCICD"]; Needs["Wolfram`PacletCICD`"]; Print["Loaded PacletCICD from: ", FindFile["Wolfram`PacletCICD`"]]' + - name: Submit - uses: WolframResearch/submit-paclet@v1.11.0 - with: - paclet_cicd_version: 0.36.0 + env: + INPUT_DEFINITION_NOTEBOOK: ./ResourceDefinition.nb + INPUT_PACLET_CICD_VERSION: "0.36.0" + INPUT_RESOURCE_SYSTEM_BASE: https://www.wolframcloud.com/obj/resourcesystem/api/1.0 + run: | + wolframscript -file /tmp/submit-paclet/src/submit_paclet.wls + WS_EXIT_CODE=$? + if [ "$WS_EXIT_CODE" -eq 139 ]; then + echo "::warning::Warning: wolframscript did not exit cleanly" + elif [ "$WS_EXIT_CODE" -ne 0 ]; then + exit "$WS_EXIT_CODE" + fi - name: UploadArtifact uses: actions/upload-artifact@v4