Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

available docker tags (no devel?) #890

Closed
KrisThielemans opened this issue Mar 18, 2024 · 8 comments · Fixed by #891
Closed

available docker tags (no devel?) #890

KrisThielemans opened this issue Mar 18, 2024 · 8 comments · Fixed by #891
Assignees
Milestone

Comments

@KrisThielemans
Copy link
Member

I have no idea which tags are available, and it seems ghcr.io doesn't have a search/list facility (or not an obvious one anyway).

The README mentions jupyter and jupyter-gpu, but there is more.

I see core (but maybe this is internal and doesn't need to be documented)

core_image=ghcr.io/synerbi/sirf:core$suffix

although the tag might be different (a bug?)
# tag potentially newer core image
docker tag synerbi/jupyter:scipy-${{ matrix.type }} ${{ steps.pull.outputs.core_image }}

There's a 2 push statements

push: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags') }}

run: docker push ${{ steps.pull.outputs.core_image }}

I see jupyter-devel being created

image=synerbi/sirf:jupyter-devel${{ steps.pull.outputs.suffix }}

But I cannot find a push for the devel image.

Indeed, trying to create a Codespace using jupyter-devel fails https://github.com/SyneRBI/SIRF-Exercises/blob/devel-container/.devcontainer/devcontainer.json

2024-03-18 10:37:06.280Z: Creating container...
2024-03-18 10:37:06.330Z: $ devcontainer up --id-label Type=codespaces --workspace-folder /var/lib/docker/codespacemount/workspace/SIRF-Exercises --mount type=bind,source=/.codespaces/agent/mount/cache,target=/vscode --user-data-folder /var/lib/docker/codespacemount/.persistedshare --container-data-folder .vscode-remote/data/Machine --container-system-data-folder /var/vscode-remote --log-level trace --log-format json --update-remote-user-uid-default never --mount-workspace-git-root false --omit-config-remote-env-from-metadata --skip-non-blocking-commands --skip-post-create --config "/var/lib/docker/codespacemount/workspace/SIRF-Exercises/.devcontainer/devcontainer.json" --override-config /root/.codespaces/shared/merged_devcontainer.json --default-user-env-probe loginInteractiveShell --container-session-data-folder /workspaces/.codespaces/.persistedshare/devcontainers-cli/cache --secrets-file /root/.codespaces/shared/user-secrets-envs.json
2024-03-18 10:37:06.499Z: @devcontainers/cli 0.56.1. Node.js v18.19.0. linux 6.2.0-1019-azure x64.
2024-03-18 10:37:08.312Z: {"outcome":"error","message":"Command failed: docker inspect --type image ghcr.io/synerbi/sirf:jupyter-devel","description":"An error occurred setting up the container."}
2024-03-18 10:37:08.314Z: Error: Command failed: docker inspect --type image ghcr.io/synerbi/sirf:jupyter-devel

https://github.com/SyneRBI/SIRF-SuperBuild/tree/master/docker#docker-stacks mentions synerbi/jupyter:sirf but also synerbi/sirf:latest, which isn't documented anywhere?

By the way,
https://hub.docker.com/r/synerbi/sirf/tags? gives me mostly stuff that is 4 months old, aside from edge and edgegpu. I have no clue what those are.

Looks like, we have to update our CHANGES.md to say that we no longer push to DockerHub and people need to read new instructions.

@KrisThielemans KrisThielemans added this to the v3.6 milestone Mar 18, 2024
@KrisThielemans
Copy link
Member Author

docker run --rm -it -p 9999:8888 --gpus all ghcr.io/synerbi/sirf:jupyter-devel

fails as well. We could presumably say that we don't push the devel image anywhere, which probably reduces confusion. But then an easy line in the doc how to build it would be highly appreciated.

@KrisThielemans
Copy link
Member Author

I see that a PR merge triggers docker builds, where edge images are pushed (somewhere).
https://github.com/SyneRBI/SIRF-SuperBuild/actions/runs/8240707009/job/22536603863#step:11:146

@casperdcl
Copy link
Member

The table at the top of #718 describes the relation between git repo tags and docker image tags.

docker tag SuperBuild branch/tag
latest, latest-gpu latest tag vM.m.p
M, M.m, M.m.p, M-gpu, M.m-gpu, M.m.p-gpu tag vM.m.p
edge, edge-gpu master
only build & test (no tag) CI (current commit)
devel, devel-gpu master with cmake -DDEVEL_BUILD=ON -DBUILD_CIL=ON

I think (similar to https://github.com/TomographicImaging/CIL#docker) we should document this in the README.

TL;DR you need to push a git-tagged release :)

@KrisThielemans
Copy link
Member Author

I think (similar to https://github.com/TomographicImaging/CIL#docker) we should document this in the README.

sure

TL;DR you need to push a git-tagged release :)

"you" = "me"? Doesn't it happen via GitHub Actions?

@casperdcl
Copy link
Member

Yes GHA will do it when a tag is pushed.

@KrisThielemans
Copy link
Member Author

By the way, docker Hub contains edgegpu, not edge-gpu

@KrisThielemans
Copy link
Member Author

oh, and there's no jupyter in the above table :-)

@casperdcl
Copy link
Member

By the way, docker Hub contains edgegpu, not edge-gpu

fixed in #891

oh, and there's no jupyter in the above table :-)

Hmm gewd point. A bit conflicted on this. Discussion in #891

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 a pull request may close this issue.

2 participants