Skip to content

Commit 40bad6d

Browse files
committed
seperate jobs
1 parent 38ac4cb commit 40bad6d

File tree

3 files changed

+170
-86
lines changed

3 files changed

+170
-86
lines changed

.github/workflows/buid-vm-image-manual.yml

Lines changed: 10 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -17,94 +17,18 @@ on:
1717
default: '0.8'
1818

1919
env:
20-
version: 1.33.0
21-
tag: "0.8"
2220
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2321

2422

2523

2624
jobs:
27-
build-image:
28-
runs-on: ubuntu-24.04
29-
steps:
30-
- uses: actions/checkout@v5
31-
name: Checkout
32-
33-
- uses: actions/cache@v4
34-
with:
35-
path: |
36-
~/.config/packer/plugins
37-
key: packer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.pkr.hcl') }}
38-
39-
- name: Enable KVM
40-
run: |
41-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
42-
sudo udevadm control --reload-rules
43-
sudo udevadm trigger --name-match=kvm
44-
45-
- name: install qemu-kvn
46-
run: |
47-
sudo apt update && \
48-
sudo apt upgrade -y && \
49-
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils qemu-utils
50-
51-
52-
- name: replace variables
53-
run: |
54-
package="${version}-1.1"
55-
series="${version%.*}"
56-
57-
sed -r \
58-
-e "s/\\\$KUBERNETES_SERIES/${series}/" \
59-
-e "s/\\\$KUBERNETES_VERSION/${version}/" \
60-
-e "s/\\\$KUBERNETES_DEB_VERSION/${package}/" \
61-
-e "s/\\\$IMAGE_TAG/${tag}/" \
62-
<"template.json" >"kubernetes.json"
63-
64-
working-directory: ./images/capi
65-
66-
# - name: install dependencies for openstack
67-
# run: make deps-qemu
68-
# working-directory: ./images/capi
69-
70-
- name: install dependencies for azure
71-
run: make deps-azure
72-
working-directory: ./images/capi
73-
74-
# - name: validate openstack config
75-
# run: make validate-qemu-ubuntu-2404-efi
76-
# working-directory: ./images/capi
77-
78-
# - name: build openstack image
79-
# run: make build-qemu-ubuntu-2404-efi
80-
# env:
81-
# PACKER_LOG: 1
82-
# PACKER_VAR_FILES: kubernetes.json
83-
# working-directory: ./images/capi
84-
85-
- name: build azure image
86-
run: |
87-
az login --service-principal -u "${AZURE_CLIENT_ID}" -p "${AZURE_CLIENT_SECRET}" --tenant "${AZURE_TENANT_ID}"
88-
89-
image_name="ubuntu-2404-kube-${version%%-*}-ck8s-capi-${tag}"
90-
91-
export SIG_IMAGE_DEFINITION="${image_name}"
92-
export SIG_PUBLISHER="elastisys"
93-
export SIG_OFFER="ck8s-capi"
94-
export SIG_SKU="${image_name}"
95-
96-
97-
make build-azure-sig-ubuntu-2404-gen2
98-
env:
99-
PACKER_LOG: 1
100-
PACKER_VAR_FILES: kubernetes.json
101-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID}}
102-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
103-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
104-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
105-
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
106-
RESOURCE_GROUP_NAME: ${{ secrets.RESOURCE_GROUP_NAME }}
107-
GALLERY_NAME: ${{ secrets.GALLERY_NAME }}
108-
BUILD_RESOURCE_GROUP_NAME: ${{ secrets.RESOURCE_GROUP_NAME }}
109-
working-directory: ./images/capi
110-
25+
build-azure-image:
26+
uses: ./build-azure-capi-image.yml
27+
with:
28+
version: ${{ inputs.version }}
29+
tag: ${{ inputs.tag }}
30+
build-openstack-image:
31+
uses: ./build-openstack-capi-image.yml
32+
with:
33+
version: ${{ inputs.version }}
34+
tag: ${{ inputs.tag }}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Build Azure CAPI VM image
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: Kuberentes version
8+
required: true
9+
type: string
10+
tag:
11+
description: ck8s-capi tag
12+
required: true
13+
type: string
14+
workflow_call:
15+
inputs:
16+
version:
17+
description: Kubernetes version
18+
required: true
19+
type: string
20+
default: "1.33"
21+
tag:
22+
description: ck8s-capi tag
23+
required: true
24+
type: string
25+
default: "0.8"
26+
27+
defaults:
28+
run:
29+
working-directory: ./images/capi
30+
31+
jobs:
32+
build-image:
33+
runs-on: ubuntu-24.04
34+
steps:
35+
- name: Checkout repo
36+
uses: actions/checkout@v5
37+
38+
- uses: actions/cache@v4
39+
with:
40+
path: |
41+
~/.config/packer/plugins
42+
key: packer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.pkr.hcl') }}
43+
44+
- name: replace variables
45+
run: |
46+
package="${version}-1.1"
47+
series="${version%.*}"
48+
49+
sed -r \
50+
-e "s/\\\$KUBERNETES_SERIES/${series}/" \
51+
-e "s/\\\$KUBERNETES_VERSION/${version}/" \
52+
-e "s/\\\$KUBERNETES_DEB_VERSION/${package}/" \
53+
-e "s/\\\$IMAGE_TAG/${tag}/" \
54+
<"template.json" >"kubernetes.json"
55+
56+
- name: install dependencies for azure
57+
run: make deps-azure
58+
59+
- name: build azure image
60+
run: |
61+
az login --service-principal -u "${AZURE_CLIENT_ID}" -p "${AZURE_CLIENT_SECRET}" --tenant "${AZURE_TENANT_ID}"
62+
63+
image_name="ubuntu-2404-kube-${version%%-*}-ck8s-capi-${tag}"
64+
65+
export SIG_IMAGE_DEFINITION="${image_name}"
66+
export SIG_PUBLISHER="elastisys"
67+
export SIG_OFFER="ck8s-capi"
68+
export SIG_SKU="${image_name}"
69+
70+
71+
make build-azure-sig-ubuntu-2404-gen2
72+
env:
73+
PACKER_VAR_FILES: kubernetes.json
74+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID}}
75+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
76+
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
77+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
78+
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
79+
RESOURCE_GROUP_NAME: ${{ secrets.RESOURCE_GROUP_NAME }}
80+
GALLERY_NAME: ${{ secrets.GALLERY_NAME }}
81+
BUILD_RESOURCE_GROUP_NAME: ${{ secrets.RESOURCE_GROUP_NAME }}
82+
83+
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Build OpenStack VM CAPI image
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: Kubernetes version
8+
required: true
9+
type: string
10+
tag:
11+
description: ck8s-capi tag
12+
required: true
13+
type: string
14+
workflow_call:
15+
inputs:
16+
version:
17+
description: Kubernetes version
18+
required: true
19+
type: string
20+
default: "1.33"
21+
tag:
22+
description: ck8s-capi tag
23+
required: true
24+
type: string
25+
default: "0.8"
26+
27+
28+
defaults:
29+
run:
30+
working-directory: ./images/capi
31+
32+
jobs:
33+
build-image:
34+
runs-on: ubuntu-24.04
35+
steps:
36+
- uses: actions/checkout@v5
37+
name: Checkout
38+
39+
- uses: actions/cache@v4
40+
with:
41+
path: |
42+
~/.config/packer/plugins
43+
key: packer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.pkr.hcl') }}
44+
45+
- name: Enable KVM
46+
run: |
47+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
48+
sudo udevadm control --reload-rules
49+
sudo udevadm trigger --name-match=kvm
50+
51+
- name: install qemu-kvn
52+
run: |
53+
sudo apt update && \
54+
sudo apt upgrade -y && \
55+
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils qemu-utils
56+
57+
58+
- name: replace variables
59+
run: |
60+
package="${version}-1.1"
61+
series="${version%.*}"
62+
63+
sed -r \
64+
-e "s/\\\$KUBERNETES_SERIES/${series}/" \
65+
-e "s/\\\$KUBERNETES_VERSION/${version}/" \
66+
-e "s/\\\$KUBERNETES_DEB_VERSION/${package}/" \
67+
-e "s/\\\$IMAGE_TAG/${tag}/" \
68+
<"template.json" >"kubernetes.json"
69+
70+
- name: install dependencies for openstack
71+
run: make deps-qemu
72+
73+
74+
- name: build openstack image
75+
run: make build-qemu-ubuntu-2404-efi
76+
env:
77+
PACKER_VAR_FILES: kubernetes.json

0 commit comments

Comments
 (0)