149 lines
7.5 KiB
YAML
149 lines
7.5 KiB
YAML
name: "update-iso-image-versions"
|
|
on:
|
|
workflow_dispatch:
|
|
env:
|
|
GOPROXY: https://proxy.golang.org
|
|
GO_VERSION: '1.22.1'
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
update-all:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b
|
|
- uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
- name: Bump versions
|
|
id: bumpVersions
|
|
run: |
|
|
OLD_BUILDKIT=$(DEP=buildkit make get-dependency-version)
|
|
OLD_CNI_PLUGINS=$(DEP=cni-plugins make get-dependency-version)
|
|
OLD_CONTAINERD=$(DEP=containerd make get-dependency-version)
|
|
OLD_CRIO=$(DEP=cri-o make get-dependency-version)
|
|
OLD_CRICTL=$(DEP=crictl make get-dependency-version)
|
|
OLD_CRUN=$(DEP=crun make get-dependency-version)
|
|
OLD_DOCKER=$(DEP=docker make get-dependency-version)
|
|
OLD_GO=$(DEP=go make get-dependency-version)
|
|
OLD_NERDCTL=$(DEP=nerdctl make get-dependency-version)
|
|
OLD_NERDCTLD=$(DEP=nerdctld make get-dependency-version)
|
|
OLD_RUNC=$(DEP=runc make get-dependency-version)
|
|
OLD_UBUNTU=$(DEP=ubuntu make get-dependency-version)
|
|
make update-buildkit-version
|
|
make update-cni-plugins-version
|
|
make update-containerd-version
|
|
# Uncomment after crictl/cri-o issue resolved: https://github.com/kubernetes/minikube/issues/18359
|
|
# make update-cri-o-version
|
|
# make update-crictl-version
|
|
make update-crun-version
|
|
make update-docker-version
|
|
make update-golang-version
|
|
make update-nerdctl-version
|
|
make update-nerdctld-version
|
|
make update-runc-version
|
|
make update-ubuntu-version
|
|
NEW_BUILDKIT=$(DEP=buildkit make get-dependency-version)
|
|
NEW_CNI_PLUGINS=$(DEP=cni-plugins make get-dependency-version)
|
|
NEW_CONTAINERD=$(DEP=containerd make get-dependency-version)
|
|
NEW_CRIO=$(DEP=cri-o make get-dependency-version)
|
|
NEW_CRICTL=$(DEP=crictl make get-dependency-version)
|
|
NEW_CRUN=$(DEP=crun make get-dependency-version)
|
|
NEW_DOCKER=$(DEP=docker make get-dependency-version)
|
|
NEW_GO=$(DEP=go make get-dependency-version)
|
|
NEW_NERDCTL=$(DEP=nerdctl make get-dependency-version)
|
|
NEW_NERDCTLD=$(DEP=nerdctld make get-dependency-version)
|
|
NEW_RUNC=$(DEP=runc make get-dependency-version)
|
|
NEW_UBUNTU=$(DEP=ubuntu make get-dependency-version)
|
|
echo "changelog<<EOF" >> "$GITHUB_OUTPUT"
|
|
if [ "$OLD_BUILDKIT" != "$NEW_BUILDKIT" ]; then
|
|
echo "### Update BuildKit from $OLD_BUILDKIT to $NEW_BUILDKIT" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/moby/buildkit/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_CNI_PLUGINS" != "$NEW_CNI_PLUGINS" ]; then
|
|
echo "### Update CNI Plugins from $OLD_CNI_PLUGINS to $NEW_CNI_PLUGINS" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/containernetworking/plugins/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_CONTAINERD" != "$NEW_CONTAINERD" ]; then
|
|
echo "### Update containerd from $OLD_CONTAINERD to $NEW_CONTAINERD" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/containerd/containerd/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_CRIO" != "$NEW_CRIO" ]; then
|
|
echo "### Update CRI-O from $OLD_CRIO to $NEW_CRIO" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/cri-o/cri-o/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_CRICTL" != "$NEW_CRICTL" ]; then
|
|
echo "### Update crictl from $OLD_CRICTL to $NEW_CRICTL" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/kubernetes-sigs/cri-tools/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_CRUN" != "$NEW_CRUN" ]; then
|
|
echo "### Update crun from $OLD_CRUN to $NEW_CRUN" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/containers/crun/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_DOCKER" != "$NEW_DOCKER" ]; then
|
|
echo "### Update Docker from $OLD_DOCKER to $NEW_DOCKER" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/moby/moby/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_GO" != "$NEW_GO" ]; then
|
|
echo "### Update Go from $OLD_GO to $NEW_GO" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_NERDCTL" != "$NEW_NERDCTL" ]; then
|
|
echo "### Update nerdctl from $OLD_NERDCTL to $NEW_NERDCTL" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/containerd/nerdctl/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_NERDCTLD" != "$NEW_NERDCTLD" ]; then
|
|
echo "### Update nerdctld from $OLD_NERDCTLD to $NEW_NERDCTLD" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/afbjorklund/nerdctld/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_RUNC" != "$NEW_RUNC" ]; then
|
|
echo "### Update runc from $OLD_RUNC to $NEW_RUNC" >> "$GITHUB_OUTPUT"
|
|
echo "[Release notes](https://github.com/opencontainers/runc/releases)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
if [ "$OLD_UBUNTU" != "$NEW_UBUNTU" ]; then
|
|
echo "### Update Ubuntu from $OLD_UBUNTU to $NEW_UBUNTU" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
# The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
|
|
echo "changes<<EOF" >> "$GITHUB_OUTPUT"
|
|
echo "$(git status --porcelain)" >> "$GITHUB_OUTPUT"
|
|
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
- name: Create PR
|
|
id: createPR
|
|
if: ${{ steps.bumpVersions.outputs.changes != '' }}
|
|
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e
|
|
with:
|
|
token: ${{ secrets.MINIKUBE_BOT_PAT }}
|
|
commit-message: 'Kicbase/ISO: Update dependency versions'
|
|
committer: minikube-bot <minikube-bot@google.com>
|
|
author: minikube-bot <minikube-bot@google.com>
|
|
branch: bump_iso_image_versions
|
|
branch-suffix: short-commit-hash
|
|
push-to-fork: minikube-bot/minikube
|
|
base: master
|
|
delete-branch: true
|
|
title: 'Kicbase/ISO: Update dependency versions'
|
|
body: |
|
|
Changelog:
|
|
${{ steps.bumpVersions.outputs.changelog }}
|
|
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
|
|
if: ${{ steps.bumpVersions.outputs.changes != '' }}
|
|
with:
|
|
github-token: ${{ secrets.MINIKUBE_BOT_PAT }}
|
|
script: |
|
|
github.rest.issues.createComment({
|
|
issue_number: ${{ steps.createPR.outputs.pull-request-number }},
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
body: 'ok-to-build-image'
|
|
})
|
|
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
|
|
if: ${{ steps.bumpVersions.outputs.changes != '' }}
|
|
with:
|
|
github-token: ${{ secrets.MINIKUBE_BOT_PAT }}
|
|
script: |
|
|
github.rest.issues.createComment({
|
|
issue_number: ${{ steps.createPR.outputs.pull-request-number }},
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
body: 'ok-to-build-iso'
|
|
})
|