SyneRBI / SIRF-SuperBuild

SIRF CMake SuperBuild
http://www.ccpsynerbi.ac.uk
Apache License 2.0
15 stars 17 forks source link

available docker tags (no devel?) #890

Closed KrisThielemans closed 3 months ago

KrisThielemans commented 3 months ago

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) https://github.com/SyneRBI/SIRF-SuperBuild/blob/fd4e9720965f846889e468eb938c88e5805ff5d3/.github/workflows/docker.yml#L81 although the tag might be different (a bug?) https://github.com/SyneRBI/SIRF-SuperBuild/blob/fd4e9720965f846889e468eb938c88e5805ff5d3/.github/workflows/docker.yml#L94-L95

There's a 2 push statements https://github.com/SyneRBI/SIRF-SuperBuild/blob/fd4e9720965f846889e468eb938c88e5805ff5d3/.github/workflows/docker.yml#L107 https://github.com/SyneRBI/SIRF-SuperBuild/blob/fd4e9720965f846889e468eb938c88e5805ff5d3/.github/workflows/docker.yml#L112

I see jupyter-devel being created https://github.com/SyneRBI/SIRF-SuperBuild/blob/fd4e9720965f846889e468eb938c88e5805ff5d3/.github/workflows/docker.yml#L176 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 commented 3 months ago
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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

Yes GHA will do it when a tag is pushed.

KrisThielemans commented 3 months ago

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

KrisThielemans commented 3 months ago

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

casperdcl commented 3 months ago

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