docker-node icon indicating copy to clipboard operation
docker-node copied to clipboard

Add Jenkins/Build Badge for upstream official image status

Open nschonni opened this issue 1 year ago • 2 comments

Problem

We often have people ask when why images or architectures are missing

Solution

Add a build badge or badges to the Official Images jenkins status of the Node.js jobs

Alternatives to Consider

Maybe having the build badges on the README would be confusing, because that date might end up on the Docker Hub, and maybe pointing to the links from the Issue Template picker might work instead.

/cc @yosifkit @LaurentGoderre

nschonni avatar May 29 '24 20:05 nschonni

The current builds of node could work like we have in our repos: https://github.com/docker-library/golang/#:~:text=images%20repository.-,Build,-Status. But we are actively in the process of migrating to a new way of building that is no longer repo job based and so those links would be misleading (or broken) once we move node to the new build system.

The new build system is a bit more complex as there isn't one view of a repo anymore; it is all just architecture based (and complicated by some arches being a Github Actions yml that is triggered by Jenkins). Feel free to explore here: https://doi-janky.infosiftr.net/job/wip/job/new/; it is still a bit in flux.

Rough flow of jobs:

  • meta calculates what can and needs to build
  • trigger-[arch] jobs use that data to make a queue of things to build for that arch and then triggers and waits for build-[arch] to build a single image (thus processing its queue)
    • images are not pushed to [arch]/[repo] at this stage but to an intermediate staging repo (not really for public consumption, images are tagged by a "build id" and not discoverable by original repo name)
  • deploy-[arch] coordinates pushing the built images from that staging repo to the arch+repo specific namespace on Docker Hub (amd64/[repo], e.g. https://hub.docker.com/r/amd64/node/)
  • (unchanged from "old" build system) our put-shared jobs (per repo, e.g. node) brings together items pushed to the arch specific namespaces to create the "image index" in library/[repo] (e.g. https://hub.docker.com/_/node)

yosifkit avatar May 30 '24 17:05 yosifkit

Thanks! I think we can keep this one open and wait for your new system to be implemented. I guess the other place that it could be posted to is the comment that is left after an upstream PR is created https://github.com/nodejs/docker-node/blob/main/.github/workflows/official-pr.yml

nschonni avatar May 30 '24 23:05 nschonni