Files
zuul/.zuul.yaml
Clark Boylan bb52902303 Update nodejs runtime to version 16
We had been using version 14 which is the previous LTS. Now there are
problems running:

  npx browserslist@latest --update-db

running out of memory. Update to the current nodejs LTS version to
ensure we are running an up to date runtime that hopefully performs more
consistently with the browserslist command.

Change-Id: Ib20c1090ea0f30b7dac2780b6ed963dd6e4b6f77
2022-03-14 15:29:31 -07:00

360 lines
11 KiB
YAML

- nodeset:
name: zuul-functional-temp-master
nodes:
# python_path in playbooks/zuul-stream/functional.yaml and
# callback_plugins in playbooks/zuul-stream/templates/ansible.cfg.j2
# need their python versions updated when these labels change to
# a platform that uses a different python version.
- name: controller
label: ubuntu-focal
- name: node1
label: ubuntu-focal
- name: node2
label: ubuntu-focal
groups:
- name: node
nodes:
- node1
- node2
- job:
name: zuul-stream-functional
parent: multinode
nodeset: zuul-functional-temp-master
pre-run: playbooks/zuul-stream/pre.yaml
run: playbooks/zuul-stream/functional.yaml
post-run:
- playbooks/zuul-stream/post.yaml
- playbooks/zuul-stream/post-ara.yaml
files:
- zuul/ansible/.*
- zuul/lib/ansible*
- playbooks/zuul-stream/.*
- job:
name: zuul-stream-functional-2.8
parent: zuul-stream-functional
# Force executor to use same Ansible version as "controller" node so
# that the inventory.yaml file will be correct for that version.
ansible-version: 2.8
vars:
zuul_ansible_version: 2.8
- job:
name: zuul-stream-functional-2.9
parent: zuul-stream-functional
vars:
zuul_ansible_version: 2.9
- job:
name: zuul-tox
description: |
Zuul unit tests with ZooKeeper running
parent: tox
nodeset: ubuntu-focal
pre-run: playbooks/zuul-tox/pre.yaml
post-run: playbooks/zuul-tox/post-system-logs.yaml
vars:
tox_environment:
ZUUL_ZK_CA: /opt/zookeeper/ca/certs/cacert.pem
ZUUL_ZK_CERT: /opt/zookeeper/ca/certs/client.pem
ZUUL_ZK_KEY: /opt/zookeeper/ca/keys/clientkey.pem
ZUUL_TEST_ROOT: /tmp/zuul-test
YARN_REGISTRY: "https://{{ zuul_site_mirror_fqdn }}:4443/registry.npmjs"
test_setup_environment:
ZUUL_TEST_ROOT: /tmp/zuul-test
YARN_REGISTRY: "https://{{ zuul_site_mirror_fqdn }}:4443/registry.npmjs"
- job:
name: zuul-tox-remote
parent: tox
timeout: 2700 # 45 minutes
pre-run: playbooks/zuul-tox/pre.yaml
post-run: playbooks/zuul-tox/post-system-logs.yaml
vars:
tox_envlist: remote
tox_environment:
ZUUL_ZK_CA: /opt/zookeeper/ca/certs/cacert.pem
ZUUL_ZK_CERT: /opt/zookeeper/ca/certs/client.pem
ZUUL_ZK_KEY: /opt/zookeeper/ca/keys/clientkey.pem
ZUUL_SSH_KEY: /home/zuul/.ssh/id_rsa
ZUUL_REMOTE_IPV4: "{{ nodepool.interface_ip }}"
ZUUL_REMOTE_KEEP: "true"
- job:
name: zuul-tox-zuul-client
parent: zuul-tox
description: |
Test that Zuul and zuul-client work together.
required-projects:
- zuul/zuul
- zuul/zuul-client
vars:
zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/zuul'].src_dir }}"
tox_envlist: zuul_client
- job:
name: zuul-tox-py36
parent: zuul-tox
timeout: 5400 # 90 minutes
vars:
tox_envlist: py36
python_version: 3.6
nodeset: ubuntu-bionic
- job:
name: zuul-tox-py38
parent: zuul-tox
timeout: 5400 # 90 minutes
vars:
tox_envlist: py38
python_version: 3.8
- job:
name: zuul-tox-py38-multi-scheduler
parent: zuul-tox-py38
voting: false
vars:
tox_environment:
ZUUL_SCHEDULER_COUNT: 2
- job:
name: zuul-build-dashboard
parent: build-javascript-deployment
description: |
Builds the zuul dashboard without an overridden API URL.
files: &zuul_build_dashboard_files
- web/.*
- playbooks/dashboard/.*
vars:
javascript_content_dir: "build"
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
create_tarball_directory: build
run: playbooks/dashboard/run.yaml
- job:
name: zuul-build-dashboard-openstack-whitelabel
parent: zuul-build-dashboard
description: |
Builds the zuul dashboard with API URL pointing to
https://zuul.openstack.org, which tests whitelabeled
deployments.
vars:
zuul_api_url: https://zuul.openstack.org
- job:
name: zuul-build-dashboard-software-factory
parent: zuul-build-dashboard
description: |
Builds the zuul dashboard with API URL pointing to
https://softwarefactory-project.io/zuul, which tests
multi-tenant deployments on a suburl, as well as letting
us check that dashboard changes won't break the
softwarefactory service.
vars:
zuul_api_url: https://softwarefactory-project.io/zuul
- job:
name: zuul-build-dashboard-opendev
parent: zuul-build-dashboard
description: |
Builds the zuul dashboard with API URL pointing to
https://zuul.opendev.org, which tests multi-tenant
deployments not on a suburl, as well as letting us
check that dashboard changes won't break the
OpenDev service.
vars:
zuul_api_url: https://zuul.opendev.org
# This job is run on changes to both Zuul and Nodepool; any changes to
# the other project will be picked up via image builds which appear in
# the buildset registry. It includes zuul as a required project
# because that is where the docker-compose file is located.
- job:
name: zuul-quick-start
parent: opendev-buildset-registry-consumer
description: Run the commands in the Zuul tutorial quick-start documentation.
pre-run: playbooks/tutorial/pre.yaml
run: playbooks/tutorial/run.yaml
post-run: playbooks/tutorial/post.yaml
required-projects:
- zuul/zuul
# Image building jobs
- secret:
name: zuul-dockerhub
data:
username: zuulzuul
password: !encrypted/pkcs1-oaep
- DFlbrDM5eUMptMGIVMXV1g455xOJLi92UYF08Z2/JlIGu3t6v052o9FKlVyj1ZmpXs5+2
JTa5jHkLTvTsYs9fCaNcQc2nmViCyWNlbOMzjB17uiZOaYFNs1sMqZcUZbGEz7Y8ds6Qq
NBXI10jWFPTah4QxUuBvUbT3vmjnUToCzexl5ZGhKgijcnROWfUsnlCdugpgoNIcPsUki
zty5FotDihnrC8n8vIomVK6EClY38ty97pLrADzFDd+Cos/OUlvi2xooUhzx8Bn020rJA
lqEU5v8LGXp5QkHx0MSDx6JY6KppJ/4p/yM+4By6l+A20zdcimxmgiNc9rMWPwDj7xsao
m7NAZWmWqOO0Xkhgt6WOfugwgt9X46sgs2+yDEfbnI5ok8uRbAB/4FWj/KdpyXwhcf+O2
wEfhxLwDbAoGONQPjb4YcZmCXtmR7Qe5t+n2jyczWXvrbaBDUQP5a+YtVNN/xhmQ7D740
POlxv7bLxJAixzqaQ3d8Rz9ZEv6zzRuhWph32UQtZ1JxSNww+EvmXm2eEi2Q2z6pT1Cx/
j2OrFyA2GL/UJOVb15VHKF6bgHPHWJtpjPFhqdcvBhVute4BWB+KPcWH+y+apHN1enK3H
tNJO9iqm34nKwSuj5ExmFw50LtwR5/9FyRuRPq/vBL+8y82v8FDmeYsBeobn5M=
- job:
name: zuul-build-image
parent: opendev-build-docker-image
description: Build Docker images.
allowed-projects: zuul/zuul
timeout: 2700 # 45 minutes
requires:
- python-builder-3.8-bullseye-container-image
- python-base-3.8-bullseye-container-image
provides: zuul-container-image
vars: &zuul_image_vars
docker_images:
- context: .
repository: zuul/zuul
target: zuul
tags:
# If zuul.tag is defined: [ '3', '3.19', '3.19.0' ]. Only works for 3-component tags.
# Otherwise: ['latest']
&imagetag "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}"
- context: .
repository: zuul/zuul-executor
target: zuul-executor
tags: *imagetag
- context: .
repository: zuul/zuul-fingergw
target: zuul-fingergw
tags: *imagetag
- context: .
repository: zuul/zuul-merger
target: zuul-merger
tags: *imagetag
- context: .
repository: zuul/zuul-scheduler
target: zuul-scheduler
tags: *imagetag
- context: .
repository: zuul/zuul-web
target: zuul-web
tags: *imagetag
- job:
name: zuul-upload-image
parent: opendev-upload-docker-image
description: Build Docker images and upload to Docker Hub.
allowed-projects: zuul/zuul
requires:
- python-builder-3.8-bullseye-container-image
- python-base-3.8-bullseye-container-image
provides: zuul-container-image
secrets:
name: docker_credentials
secret: zuul-dockerhub
pass-to-parent: true
vars: *zuul_image_vars
- job:
name: zuul-promote-image
parent: opendev-promote-docker-image
description: Promote previously uploaded Docker images.
allowed-projects: zuul/zuul
secrets:
name: docker_credentials
secret: zuul-dockerhub
pass-to-parent: true
nodeset:
nodes: []
vars: *zuul_image_vars
- job:
name: zuul-build-python-release
parent: build-python-release
pre-run: playbooks/release/pre.yaml
- job:
name: zuul-release-python
parent: opendev-release-python
pre-run: playbooks/release/pre.yaml
- project:
vars:
node_version: 16
release_python: python3
check:
jobs:
- zuul-build-image
- zuul-tox-docs
- tox-linters:
vars:
tox_install_bindep: false
- zuul-tox-py36
- zuul-tox-py38
- zuul-tox-py38-multi-scheduler
- zuul-build-dashboard-openstack-whitelabel
- zuul-build-dashboard-software-factory
- zuul-build-dashboard-opendev
- nodejs-run-lint:
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-run-test:
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
files:
- web/.*
- zuul-stream-functional-2.8
- zuul-stream-functional-2.9
- zuul-tox-remote
- zuul-quick-start:
requires: nodepool-container-image
dependencies: zuul-build-image
- zuul-tox-zuul-client
- zuul-build-python-release
gate:
jobs:
- zuul-upload-image
- zuul-tox-docs
- tox-linters:
vars:
tox_install_bindep: false
- zuul-tox-py36
- zuul-tox-py38
- zuul-build-dashboard
- nodejs-run-lint:
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-run-test:
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
files:
- web/.*
- zuul-stream-functional-2.8
- zuul-stream-functional-2.9
- zuul-tox-remote
- zuul-quick-start:
requires: nodepool-container-image
dependencies: zuul-upload-image
- zuul-tox-zuul-client
- zuul-build-python-release
promote:
jobs:
- zuul-promote-image
- zuul-promote-docs
- opendev-promote-python:
vars:
download_artifact_job: zuul-build-python-release
- opendev-promote-javascript-deployment-tarball:
files: *zuul_build_dashboard_files
vars:
download_artifact_job: zuul-build-dashboard
release:
jobs:
- zuul-release-python
- zuul-publish-tox-docs
- upload-docker-image:
secrets:
name: docker_credentials
secret: zuul-dockerhub
pass-to-parent: true
vars:
<<: *zuul_image_vars
upload_docker_image_promote: false