Diffstat (limited to 'Jenkinsfile')
| -rw-r--r-- | Jenkinsfile | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 1732307..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,163 +0,0 @@ -pipeline { - agent none - - options { - timestamps() - } - - environment { - KIWI_FILE = 'Fedora.kiwi' - IMAGE_TYPE = 'iso' - IMAGE_PROFILE = 'Workstation-Live' - IMAGE_VERSION = '45' - OUTPUT_DIR = 'outdir' - - B2_ENDPOINT = 'https://s3.eu-central-003.backblazeb2.com' - AWS_DEFAULT_REGION = 'eu-central-003' - ISO_BUCKET = 'dist-sayagit-fedora-iso' - - // Must match the <source path="..."/> in - // repositories/kernel-sp12in.xml. - KERNEL_SURFACE_REPO_URL = 'https://rpm.sayag.it/kernel-sp12in/fedora/45/aarch64' - - // awscli2 sends CRC32 checksums by default, which B2 rejects. Ask for - // them only where the S3 API requires them. - AWS_REQUEST_CHECKSUM_CALCULATION = 'when_required' - AWS_RESPONSE_CHECKSUM_VALIDATION = 'when_required' - } - - stages { - stage('Build Fedora Workstation Live ISO (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 - securityContext: - privileged: true - resources: - requests: - cpu: "2" - memory: 4Gi - ephemeral-storage: 20Gi - limits: - memory: 12Gi - ephemeral-storage: 50Gi -""" - } - } - steps { - checkout scm - container('kiwi') { - script { - try { - // The kernel-surface RPM is a build input, not - // something this repository can produce: the image - // installs kernel-surface by name and <ignore>s - // Fedora's kernel packages. Its pipeline publishes - // it to rpm.sayag.it, which repositories/kernel-sp12in.xml - // points at directly, so there is nothing to stage - // here. Fail now rather than several minutes into - // kiwi on an unresolvable package name. - sh ''' - set -eux - - dnf --assumeyes install curl - - repomd="${KERNEL_SURFACE_REPO_URL}/repodata/repomd.xml" - if ! curl -fsS --retry 3 -o /dev/null "${repomd}"; then - echo "No kernel-surface repository at ${repomd}." >&2 - echo "Run the kernel-surface pipeline for Fedora ${IMAGE_VERSION} first." >&2 - exit 1 - fi - ''' - - sh ''' - dnf --assumeyes install git kiwi kiwi-systemdeps distribution-gpg-keys - git config --global --add safe.directory . - 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 - } - } - stash name: "fedora-workstation-live-iso-stash", includes: "${OUTPUT_DIR}-build/Fedora.aarch64-${IMAGE_VERSION}.iso" - } - } - } - - stage('Push Fedora Workstation Live ISO (ARM64)') { - agent { - kubernetes { - defaultContainer 's5cmd' - yaml """ -apiVersion: v1 -kind: Pod -metadata: - namespace: jenkins -spec: - containers: - - name: s5cmd - image: peakcom/s5cmd:v2.3.0 - imagePullPolicy: IfNotPresent - command: [ 'sleep' ] - args: [ 'infinity' ] - tty: true - resources: - requests: - cpu: "0.5" - memory: 4Gi -""" - } - } - steps { - container('s5cmd') { - unstash "fedora-workstation-live-iso-stash" - withCredentials([usernamePassword( - credentialsId: 'backblaze-b2-dist-iso', - usernameVariable: 'AWS_ACCESS_KEY_ID', - passwordVariable: 'AWS_SECRET_ACCESS_KEY')]) { - sh ''' - set -eux - - cd "${OUTPUT_DIR}-build" - src="Fedora.aarch64-${IMAGE_VERSION}.iso" - moddate=$(date -r "${src}" -u +"%Y%m%d-%H%M%S") - dst="Fedora.Surface-Pro-12in.${IMAGE_PROFILE}.${IMAGE_VERSION}.${moddate}.aarch64.iso" - mv "${src}" "${dst}" - ls -lh - - /s5cmd --endpoint-url "${B2_ENDPOINT}" cp \\ - --content-type "application/x-iso9660-image" \\ - "${dst}" \\ - "s3://${ISO_BUCKET}/fedora/${IMAGE_VERSION}/aarch64/${dst}" - ''' - } - } - } - } - } -} |