Skip to content

Conversation

appe233
Copy link

@appe233 appe233 commented Sep 7, 2025

As I proposed in the discussion, here is the change to implement multi-stage build to build the container. The building precess is done in a single Containerfile.

The Containerfile contains two stages:

  1. It uses docker.io/wolframresearch/wolframengine image to fetch all dependencies.
  2. It uses wolframresearch/wolframengine:14.2 as the base image and copies all dependencies from the first container.

The container/Containerfile and .github/workflows/container-publish.yml is modified.

As I do not have the license, I cannot test this by myself, so this is a draft PR.

@appe233 appe233 marked this pull request as draft September 7, 2025 02:31
@JerryI
Copy link
Member

JerryI commented Sep 7, 2025

Thanks!
PS: The license for Wolfram Engine is free, it only requires registration via email. One can go directly to https://www.wolfram.com/engine/ and then you will be prompted to create an account (one can use temp-mail for that)

@JerryI
Copy link
Member

JerryI commented Sep 7, 2025

Hm... It looks like I can't run gh actions on forks to test it.

If you try to test it, a few secrets should be provided:

  • WOLFRAM_LICENSE_ENTITLEMENT_ID
  • GITHUB_TOKEN

to get the first one after creating your Wolfram Account you need to execute the expression:

CreateLicenseEntitlement[<|
    "StandardKernelLimit" -> 6, 
    "LicenseExpiration" -> Quantity[1, "Hours"], 
    "EntitlementExpiration" -> Quantity[1, "Years"]
|>][[1]]

It can be done locally, or using an empty notebook on Wolfram Cloud.

@appe233 appe233 force-pushed the multi-stage-container-build branch from 02849db to c471a6a Compare September 8, 2025 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants