Skip to content
Snippets Groups Projects

Add initial version of ci-flatdeb-builder

Merged Ryan Gonzalez requested to merge wip/refi64/ci-flatdeb-builder into main
All threads resolved!
Files
3
+ 71
0
variables:
CI_FLATDEB_BUILDER_REPO: https://oauth2:${CI_JOB_TOKEN}@gitlab.apertis.org/infrastructure/ci-flatdeb-builder
CI_FLATDEB_BUILDER_REVISION: main
APERTIS_RELEASE_DEFAULT: v2023dev3
APERTIS_STABLE_RELEASE_DEFAULT: v2022
OSNAME: apertis
UPLOAD_HOST: archive@images.apertis.org
UPLOAD_ROOT_MAIN: /srv/images/test/$CI_COMMIT_REF_SLUG/main
UPLOAD_ROOT_TEST: /srv/images/test/$CI_COMMIT_REF_SLUG/test
REMOTE_URL_MAIN: https://images.apertis.org/test/$CI_COMMIT_REF_SLUG/main
REMOTE_URL_TEST: https://images.apertis.org/test/$CI_COMMIT_REF_SLUG/test
FLATDEB_REPO: /opt/apertis-flatdeb
DOCKER_IMAGE_TEMPLATE:
registry.gitlab.apertis.org/infrastructure/apertis-docker-images/{release}-flatdeb-builder
workflow:
rules:
- if: >
$CI_COMMIT_BRANCH
&& $CI_COMMIT_BRANCH !~ /^apertis\//
&& $CI_COMMIT_BRANCH != 'main'
&& $CI_COMMIT_BRANCH != 'master'
&& $CI_OPEN_MERGE_REQUESTS
# Do not run on a non-release branch if there's an MR open, run only in MR
# context so we can derive the release from the target branch.
when: never
# NOTE: This is doubly important for the tests because it uses an MR-context
# variable, which means that GitLab will actually run this pipeline in MR
# context. Without referencing some CI_MERGE_REQUEST_* variable, pipelines
# will *never* be run in MR context.
- if: >
$FLATDEB_BUILDER_TEST_DISABLE_BRANCH_PIPELINES == '1'
&& $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
when: never
- if: >
$FLATDEB_BUILDER_TEST_DISABLE_MR_PIPELINES == '1'
&& $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != null
when: never
- when: always
stages:
- generate
- run
generate-pipeline:
stage: generate
image: debian:bullseye-slim
variables:
GIT_DEPTH: 1
tags:
- lightweight
script:
- apt-get update
- apt-get install -y curl python3 python3-pip
- curl -LO "$CI_FLATDEB_BUILDER_REPO/-/raw/$CI_FLATDEB_BUILDER_REVISION/generate_pipeline.py"
- curl -LO "$CI_FLATDEB_BUILDER_REPO/-/raw/$CI_FLATDEB_BUILDER_REVISION/requirements.txt"
- python3 -m pip install -r requirements.txt
- python3 generate_pipeline.py -o pipeline.yaml
artifacts:
paths:
- pipeline.yaml
run-pipeline:
stage: run
needs:
- generate-pipeline
trigger:
strategy: depend
include:
- artifact: pipeline.yaml
job: generate-pipeline
Loading