forked from alt/image-forge
Compare commits
8 Commits
workflow
...
test-gitea
Author | SHA1 | Date | |
---|---|---|---|
89420ba75d | |||
31725ede8a | |||
a43eb4be60 | |||
e08e730f2a | |||
4d8b5d349f | |||
25c85b94e7 | |||
f5fac1ad48 | |||
cce0c0d01f |
42
.gitea/workflows/build-k8s-images.yaml
Normal file
42
.gitea/workflows/build-k8s-images.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: Build kubernetes images
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- test-gitea-actions
|
||||||
|
paths:
|
||||||
|
- ".gitea/workflows/build-k8s-images.yaml"
|
||||||
|
- "org/k8s/kube-apiserver/**"
|
||||||
|
- "org/k8s/kube-controller-manager/**"
|
||||||
|
- "org/k8s/kube-scheduler/**"
|
||||||
|
- "org/k8s/kube-proxy/**"
|
||||||
|
- "tags.toml"
|
||||||
|
- "k8s-images.sh"
|
||||||
|
schedule:
|
||||||
|
- cron: "30 3 1 * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-images:
|
||||||
|
runs-on: alt-latest
|
||||||
|
steps:
|
||||||
|
- name: Install the dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y \
|
||||||
|
podman \
|
||||||
|
python3-module-tomli \
|
||||||
|
python3-module-jinja2 \
|
||||||
|
qemu-user-static-binfmt-aarch64 \
|
||||||
|
qemu-user-static-binfmt-arm \
|
||||||
|
qemu-user-static-binfmt-ppc
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Log into gitea.basealt.ru
|
||||||
|
run: podman login -u stepchenkoas -p "${{ secrets.ACTIONS_TOKEN }}" gitea.basealt.ru
|
||||||
|
- name: Build docker images for p10 (kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy)
|
||||||
|
run: ${{ gitea.workspace }}/build-k8s-images.sh gitea.basealt.ru k8s-p10 p10
|
||||||
|
- name: Push docker images for p10 to gitea.basealt.ru
|
||||||
|
run: ${{ gitea.workspace }}/push-k8s-images.sh gitea.basealt.ru k8s-p10 p10
|
||||||
|
- name: Build docker images for sisyphus (kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy)
|
||||||
|
run: ${{ gitea.workspace }}/build-k8s-images.sh gitea.basealt.ru k8s-sisyphus sisyphus
|
||||||
|
- name: Push docker images for sisyphus to gitea.basealt.ru
|
||||||
|
run: ${{ gitea.workspace }}/push-k8s-images.sh gitea.basealt.ru k8s-sisyphus sisyphus
|
@ -28,7 +28,9 @@ If you push to the users repository, then organiztion is your username.
|
|||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
On x86_64 machine using p10 branch you need:
|
On x86_64 machine using p10 branch you need:
|
||||||
|
- `podman`
|
||||||
- `python3-module-tomli`
|
- `python3-module-tomli`
|
||||||
|
- `python3-module-jinja2`
|
||||||
- `qemu-user-static-binfmt-aarch64` to build for arm64 architecture
|
- `qemu-user-static-binfmt-aarch64` to build for arm64 architecture
|
||||||
- `qemu-user-static-binfmt-arm` to build for arm architecture
|
- `qemu-user-static-binfmt-arm` to build for arm architecture
|
||||||
- `qemu-user-static-binfmt-ppc` to build for ppc64le architecture
|
- `qemu-user-static-binfmt-ppc` to build for ppc64le architecture
|
||||||
|
59
k8s-images.sh
Executable file
59
k8s-images.sh
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
set -xeuo pipefail
|
||||||
|
|
||||||
|
function print_help() {
|
||||||
|
cat <<EOF
|
||||||
|
usage:
|
||||||
|
$0 (build | push) <REGISTRY> <ORGANIZATION> <BRANCH>
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$#" -lt 4 ]; then
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMMAND=$1
|
||||||
|
REGISTRY=${2:-"gitea.basealt.ru"}
|
||||||
|
ORGANIZATION=${3:-"k8s-sisyphus"}
|
||||||
|
BRANCH=${4:-"sisyphus"}
|
||||||
|
|
||||||
|
shift 4
|
||||||
|
|
||||||
|
[ "$COMMAND" == 'build' ] || [ "$COMMAND" == 'push' ] || exit 1
|
||||||
|
|
||||||
|
function build() {
|
||||||
|
./build.py \
|
||||||
|
--branches $BRANCH \
|
||||||
|
--latest $BRANCH \
|
||||||
|
--registry $REGISTRY \
|
||||||
|
--overwrite-organization $ORGANIZATION \
|
||||||
|
--images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-scheduler k8s/kube-proxy \
|
||||||
|
--tags tags.toml \
|
||||||
|
--skip-stages push \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
function push() {
|
||||||
|
./build.py \
|
||||||
|
--branches $BRANCH \
|
||||||
|
--latest $BRANCH \
|
||||||
|
--registry $REGISTRY \
|
||||||
|
--overwrite-organization $ORGANIZATION \
|
||||||
|
--images k8s/kube-apiserver k8s/kube-controller-manager k8s/kube-scheduler k8s/kube-proxy \
|
||||||
|
--tags tags.toml \
|
||||||
|
--stages push \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
for version in 1.26.14 1.27.12 1.28.8; do
|
||||||
|
sed -i "s/kubernetes.*-/kubernetes${version::4}-/g" org/k8s/kube-*/*
|
||||||
|
sed -i "s/$BRANCH = \[ \"v.*\" \]/$BRANCH = \[ \"v$version\" \]/g" tags.toml
|
||||||
|
|
||||||
|
if [ "$COMMAND" == 'build' ]; then
|
||||||
|
build "$@"
|
||||||
|
elif [ "$COMMAND" == 'push' ]; then
|
||||||
|
push "$@"
|
||||||
|
fi
|
||||||
|
done
|
Reference in New Issue
Block a user