Skip to content

Commit c10040b

Browse files
OrKoNfoolip
andauthored
RFC 198: Move the container image from Docker Hub to GitHub Registry (#198)
--------- Co-authored-by: Philip Jägenstedt <[email protected]>
1 parent ae47868 commit c10040b

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

rfcs/docker_github_registry.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# RFC 198: Move the container image from Docker Hub to GitHub Registry
2+
3+
## Summary
4+
5+
This RFC proposes moving the container image from Docker Hub to GitHub Registry.
6+
7+
## Details
8+
9+
This RFC addresses the issue
10+
[#28903](https://github.com/web-platform-tests/wpt/issues/28903). Docker Hub
11+
organization allows for a limited number of members and only a few members can
12+
publish a new Docker image that sometimes results in the Docker image that is
13+
used in taskcluster being outdated as documented in [this PR](https://github.com/web-platform-tests/wpt/pull/44576#issue-2133724788).
14+
15+
The following are the benefits of using the GitHub registry for hosting:
16+
17+
- It is [hosted on GitHub](https://github.com/web-platform-tests/wpt/packages) together with the wpt repository.
18+
- Publishing is possible [via GitHub Actions](https://github.com/web-platform-tests/wpt/blob/master/.github/workflows/docker.yml):
19+
20+
- The workflow can be manually invoked,
21+
- or it can be further automated to deploy any changes that land.
22+
23+
- We can take the opportunity to change the versioning scheme to use integer numbers.
24+
25+
The following PR implements changes to use the image from GitHub registry
26+
instead of the Docker Hub one
27+
https://github.com/web-platform-tests/wpt/pull/46279 including modifications to
28+
tools/docker/frontend.py.
29+
30+
This RFC also proposes to change the version numbers to be integers starting
31+
with `1`.
32+
33+
### Permissions
34+
35+
The following permissions shall apply to publishing of the image and Dockerfile changes:
36+
37+
* Registry permissions (**this part needs to be configured by the project admin on [this page](https://github.com/orgs/web-platform-tests/packages/container/wpt/settings)**):
38+
* Default inheritance of permissions from the repository should be disabled and the access needs to be provided to:
39+
* The [admin](https://github.com/orgs/web-platform-tests/teams/admins) team
40+
* The [core](https://github.com/orgs/web-platform-tests/teams/wpt-core-team) team
41+
* the github workflows ([docs](https://docs.github.com/en/packages/learn-github-packages/about-permissions-for-github-packages#maintaining-access-to-packages-in-github-actions-workflows))
42+
43+
* `Dockerfile` and `.taskcluster.yml` changes
44+
* Use CODEOWNERS to require reviews for changes in these files from the admins and core teams.
45+
46+
### Download time
47+
48+
We measured the download time for Docker Hub and Github from a TaskCluster job
49+
and didn't see any regression (both jobs took approx ~48 seconds).
50+
51+
## Risks
52+
53+
Users of the current image hosted at Docker Hub would need to update the image
54+
name from `webplatformtests/wpt:0.57` to `ghcr.io/web-platform-tests/wpt:1` (or
55+
whatever is the latest version). The GitHub Registry image is publicly available
56+
like the Docker Hub one but there could be some friction with the update
57+
depending on the user's setup.

0 commit comments

Comments
 (0)