Skip to content

Commit a0905bf

Browse files
committed
πŸ‘· build: use custom runc/containerd versions
1 parent e8388f6 commit a0905bf

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

β€Ž.github/workflows/build.yamlβ€Ž

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121
outputs:
2222
output_ubuntu_2204: ${{ steps.build.outputs.output_ubuntu_2204 }}
2323
output_ubuntu_2404: ${{ steps.build.outputs.output_ubuntu_2404 }}
24+
runc_version: ${{ steps.build.outputs.runc_version }}
25+
containerd_version: ${{ steps.build.outputs.containerd_version }}
2426
strategy:
2527
matrix:
2628
REGION: ["us-east-2", "eu-west-2", "cloudgouv-eu-west-1"]
@@ -45,25 +47,37 @@ jobs:
4547
- name: πŸ“¦ Build image
4648
id: build
4749
run: |
50+
set -ex
4851
cd image-builder/images/capi
4952
useradd imagebuilder
5053
sed -i 's/"type": "ansible"/"type": "ansible","user":"imagebuilder"/' packer/outscale/packer.json
54+
KUBERNETES_VERSION=`echo $KUBERNETES_VERSION | cut -d / -f 1`
5155
SERIES=`echo $KUBERNETES_VERSION | sed 's/\(v1.[1-9][0-9]\).*$/\1/'`
5256
DEB=`echo $KUBERNETES_VERSION | sed 's/v//'`
5357
date=${{ needs.date.outputs.date }}
5458
omi_name=${{ matrix.TARGET }}-kubernetes-$KUBERNETES_VERSION-$date
5559
source_ip=`curl https://api.ipify.org`
56-
export PACKER_FLAGS="--var kubernetes_semver=$KUBERNETES_VERSION --var kubernetes_series=$SERIES --var kubernetes_deb_version=$DEB-1.1 --var overwrite_existing=true --var omi_name=$omi_name --var ssh_source_cidr=$source_ip/32"
60+
if [ -z "$RUNC_VERSION" ]; then
61+
RUNC_VERSION=`jq -r .runc_version packer/config/containerd.json`
62+
fi
63+
if [ -z "$CONTAINERD_VERSION" ]; then
64+
CONTAINERD_VERSION=`jq -r .containerd_version packer/config/containerd.json`
65+
fi
66+
export PACKER_FLAGS="--var runc_version=$RUNC_VERSION --var containerd_version=$CONTAINERD_VERSION --var kubernetes_semver=$KUBERNETES_VERSION --var kubernetes_series=$SERIES --var kubernetes_deb_version=$DEB-1.1 --var overwrite_existing=true --var omi_name=$omi_name --var ssh_source_cidr=$source_ip/32"
5767
make build-osc-${{ matrix.TARGET }}
5868
target=`echo ${{ matrix.TARGET }} | sed 's/-/_/g'`
59-
echo "output_$target=$omi_name" >> "$GITHUB_OUTPUT"
69+
echo "output_$target=$omi_name" >> $GITHUB_OUTPUT
6070
echo "IMAGE_NAME=$omi_name" >> $GITHUB_ENV
71+
echo "runc_version=$RUNC_VERSION" >> $GITHUB_OUTPUT
72+
echo "containerd_version=$CONTAINERD_VERSION" >> $GITHUB_OUTPUT
6173
env:
6274
KUBERNETES_VERSION: ${{ github.ref_name }}
6375
OSC_ACCESS_KEY: ${{ secrets.OSC_ACCESS_KEY }}
6476
OSC_SECRET_KEY: ${{ secrets.OSC_SECRET_KEY }}
6577
OSC_REGION: ${{ matrix.REGION }}
6678
OSC_ACCOUNT_ID: ${{ secrets.OSC_ACCOUNT_ID }}
79+
RUNC_VERSION: ${{ vars.RUNC_VERSION}}
80+
CONTAINERD_VERSION: ${{ vars.CONTAINERD_VERSION}}
6781
- name: 🧹 Frieza
6882
uses: outscale/frieza-github-actions/frieza-clean@master
6983
with:
@@ -94,6 +108,8 @@ jobs:
94108
env:
95109
IMAGE_UBUNTU_2204: ${{ needs.build.outputs.output_ubuntu_2204 }}
96110
IMAGE_UBUNTU_2404: ${{ needs.build.outputs.output_ubuntu_2404 }}
111+
RUNC_VERSION: ${{ needs.build.outputs.runc_version }}
112+
CONTAINERD_VERSION: ${{ needs.build.outputs.containerd_version }}
97113
with:
98114
github-token: "${{ secrets.RELEASE_GITHUB_TOKEN }}"
99115
retries: 3
@@ -102,7 +118,7 @@ jobs:
102118
await github.rest.repos.createRelease({
103119
draft: false,
104120
name: "Kubernetes "+process.env.GITHUB_REF_NAME,
105-
body: "New images: \n* "+process.env.IMAGE_UBUNTU_2204+"\n* "+process.env.IMAGE_UBUNTU_2404,
121+
body: "runc: "+process.env.RUNC_VERSION+" containerd: "+process.env.CONTAINERD_VERSION+\nNew images:\n* "+process.env.IMAGE_UBUNTU_2204+"\n* "+process.env.IMAGE_UBUNTU_2404,
106122
owner: context.repo.owner,
107123
prerelease: false,
108124
repo: context.repo.repo,

β€ŽREADME.mdβ€Ž

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
- [Overview](#-overview)
2020
- [List of images](#-list-of-images)
21+
- [Releasing new images](#-releasing-new-images)
2122
- [License](#-license)
2223
- [Contributing](#-contributing)
2324

@@ -43,6 +44,29 @@ For each version of Kubernetes, 2 images are built: one based on Ubuntu 22.04, o
4344

4445
---
4546

47+
## πŸš€ Releasing new images
48+
49+
The runc version is defined by the RUNC_VERSION variable.
50+
The containerd version is defined by the CONTAINERD_VERSION variable.
51+
52+
New images are built when a new tag is pushed. The tag name defines the Kubernetes version to use.
53+
54+
```shell
55+
export RELEASE_TAG=v1.33.6
56+
git tag -s ${RELEASE_TAG} -m "πŸ”– Kubernetes ${RELEASE_TAG}"
57+
git push origin ${RELEASE_TAG}
58+
```
59+
60+
When re-releasing a previously released Kubernetes version, a `/[some additional comment]` suffix can be added to the tag, it will be ignored.
61+
62+
```shell
63+
export RELEASE_TAG=v1.33.6/runc-1.2.6
64+
git tag -s ${RELEASE_TAG} -m "πŸ”– Kubernetes ${RELEASE_TAG}"
65+
git push origin ${RELEASE_TAG}
66+
```
67+
68+
---
69+
4670
## πŸ“œ License
4771

4872
**Kubernetes Image Building Workflows** is released under the BSD 3-Clause license.

0 commit comments

Comments
Β (0)