And. That. Is. It.
Add new versions
workflow will create a PR,- A
CODEOWNER
will need to review and approve the PR, - Upon review, the
Validate PR
workflow will run to meet merge requirements, - The PR can be merged after all checks pass,
- Once merged, the
Publish Images
workflow will run:- Validates versions file,
- Prebuild information collection,
- Image's built with docker
buildx
action, - CPU arch specific tags published
Before a PR can be merged it must be:
- Reviewed and Approved by at least 1 user assigned in
CODEOWNERS
, - passing the
Check kubectl release versions
action.
The source for the versions to create the images is in versions.txt
.
This file is maintained by the scheduled add-new-veresions.yml
workflow which automatically looks up new versions and creates a pull request.
Additionally, you can manually add entries to it or manually run the GitHub Actions workflow to create an automatic PR on-demand.
Scripts live in the ./scripts
directory:
add-new-versions.sh
: Checks GitHub releases forkubernetes/kubernetes
with a version regex, checks if the image already exists, and if not, adds it toversions.txt
.check-versions.sh
: Checks if the binaries exists for all architectures for versions inversions.txt
.new-versions.sh
: Compares versions inversions.txt
to filter out new versions intonew-versions.txt
temp file. (Based on existing image versions defined by$EXISTING_VERSIONS
env variable.)
Copyright © 2020 - 2023 SUSE LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.