KASM-6984 Refactor GitLab CI to utilize job extensions and reduce redundancy

This commit is contained in:
El 2025-03-31 07:46:07 +05:00
parent 1495f7151b
commit 5287c44e54
No known key found for this signature in database
GPG Key ID: EB3F4C9EA29CDE59

View File

@ -66,14 +66,18 @@ build_www:
paths: paths:
- output/ - output/
.base_build: build_ubuntu_focal:
stage: build stage: build
allow_failure: true allow_failure: true
tags:
- oci-fixed-amd
before_script: before_script:
- *prepare_build - *prepare_build
- *prepare_www - *prepare_www
after_script: after_script:
- *prepare_artfacts - *prepare_artfacts
script:
- bash builder/build-package ubuntu focal;
only: only:
variables: variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
@ -81,197 +85,444 @@ build_www:
paths: paths:
- output/ - output/
build_ubuntu_focal:
extends:
- .base_build
tags:
- oci-fixed-amd
script:
- bash builder/build-package ubuntu focal;
build_ubuntu_focal_arm: build_ubuntu_focal_arm:
extends: stage: build
- .base_build allow_failure: true
tags: tags:
- oci-fixed-arm - oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script: script:
- bash builder/build-package ubuntu focal; - bash builder/build-package ubuntu focal;
# only:
#build_ubuntu_jammy: variables:
# extends: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# - .base_build artifacts:
# tags: paths:
# - oci-fixed-amd - output/
# script:
# - bash builder/build-package ubuntu jammy; build_ubuntu_jammy:
# stage: build
#build_ubuntu_jammy_arm: allow_failure: true
# extends: tags:
# - .base_build - oci-fixed-amd
# tags: before_script:
# - oci-fixed-arm - *prepare_build
# script: - *prepare_www
# - bash builder/build-package ubuntu jammy; after_script:
# - *prepare_artfacts
#build_ubuntu_noble: script:
# extends: - bash builder/build-package ubuntu jammy;
# - .base_build only:
# tags: variables:
# - oci-fixed-amd - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# script: artifacts:
# - bash builder/build-package ubuntu noble; paths:
# - output/
#build_ubuntu_noble_arm:
# extends: build_ubuntu_jammy_arm:
# - .base_build stage: build
# tags: allow_failure: true
# - oci-fixed-arm tags:
# script: - oci-fixed-arm
# - bash builder/build-package ubuntu noble; before_script:
# - *prepare_build
#build_debian_bullseye: - *prepare_www
# extends: after_script:
# - .base_build - *prepare_artfacts
# tags: script:
# - oci-fixed-amd - bash builder/build-package ubuntu jammy;
# script: only:
# - bash builder/build-package debian bullseye; variables:
# - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
#build_debian_bullseye_arm: artifacts:
# extends: paths:
# - .base_build - output/
# tags:
# - oci-fixed-arm build_ubuntu_noble:
# script: stage: build
# - bash builder/build-package debian bullseye; allow_failure: true
# tags:
#build_debian_bookworm: - oci-fixed-amd
# extends: before_script:
# - .base_build - *prepare_build
# tags: - *prepare_www
# - oci-fixed-amd after_script:
# script: - *prepare_artfacts
# - bash builder/build-package debian bookworm; script:
# - bash builder/build-package ubuntu noble;
#build_debian_bookworm_arm: only:
# extends: variables:
# - .base_build - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# tags: artifacts:
# - oci-fixed-arm paths:
# script: - output/
# - bash builder/build-package debian bookworm;
# build_ubuntu_noble_arm:
#build_kali_rolling: stage: build
# extends: allow_failure: true
# - .base_build tags:
# tags: - oci-fixed-arm
# - oci-fixed-amd before_script:
# script: - *prepare_build
# - bash builder/build-package kali kali-rolling; - *prepare_www
# after_script:
#build_kali_rolling_arm: - *prepare_artfacts
# extends: script:
# - .base_build - bash builder/build-package ubuntu noble;
# tags: only:
# - oci-fixed-arm variables:
# script: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# - bash builder/build-package kali kali-rolling; artifacts:
# paths:
#build_oracle_8: - output/
# extends:
# - .base_build build_debian_bullseye:
# tags: stage: build
# - oci-fixed-amd allow_failure: true
# script: tags:
# - bash builder/build-package oracle 8; - oci-fixed-amd
# before_script:
#build_oracle_8_arm: - *prepare_build
# extends: - *prepare_www
# - .base_build after_script:
# tags: - *prepare_artfacts
# - oci-fixed-arm script:
# script: - bash builder/build-package debian bullseye;
# - bash builder/build-package oracle 8; only:
# variables:
#build_oracle_9: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# extends: artifacts:
# - .base_build paths:
# tags: - output/
# - oci-fixed-amd
# script: build_debian_bullseye_arm:
# - bash builder/build-package oracle 9; stage: build
# allow_failure: true
#build_oracle_9_arm: tags:
# extends: - oci-fixed-arm
# - .base_build before_script:
# tags: - *prepare_build
# - oci-fixed-arm - *prepare_www
# script: after_script:
# - bash builder/build-package oracle 9; - *prepare_artfacts
# script:
#build_opensuse_15: - bash builder/build-package debian bullseye;
# extends: only:
# - .base_build variables:
# tags: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# - oci-fixed-amd artifacts:
# script: paths:
# - bash builder/build-package opensuse 15; - output/
#
#build_opensuse_15_arm:
# extends: build_debian_bookworm:
# - .base_build stage: build
# tags: allow_failure: true
# - oci-fixed-arm tags:
# script: - oci-fixed-amd
# - bash builder/build-package opensuse 15; before_script:
# - *prepare_build
#build_fedora_thirtynine: - *prepare_www
# extends: after_script:
# - .base_build - *prepare_artfacts
# tags: script:
# - oci-fixed-amd - bash builder/build-package debian bookworm;
# script: only:
# - bash builder/build-package fedora thirtynine; variables:
# - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
#build_fedora_thirtynine_arm: artifacts:
# extends: paths:
# - .base_build - output/
# tags:
# - oci-fixed-arm build_debian_bookworm_arm:
# script: stage: build
# - bash builder/build-package fedora thirtynine; allow_failure: true
# tags:
#build_fedora_forty: - oci-fixed-arm
# extends: before_script:
# - .base_build - *prepare_build
# tags: - *prepare_www
# - oci-fixed-amd after_script:
# script: - *prepare_artfacts
# - bash builder/build-package fedora forty; script:
# - bash builder/build-package debian bookworm;
#build_fedora_forty_arm: only:
# extends: variables:
# - .base_build - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# tags: artifacts:
# - oci-fixed-arm paths:
# script: - output/
# - bash builder/build-package fedora forty;
# build_kali_rolling:
#build_fedora_fortyone: stage: build
# extends: allow_failure: true
# - .base_build tags:
# tags: - oci-fixed-amd
# - oci-fixed-amd before_script:
# script: - *prepare_build
# - bash builder/build-package fedora fortyone; - *prepare_www
# after_script:
#build_fedora_fortyone_arm: - *prepare_artfacts
# extends: script:
# - .base_build - bash builder/build-package kali kali-rolling;
# tags: only:
# - oci-fixed-arm variables:
# script: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# - bash builder/build-package fedora fortyone; artifacts:
paths:
- output/
build_kali_rolling_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package kali kali-rolling;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_oracle_8:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package oracle 8;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_oracle_8_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package oracle 8;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_oracle_9:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package oracle 9;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_oracle_9_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package oracle 9;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_opensuse_15:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package opensuse 15;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_opensuse_15_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package opensuse 15;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_thirtynine:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora thirtynine;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_thirtynine_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora thirtynine;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_forty:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora forty;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_forty_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora forty;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_fortyone:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora fortyone;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_fedora_fortyone_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package fedora fortyone;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
test: test:
stage: test stage: test
@ -281,67 +532,164 @@ test:
- *prepare_build - *prepare_build
artifacts: artifacts:
reports: reports:
junit: SelfBench.xml junit:
- SelfBench.xml
- Benchmark.xml
script: script:
- bash wget https://kasmweb-build-artifacts.s3.us-east-1.amazonaws.com/kasmvnc/static/127072-737747495_small.mp4
- bash ls -l
- bash builder/test-vncserver - bash builder/test-vncserver
#build_alpine_318:
# extends: .base_build build_alpine_318:
# tags: stage: build
# - oci-fixed-amd allow_failure: true
# script: tags:
# - bash builder/build-package alpine 318; - oci-fixed-amd
# before_script:
#build_alpine_318_arm: - *prepare_build
# extends: .base_build - *prepare_www
# tags: after_script:
# - oci-fixed-arm - *prepare_artfacts
# script: script:
# - bash builder/build-package alpine 318; - bash builder/build-package alpine 318;
# only:
#build_alpine_319: variables:
# extends: .base_build - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# tags: artifacts:
# - oci-fixed-amd paths:
# script: - output/
# - bash builder/build-package alpine 319;
# build_alpine_318_arm:
#build_alpine_319_arm: stage: build
# extends: .base_build allow_failure: true
# tags: tags:
# - oci-fixed-arm - oci-fixed-arm
# script: before_script:
# - bash builder/build-package alpine 319; - *prepare_build
# - *prepare_www
#build_alpine_320: after_script:
# extends: .base_build - *prepare_artfacts
# tags: script:
# - oci-fixed-amd - bash builder/build-package alpine 318;
# script: only:
# - bash builder/build-package alpine 320; variables:
# - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
#build_alpine_320_arm: artifacts:
# extends: .base_build paths:
# tags: - output/
# - oci-fixed-arm
# script: build_alpine_319:
# - bash builder/build-package alpine 320; stage: build
# allow_failure: true
#build_alpine_321: tags:
# extends: .base_build - oci-fixed-amd
# tags: before_script:
# - oci-fixed-amd - *prepare_build
# script: - *prepare_www
# - bash builder/build-package alpine 321; after_script:
# - *prepare_artfacts
#build_alpine_321_arm: script:
# extends: .base_build - bash builder/build-package alpine 319;
# tags: only:
# - oci-fixed-arm variables:
# script: - $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
# - bash builder/build-package alpine 321; artifacts:
paths:
- output/
build_alpine_319_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package alpine 319;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_alpine_320:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package alpine 320;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_alpine_320_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package alpine 320;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_alpine_321:
stage: build
allow_failure: true
tags:
- oci-fixed-amd
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package alpine 321;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
build_alpine_321_arm:
stage: build
allow_failure: true
tags:
- oci-fixed-arm
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package alpine 321;
only:
variables:
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
artifacts:
paths:
- output/
upload: upload:
stage: upload stage: upload
@ -382,8 +730,8 @@ upload:
upload_build_preview: upload_build_preview:
stage: upload stage: upload
needs: [ "upload" ] needs: ["upload"]
dependencies: [ "upload" ] dependencies: ["upload"]
image: ubuntu:focal image: ubuntu:focal
tags: tags:
- oci-fixed-amd - oci-fixed-amd