Closed nickboldt closed 3 years ago
It would be cool if we had a job that ran every night and checked that the digests in the base_images file are valid. That way we don't need to wait until release time to find out an image was deleted/moved etc.
IMAGES_LIST array in the above sample code can be created from content in https://github.com/eclipse-che/che-devfile-registry/blob/master/arbitrary-users-patch/base_images ... every item in the left column maps to quay.io/eclipse/
[image here]:
[Che-release-tag]
checked that the digests in the base_images file are valid
What if we just regen the file and if a change is found, a PR is submitted?
Discussed this on 4/21, and @mkuznyetsov agreed to open a new issue for this work as a followup task to this issue, which should be resolved as of the 7.29.1 release.
additional PR https://github.com/eclipse-che/che-devfile-registry/pull/375 needed to fix missing script variable, wrong path to base images file, and avoid 20 sec waits before each check.
Also made the checks run in parallel instead of sequentially because hey, might as well go fast fast fast, right ?
2021-04-22T14:27:11.1831289Z [1/3] Verify quay.io/eclipse/che-java11-maven:7.29.1 exists...
2021-04-22T14:27:11.1832126Z [1/3] Verify quay.io/eclipse/che-java8-maven:7.29.1 exists...
2021-04-22T14:27:11.1833005Z [1/3] Verify quay.io/eclipse/che-nodejs10-community:7.29.1 exists...
2021-04-22T14:27:11.1833932Z [1/3] Verify quay.io/eclipse/che-nodejs12-community:7.29.1 exists...
2021-04-22T14:27:11.1834803Z [1/3] Verify quay.io/eclipse/che-nodejs10-ubi:7.29.1 exists...
2021-04-22T14:27:11.1835641Z [1/3] Verify quay.io/eclipse/che-nodejs8-centos:7.29.1 exists...
2021-04-22T14:27:11.1836456Z [1/3] Verify quay.io/eclipse/che-php-7:7.29.1 exists...
2021-04-22T14:27:11.1837238Z [1/3] Verify quay.io/eclipse/che-python-3.8:7.29.1 exists...
2021-04-22T14:27:11.1838028Z [1/3] Verify quay.io/eclipse/che-quarkus:7.29.1 exists...
2021-04-22T14:27:11.1838797Z [1/3] Verify quay.io/eclipse/che-rust-1.39:7.29.1 exists...
...
2021-04-22T14:27:11.9169554Z + echo '[INFO] Found quay.io/eclipse/che-cpp-rhel7:7.29.1 (tag = 7.29.1)'
...
Followup in https://github.com/eclipse/che/issues/19660
Is your task related to a problem? Please describe.
As seen in https://github.com/eclipse/che/issues/19486 we had a situation w/ multiarch sidecar & happy path builds where...
the build failed to create the containers because not all arches requested to be built exist for the base images from which we're building...
despite failing to create sidecars, the devfile registry GH action thought all was well, and merrily reported success.
Describe the solution you'd like
We did a couple quickfixes today:
Quickfix to remove multiarch with
buildx
: https://github.com/eclipse-che/che-devfile-registry/commit/65a109f8793ad98a564f5a972c16556b953d36c4Quickfix to throw error if make-release.sh fails: https://github.com/eclipse-che/che-devfile-registry/commit/ee4dbcb0f74b7fef21ddd00c4d1f2b4af3d45778
(needs validation -- we should have seen build failures for nightlies for the last week?)
But what we really need is a full validation of 'do the containers I need in the registry exist, and do the tags I expect also exist', like we do for other containers, eg., like this:
-- https://github.com/eclipse/che-release/blob/master/make-release.sh#L271-L286
Additional context
To compute a list of sidecar base images for the Che devfile registry, and then vet them for which arches they support:
Output (where null = single arch, likely just amd64):