ghaction-setup-docker icon indicating copy to clipboard operation
ghaction-setup-docker copied to clipboard

chore: migrate to docker org

Open crazy-max opened this issue 2 years ago • 6 comments

Similar to https://github.com/docker/login-action/pull/3

Make this action official and move it to docker org: docker/setup-docker-action.

cc @chris-crone @thaJeztah @neersighted

crazy-max avatar Sep 13 '23 07:09 crazy-max

SGTM

perhaps for a follow-up, we may want to add a bit more details to the README to explain why someone would use this (because Docker is also available by default), so perhaps we should include some scenarios where this action could help (and scenarios where users can "keep it simple" and use the default).

thaJeztah avatar Sep 13 '23 10:09 thaJeztah

There's several aspects of the existing code I'm not sure about; this is incomplete, but here's some that jump out:

  • The release manifest is updated manually, and contains the GH release URL which is not very useful/relevant.
    • There are too many manual steps/points of failure here; this should either leverage existing infrastructure for discovery, or we should improve that infrastructure.
  • The actual download URL is constructed on the fly from the version tag from the manifest, but also from a template.
    • What do you think about offering a manifest.json on download.docker.com/*/static to improve this?
  • Inline PowerShell is pretty hard to maintain, and we should think about a better setup/OOBE for the Windows binaries.
    • What if we included the setup (PowerShell) script with the Windows static binaries?

neersighted avatar Sep 13 '23 21:09 neersighted

The release manifest is updated manually, and contains the GH release URL which is not very useful/relevant.

This is automated by GHA (https://github.com/docker/actions-toolkit/pull/166) but manually approved atm. We need this to avoid users being rate-limited by the GitHub API when checking releases anonymously so we just depend on raw.githubusercontent.com (see https://github.com/docker/buildx/pull/1563).

But I agree that it would be better to rely on smth provided by download.docker.com.

What do you think about offering a manifest.json on download.docker.com/*/static to improve this?

Yes sounds good!

What if we included the setup (PowerShell) script with the Windows static binaries

Yes indeed that's pretty hacky atm in the toolkit for Windows. A contrib dir with scripts along the win binaries could work :+1:.

crazy-max avatar Sep 14 '23 12:09 crazy-max

perhaps for a follow-up, we may want to add a bit more details to the README to explain why someone would use this (because Docker is also available by default), so perhaps we should include some scenarios where this action could help (and scenarios where users can "keep it simple" and use the default).

Actions README are minimal and mostly technical. Use cases are on https://docs.docker.com/build/ci/github-actions/ but I agree we should have smth for this action there as well. This reminds me we should do smth for the metadata-action that has a pretty huge README.

crazy-max avatar Sep 14 '23 12:09 crazy-max

Yeah, it's mostly that I want to avoid users starting to use this action when they don't need to .. at all. So if we could have a short description "this is why you should use it (or not!)" would probably be a nice thing to have

(not a blocker, obviously)

thaJeztah avatar Sep 14 '23 13:09 thaJeztah

Yeah, it's mostly that I want to avoid users starting to use this action when they don't need to .. at all. So if we could have a short description "this is why you should use it (or not!)" would probably be a nice thing to have

(not a blocker, obviously)

Added a note:

image

crazy-max avatar Oct 12 '23 14:10 crazy-max