KasmVNC/.gitlab-ci.yml

235 lines
4.9 KiB
YAML
Raw Normal View History

2021-01-18 20:12:23 +01:00
image: docker
services:
- docker:dind
variables:
GITLAB_SHARED_DIND_DIR: /builds/$CI_PROJECT_PATH/shared
2021-03-30 21:32:18 +02:00
GIT_SUBMODULE_STRATEGY: normal
2021-03-18 11:19:28 +01:00
GIT_FETCH_EXTRA_FLAGS: --tags
2021-01-18 20:12:23 +01:00
stages:
- www
2021-01-18 20:12:23 +01:00
- build
2021-03-18 11:19:28 +01:00
- upload
2021-03-18 10:56:03 +01:00
.prepare_build: &prepare_build
- pwd
- apk add bash
- mkdir -p "$GITLAB_SHARED_DIND_DIR" && chmod 777 "$GITLAB_SHARED_DIND_DIR"
.prepare_www: &prepare_www
- tar -zxf output/www/kasm_www.tar.gz -C builder/
2021-03-18 11:17:52 +01:00
.prepare_artfacts: &prepare_artfacts
- cp -r builder/build/* output/
- rm output/*.tar.gz
build_www:
stage: www
allow_failure: false
before_script:
- *prepare_build
script:
- webpacked_www=$PWD/builder/www
- src_www=kasmweb
- docker build -t kasmweb/www -f builder/dockerfile.www.build .
- docker run --rm -v $PWD/builder/www:/build kasmweb/www:latest
- mkdir -p output/www
- cd builder
- tar -zcvf ../output/www/kasm_www.tar.gz www
artifacts:
paths:
- output/
2021-03-18 11:19:28 +01:00
build_ubuntu_bionic:
2021-01-18 20:12:23 +01:00
stage: build
allow_failure: true
2021-03-18 10:56:03 +01:00
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package ubuntu bionic
artifacts:
paths:
- output/
build_ubuntu_bionic_arm:
stage: build
allow_failure: false
tags:
- arm
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:17:52 +01:00
after_script:
- *prepare_artfacts
2021-01-18 20:12:23 +01:00
script:
2021-03-18 11:19:28 +01:00
- bash builder/build-package ubuntu bionic
2021-01-18 20:12:23 +01:00
artifacts:
paths:
- output/
2021-03-18 11:19:28 +01:00
build_ubuntu_bionic_libjpeg_turbo:
stage: build
allow_failure: false
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package ubuntu bionic +libjpeg-turbo_latest
artifacts:
paths:
- output/
2021-03-18 11:19:28 +01:00
build_ubuntu_focal:
stage: build
allow_failure: true
2021-03-18 11:19:28 +01:00
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package ubuntu focal;
artifacts:
paths:
- output/
build_ubuntu_focal_arm:
stage: build
allow_failure: true
tags:
- arm
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:19:28 +01:00
after_script:
- *prepare_artfacts
script:
- bash builder/build-package ubuntu focal;
artifacts:
paths:
- output/
build_debian_buster:
stage: build
allow_failure: true
2021-03-18 11:19:28 +01:00
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package debian buster;
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[full [cC][Ii]\]/
artifacts:
paths:
- output/
build_debian_buster_arm:
stage: build
allow_failure: true
tags:
- arm
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:19:28 +01:00
after_script:
- *prepare_artfacts
script:
- bash builder/build-package debian buster;
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[full [cC][Ii]\]/
2021-03-18 11:19:28 +01:00
artifacts:
paths:
- output/
build_debian_bullseye:
stage: build
allow_failure: true
2021-03-18 11:19:28 +01:00
before_script:
- *prepare_build
- *prepare_www
after_script:
- *prepare_artfacts
script:
- bash builder/build-package debian bullseye;
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[full [cC][Ii]\]/
artifacts:
paths:
- output/
build_debian_bullseye_arm:
stage: build
allow_failure: true
tags:
- arm
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:19:28 +01:00
after_script:
- *prepare_artfacts
script:
- bash builder/build-package debian bullseye;
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[full [cC][Ii]\]/
2021-03-18 11:19:28 +01:00
artifacts:
paths:
- output/
build_kali_rolling:
2021-01-18 20:12:23 +01:00
stage: build
allow_failure: true
2021-03-18 11:19:28 +01:00
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:19:28 +01:00
after_script:
- *prepare_artfacts
2021-01-18 20:12:23 +01:00
script:
2021-03-18 11:19:28 +01:00
- bash builder/build-package kali kali-rolling;
2021-01-18 20:12:23 +01:00
artifacts:
paths:
- output/
2021-03-18 11:19:28 +01:00
build_centos7:
stage: build
allow_failure: true
2021-03-18 11:19:28 +01:00
before_script:
- *prepare_build
- *prepare_www
2021-03-18 11:19:28 +01:00
after_script:
- *prepare_artfacts
script:
- bash builder/build-package centos core
artifacts:
paths:
- output/
upload:
stage: upload
image: ubuntu:focal
before_script:
- . .ci/upload.sh
script:
- export S3_BUILD_DIRECTORY="kasmvnc/${CI_COMMIT_SHA}"
- prepare_to_run_scripts_and_s3_uploads
- export RELEASE_VERSION=$(.ci/next_release_version "$CI_COMMIT_REF_NAME")
- for package in `find output/ -type f -name '*.deb' -or -name '*.rpm'`; do
2021-03-18 11:19:28 +01:00
prepare_upload_filename "$package";
echo;
echo "File to upload $upload_filename";
upload_to_s3 "$package" "$upload_filename";
UPLOAD_NAME=$(echo $upload_filename | sed 's#kasmvncserver_##' | sed -r 's#_([0-9]{1,3}\.){2}[0-9]{1,2}_\S+?([a-f0-9]{6})##' | sed -r 's#\.(deb|rpm)##');
curl --request POST --header "PRIVATE-TOKEN:${GITLAB_API_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/statuses/${CI_COMMIT_SHA}?state=success&name=${UPLOAD_NAME}&target_url=${S3_URL}";
2021-03-18 11:19:28 +01:00
done