9cb2e52c59
Opendev runs a caching mirror for npm packages. Use it when running yarn install during tox tests. Due to the way yarn.lock files work at the moment we need to patch the lockfile on the fly to inject the mirror urls [1]. This can be handlel inside the pip.sh where we patch the lockfile, run yarn and reset it afterwards. [1] https://github.com/yarnpkg/yarn/issues/2566 Change-Id: Id1f2daac8327f3110e6beeb2d6391baccfd3ce34
340 lines
11 KiB
YAML
340 lines
11 KiB
YAML
- nodeset:
|
|
name: zuul-functional-temp-master
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
- name: node1
|
|
label: ubuntu-xenial
|
|
- name: node2
|
|
label: ubuntu-xenial
|
|
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.7
|
|
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.7
|
|
vars:
|
|
zuul_ansible_version: 2.7
|
|
|
|
- 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
|
|
success-url: 'http://zuul.opendev.org/t/zuul/build/{build.uuid}'
|
|
failure-url: 'http://zuul.opendev.org/t/zuul/build/{build.uuid}'
|
|
vars:
|
|
zuul_ansible_version: 2.9
|
|
|
|
- job:
|
|
name: zuul-tox-remote
|
|
parent: tox
|
|
vars:
|
|
tox_envlist: remote
|
|
tox_environment:
|
|
ZUUL_SSH_KEY: /home/zuul/.ssh/id_rsa
|
|
ZUUL_REMOTE_IPV4: "{{ nodepool.interface_ip }}"
|
|
ZUUL_REMOTE_KEEP: "true"
|
|
|
|
- job:
|
|
name: zuul-build-dashboard
|
|
parent: build-javascript-deployment
|
|
description: |
|
|
Builds the zuul dashboard without an overridden API URL.
|
|
success-url: 'npm/html/'
|
|
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 quick-start documentation.
|
|
pre-run: playbooks/quick-start/pre.yaml
|
|
run: playbooks/quick-start/run.yaml
|
|
post-run: playbooks/quick-start/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.7-container-image
|
|
- python-base-3.7-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.7-container-image
|
|
- python-base-3.7-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: 14
|
|
release_python: python3
|
|
check:
|
|
jobs:
|
|
- zuul-build-image
|
|
- zuul-tox-docs
|
|
- tox-linters:
|
|
vars:
|
|
tox_install_bindep: false
|
|
- tox-py35:
|
|
irrelevant-files:
|
|
- zuul/cmd/migrate.py
|
|
- playbooks/zuul-migrate/.*
|
|
nodeset: ubuntu-xenial
|
|
timeout: 4800 # 80 minutes
|
|
vars: &zuul_tox_vars
|
|
test_setup_environment:
|
|
ZUUL_TEST_ROOT: /tmp/zuul-test
|
|
YARN_REGISTRY: "https://{{ zuul_site_mirror_fqdn }}:4443/registry.npmjs"
|
|
tox_environment:
|
|
ZUUL_TEST_ROOT: /tmp/zuul-test
|
|
YARN_REGISTRY: "https://{{ zuul_site_mirror_fqdn }}:4443/registry.npmjs"
|
|
- tox-py38:
|
|
irrelevant-files:
|
|
- zuul/cmd/migrate.py
|
|
- playbooks/zuul-migrate/.*
|
|
timeout: 4800 # 80 minutes
|
|
nodeset: ubuntu-bionic
|
|
vars: *zuul_tox_vars
|
|
- 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"
|
|
success-url: 'npm/reports/bundle.html'
|
|
files:
|
|
- web/.*
|
|
- zuul-stream-functional-2.7
|
|
- zuul-stream-functional-2.8
|
|
- zuul-stream-functional-2.9
|
|
- zuul-tox-remote:
|
|
timeout: 2700 # 45 minutes
|
|
- zuul-quick-start:
|
|
requires: nodepool-container-image
|
|
dependencies: zuul-build-image
|
|
- nodepool-zuul-functional:
|
|
voting: false
|
|
- zuul-build-python-release
|
|
gate:
|
|
jobs:
|
|
- zuul-upload-image
|
|
- zuul-tox-docs
|
|
- tox-linters:
|
|
vars:
|
|
tox_install_bindep: false
|
|
- tox-py35:
|
|
irrelevant-files:
|
|
- zuul/cmd/migrate.py
|
|
- playbooks/zuul-migrate/.*
|
|
nodeset: ubuntu-xenial
|
|
timeout: 4800 # 80 minutes
|
|
vars: *zuul_tox_vars
|
|
- tox-py38:
|
|
irrelevant-files:
|
|
- zuul/cmd/migrate.py
|
|
- playbooks/zuul-migrate/.*
|
|
timeout: 4800 # 80 minutes
|
|
nodeset: ubuntu-bionic
|
|
vars: *zuul_tox_vars
|
|
- 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"
|
|
success-url: 'npm/reports/bundle.html'
|
|
files:
|
|
- web/.*
|
|
- zuul-stream-functional-2.7
|
|
- zuul-stream-functional-2.8
|
|
- zuul-stream-functional-2.9
|
|
- zuul-tox-remote:
|
|
timeout: 2700 # 45 minutes
|
|
- zuul-quick-start:
|
|
requires: nodepool-container-image
|
|
dependencies: zuul-upload-image
|
|
- 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:
|
|
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
|