zuul-operator/.zuul.yaml
Jan Gutter b723bc761b
Publish zuul-operator to quay.io
* non-ci tested scripts need updating - these are intended for
  local development workflows.
* This now publishes the operator to quay.io/zuul-ci
* This is mostly a rework of
  https://review.opendev.org/c/zuul/zuul-operator/+/881245 and
  https://review.opendev.org/c/zuul/zuul-operator/+/924870
  with much appreciation and credits to original authors

Change-Id: I0ffd39fceeaf4947ed329dd4ddb7283cdc98df86
2024-08-18 12:32:57 +01:00

138 lines
5.3 KiB
YAML

- job:
description: Operator integration tests
name: zuul-operator-functional
abstract: true
run:
- playbooks/zuul-operator-functional/run.yaml
- playbooks/zuul-operator-functional/test.yaml
post-run: playbooks/zuul-operator-functional/post.yaml
vars:
# We disable userland-proxy to enable scheduler deployement to connect to the gearman service
# see: https://github.com/eclipse/che/issues/8134
docker_userland_proxy: false
container_runtime: docker
minikube_version: v1.33.1
- job:
description: Operator integration tests with Kubernetes
name: zuul-operator-functional-k8s
parent: zuul-operator-functional
pre-run: playbooks/zuul-operator-functional/pre-k8s.yaml
nodeset: ubuntu-noble
vars:
namespace: 'default'
- job:
description: Image and buildset registry job
name: zuul-operator-build-image
parent: opendev-build-container-image
allowed-projects: zuul/zuul-operator
requires:
- zuul-container-image
- zuul-registry-container-image
- nodepool-container-image
- python-builder-3.10-bullseye-container-image
- python-base-3.10-bullseye-container-image
provides:
- zuul-operator-container-image
vars: &image_vars
zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/zuul-operator'].src_dir }}"
promote_container_image_method: intermediate-registry
promote_container_image_job: zuul-operator-upload-image
container_command: docker
container_images:
- context: .
container_filename: build/Dockerfile
registry: quay.io
repository: quay.io/zuul-ci/zuul-operator
tags:
# If zuul.tag is defined: [ '3', '3.19', '3.19.0' ]. Only works for 3-component tags.
# Otherwise: ['latest']
"{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}"
- secret:
name: zuul-operator-registry-credentials
data:
quay.io:
username: zuul-ci+opendevzuul
password: !encrypted/pkcs1-oaep
- QEH6ht5DiBnOOaANKQvuLB6Ebe2w9tsnyVKbn7o+ULtt3Yl4og4m5pDjDHriUhyiTUFn8
lBh21BNtxg0zpjezUPNMIZQLg3lcmQZ29sZm6c3rIWcy9VmU287rZCN725AKzXYsy80VT
1Glk7GlyH9CNG2foUfEB+NY1rfjYTaGVJiz3x/SXe4LuSZZftyRyZlOZJ8QTw5cKKu7kz
xuiTwY9CaARkqyBULnf8XY4DeVYVq7E63UBMJ964BFm+KgBQQr1UUvP+TYC9YOMFzTZkO
EdceMMsZPYJhlM3FQXCEzfTlo+aEGijuFFpEGLhy+vd1J3PMRbrLHG1JfAK7bIXBSx8QV
+n6xO8290ojjyKTnwlPvFGoaxZ4cEP/r4sPl6PDZLuW7aKOzVRacojuVRijDHU/E9zHzT
tN2nwm3ZiMh5Sk59NAiW8CJuVuS1S4PCe5qs7k9efyBXPHXxSFt/StiLVZd0ftzZZxZ07
rGsb4gZk8QWNpShT3UthzieSCDvIl7sSmZVwKHZlwnI2JNsgSXkNvLeg5LUUoOv8w7tDG
EIxAUHxiTZqZLIb/zP0k6ET84HDXbOG3+8EhxNIMKPZeuykA+ycHwJQxJ7ykUGPKX/76v
GGtsGKSZlWjxT/Z3Xz5WFSy4iEG/1crrY1+vWPkb4Wgp5XFHo4SRR1TnJpZBQM=
api_token: !encrypted/pkcs1-oaep
- E8MqHar0rNwH/NK8CGyGI+b46NIbfwxCTJuhfs1xak6xrZPHC8C9IJdlC6IIxNlKE/8ND
KywN9Tx+wSnnOpTLWZmMmQSKAelZ3679q1QHPtGW6GZDE6OH2LWX7YCnD4z4XKZrzdRet
ZnYDNxVepg+V4S5kzrmRoGTcU1nMGHUcTnMTPKbs3hziS3tmNFUWTDUICxM7f6LpxlDfK
2tNSjLJ0gjmQ9NiyLt1/4+MJ9yCeZuFdWxsJd8f2y7b5fyrSXpWWl4q0E7x+3S5H5B7BK
7P7hmyCh3A7EURGNF2OkY8xKbwZHaKmUmKSKuhzxSYpThciJS6r0MLGswYgq9cDUUkQU7
uDQQPin6uDzmwH/I8g6eB9mjmAKc0yPpb4TmVQVQIy9bT5A+3RAWhv7FAzJZCsQRtrE/2
gChuGv3MCGHxrZr7DhI5A77a7vqxp4YR38OmKdCe2VfL0alSJsrzp1UGZKW7/uBKZjKMw
Mx4uE3yr5HyA0MCI21BXjWJYClFaSJ7FFFxsoCpYgVYzWM5CKGsytZYuWffuWHdnL+JdO
44OmxSw4On0E9vf0mSgMlY5JIYIwhoDWhPTI0lGgf4YBnOFnK1o2LLpv0BT/HopkgdJvQ
nmJMvnMKV5KF8Mcqt+T0esX8A1pkyrfpcanZa5X3F3ukl90UVH3Pt+MhDn5xjA=
- job:
description: Build container images and upload.
name: zuul-operator-upload-image
parent: opendev-upload-container-image
allowed-projects: zuul/zuul-operator
secrets:
name: container_registry_credentials
secret: zuul-operator-registry-credentials
pass-to-parent: true
requires:
- zuul-container-image
- zuul-registry-container-image
- nodepool-container-image
provides:
- zuul-operator-container-image
- python-builder-3.10-bullseye-container-image
- python-base-3.10-bullseye-container-image
vars: *image_vars
- job:
description: Promote previously uploaded images.
name: zuul-operator-promote-image
parent: opendev-promote-container-image
allowed-projects: zuul/zuul-operator
secrets:
name: container_registry_credentials
secret: zuul-operator-registry-credentials
pass-to-parent: true
nodeset:
nodes: []
vars: *image_vars
- project:
check:
jobs:
- nox-linters
- zuul-nox-docs
- zuul-operator-build-image
- zuul-operator-functional-k8s:
dependencies: zuul-operator-build-image
gate:
jobs:
- nox-linters
- zuul-nox-docs
- zuul-operator-upload-image
- zuul-operator-functional-k8s:
dependencies: zuul-operator-upload-image
promote:
jobs:
- zuul-promote-nox-docs
- zuul-operator-promote-image
release:
jobs:
- zuul-operator-upload-image:
vars:
<<: *image_vars
upload_container_image_promote: false