Skip to content

build a reproducible environment from a lockfile#170

Open
itcarroll wants to merge 36 commits intomainfrom
appendix-lockfile
Open

build a reproducible environment from a lockfile#170
itcarroll wants to merge 36 commits intomainfrom
appendix-lockfile

Conversation

@itcarroll
Copy link
Contributor

@itcarroll itcarroll commented Mar 20, 2026

Description:

Goal of this PR, in conjuction with #169, is to implement building the hub-image without new environment solves while using a stable registry cache for the docker container, and protecting deployment with the "container" environment. Some fixes that could have gone in #169 are implemented here.

  • The build, test, and push workflows define and handle secrets and the deploy environment.
  • Configuration files recognized by repo2docker are moved to ".binder" folder, and repo2docker uses these first. We have ".binder/environment.yml" that exists only to set the buildpack. Mostly these will use the docker registry cache.
  • The root level "environment.yml" is only used to produce "conda-lock.yml". It is not used during the image build.
  • The "appendix" has mamba replace ther notebook environment with "conda-lock.yml"
    • mamba does not need a platform-specific and explicit lockfile, so this is removed
    • using the "appendix" rather than "postBuild" allows separate layers in the registry cache

@github-actions
Copy link

Binder 👈 Test this PR on Binder

@itcarroll
Copy link
Contributor Author

/condalock

Base automatically changed from buildx to main March 23, 2026 03:50
@itcarroll
Copy link
Contributor Author

itcarroll commented Mar 25, 2026

/condalock

EDIT: cancelled

@itcarroll
Copy link
Contributor Author

Trouble is that conda-lock is requesting absurd amounts of memory to perform the lock.

Copy link
Member

@weiji14 weiji14 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trouble is that conda-lock is requesting absurd amounts of memory to perform the lock.

That you can ignore for now since it is orthogonal to what you're doing here. I hit into it ocassionally (e.g. #166 (comment)) and usually need to manually debug on the side (will try to fix it in a separate PR).

@itcarroll
Copy link
Contributor Author

From failing test logs ...

Booting builder
  /usr/bin/docker buildx inspect --bootstrap --builder builder-01af7d35-5485-4a33-b021-0192727222ae
  #1 [internal] booting buildkit
  #1 pulling image moby/buildkit:buildx-stable-1
  #1 pulling image moby/buildkit:buildx-stable-1 0.3s done
  #1 ERROR: Error response from daemon: Head "https://registry-1.docker.io/v2/moby/buildkit/manifests/buildx-stable-1": unauthorized: incorrect username or password

Dunno, that's never occurred before. Hopefully a transient issue with docker registry.

@itcarroll itcarroll marked this pull request as ready for review March 27, 2026 16:03
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