aboutsummaryrefslogtreecommitdiffci
diff options
from:
to:
context:
space:
mode:
authorGravatar Saya Andy <saya.andy@posteo.com> 2026-08-29 20:31:53 +0700
committerGravatar Saya Andy <saya.andy@posteo.com> 2026-08-29 20:38:03 +0700
commit2b3b2bf962824e803269bcf77a9531aba2d88e5c (patch)
treed79ab24f97e3faaea61dce975f303c4db22ce8f2
parentb86fc6487ce3d879c7eb31142a008521ff9048aa (diff)
downloadkiwi-descriptions-2b3b2bf962824e803269bcf77a9531aba2d88e5c.tar.gz
kiwi-descriptions-2b3b2bf962824e803269bcf77a9531aba2d88e5c.zip
feat: generate arm64 image in ci
-rw-r--r--Jenkinsfile73
1 files changed, 73 insertions, 0 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..29626bd
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,73 @@
+pipeline {
+ agent none
+
+ options {
+ timestamps()
+ }
+
+ environment {
+ KIWI_FILE = 'Fedora.kiwi'
+ IMAGE_TYPE = 'iso'
+ IMAGE_PROFILE = 'Workstation-Live'
+ OUTPUT_DIR = 'outdir'
+ }
+
+ stages {
+ stage('Build Fedora Workstation (ARM64)') {
+ agent {
+ kubernetes {
+ defaultContainer 'kiwi'
+ yaml """
+apiVersion: v1
+kind: Pod
+metadata:
+ namespace: jenkins
+spec:
+ nodeSelector:
+ kubernetes.io/arch: arm64
+ containers:
+ - name: kiwi
+ image: fedora:44
+ imagePullPolicy: Always
+ command: [ 'sleep' ]
+ args: [ 'infinity' ]
+ tty: true
+ resources:
+ requests:
+ cpu: "2"
+ memory: 4Gi
+ ephemeral-storage: 20Gi
+ limits:
+ memory: 12Gi
+ ephemeral-storage: 50Gi
+"""
+ }
+ }
+ steps {
+ checkout scm
+ container('kiwi') {
+ script {
+ try {
+ sh '''
+ dnf --assumeyes install kiwi kiwi-systemdeps distribution-gpg-keys
+ git submodule update --init --recursive
+
+ ./kiwi-build \\
+ --kiwi-file="${KIWI_FILE}" \\
+ --image-type="${IMAGE_TYPE}" \\
+ --image-profile="${IMAGE_PROFILE}" \\
+ --output-dir "${OUTPUT_DIR}"
+
+ ls -lh "${OUTPUT_DIR}-build"
+ '''
+ } catch (Exception e) {
+ echo "Caught exception: ${e.getMessage()}"
+ currentBuild.result = 'FAILURE'
+ throw e
+ }
+ }
+ }
+ }
+ }
+ }
+}