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

Put shared images in both GitHub Container Registry and DockerHub #54

Merged
merged 1 commit into from
Aug 22, 2023

Conversation

SeanTAllen
Copy link
Member

We are going to transition away from DockerHub as the open source plan limits the number of admin users we can have. This means that in addition to having to maintain different access lists (GitHub and DockerHub) for committers, we also have to juggle committer access on DockerHub as we can't ever have more than 3 accounts.

This commit updates all our existing builders to push to both GitHub Container Registry and DockerHub. I did the changes in a way that will make it easy to delete large chunks of the build-and-push scripts once we drop DockerHub.

All action jobs that logged in to DockerHub have a corresponding login to GitHub Container Registry added as well. Once we transition, the DockerHub login steps can be deleted.

This commit also adds steps to delete untagged images for ones that are updated daily with "nightly" or "release" tags. Once we have a new nightly builder of image "X", we don't need to keep the old images around. Keeping them around will really clutter up the UI. Given that an image might be in the process of being pulled elsewhere, we keep around 1 copy of each to avoid "ships passing in the night" errors.

The actionlint image has already been manually generated and is in GitHub Container Registry. All the other images are created on release or for each nightly. Once the first image is added, I will have to manually go into the GitHub UI and set the images as "public" for visibility so that people who aren't part of the ponylang organization can see and use them. This is a one-time step that has to be done when the first instance of an image is pushed.

@SeanTAllen SeanTAllen requested a review from a team August 22, 2023 15:42
@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Aug 22, 2023
We are going to transition away from DockerHub as the open source plan
limits the number of admin users we can have. This means that in addition
to having to maintain different access lists (GitHub and DockerHub) for
committers, we also have to juggle committer access on DockerHub as we
can't ever have more than 3 accounts.

This commit updates all our existing builders to push to both GitHub Container
Registry and DockerHub. I did the changes in a way that will make it easy to
delete large chunks of the build-and-push scripts once we drop DockerHub.

All action jobs that logged in to DockerHub have a corresponding login to
GitHub Container Registry added as well. Once we transition, the DockerHub
login steps can be deleted.

This commit also adds steps to delete untagged images for ones that are updated
daily with "nightly" or "release" tags. Once we have a new nightly builder of
image "X", we don't need to keep the old images around. Keeping them around
will really clutter up the UI. Given that an image might be in the process
of being pulled elsewhere, we keep around 1 copy of each to avoid "ships
passing in the night" errors.

The actionlint image has already been manually generated and is in GitHub
Container Registry. All the other images are created on release or for each
nightly. Once the first image is added, I will have to manually go into the
GitHub UI and set the images as "public" for visibility so that people who
aren't part of the ponylang organization can see and use them. This is a
one-time step that has to be done when the first instance of an image is
pushed.
@SeanTAllen SeanTAllen merged commit 924cd3a into main Aug 22, 2023
13 checks passed
@SeanTAllen SeanTAllen deleted the start-transition-to-ghcr-io branch August 22, 2023 18:19
@ponylang-main ponylang-main removed the discuss during sync Should be discussed during an upcoming sync label Aug 22, 2023
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.

3 participants