The Gatekeeper, or a project gating system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

244 lines
7.1 KiB

- 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.5
parent: zuul-stream-functional
vars:
zuul_ansible_version: 2.5
- job:
name: zuul-stream-functional-2.6
parent: zuul-stream-functional
vars:
zuul_ansible_version: 2.6
- job:
name: zuul-stream-functional-2.7
parent: zuul-stream-functional
vars:
zuul_ansible_version: 2.7
- 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-content
success-url: 'npm/html/'
files:
- web/.*
- playbooks/dashboard/.*
vars:
javascript_content_dir: "../zuul/web/static"
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
zuul_api_url: https://zuul.openstack.org
run: playbooks/dashboard/run.yaml
- job:
name: zuul-build-dashboard-multi-tenant
parent: zuul-build-dashboard
vars:
zuul_api_url: https://softwarefactory-project.io/zuul
# 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
description: Run the commands in the Zuul quick-start documentation.
run: playbooks/quick-start/run.yaml
post-run: playbooks/quick-start/post.yaml
requires: docker-image
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
vars: &zuul_image_vars
docker_images:
- context: .
repository: zuul/zuul
target: zuul
- context: .
repository: zuul/zuul-executor
target: zuul-executor
- context: .
repository: zuul/zuul-fingergw
target: zuul-fingergw
- context: .
repository: zuul/zuul-merger
target: zuul-merger
- context: .
repository: zuul/zuul-scheduler
target: zuul-scheduler
- context: .
repository: zuul/zuul-web
target: zuul-web
- job:
name: zuul-upload-image
parent: opendev-upload-docker-image
description: Build Docker images and upload to Docker Hub.
allowed-projects: zuul/zuul
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
- project:
check:
jobs:
- zuul-build-image
- tox-docs
- tox-pep8
- tox-py35:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
nodeset: ubuntu-xenial
timeout: 2700 # 45 minutes
- tox-py36:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
timeout: 2700 # 45 minutes
- zuul-build-dashboard
- zuul-build-dashboard-multi-tenant
- nodejs-npm-run-lint:
vars:
node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-npm-run-test:
vars:
node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
success-url: 'npm/reports/bundle.html'
files:
- web/.*
- zuul-stream-functional-2.5
- zuul-stream-functional-2.6
- zuul-stream-functional-2.7
- zuul-tox-remote
- zuul-quick-start:
dependencies: zuul-build-image
- nodepool-zuul-functional:
voting: false
gate:
jobs:
- zuul-upload-image
- tox-docs
- tox-pep8
- tox-py35:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
nodeset: ubuntu-xenial
timeout: 2700 # 45 minutes
- tox-py36:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
timeout: 2700 # 45 minutes
- zuul-build-dashboard
- nodejs-npm-run-lint:
vars:
node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-npm-run-test:
vars:
node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
success-url: 'npm/reports/bundle.html'
files:
- web/.*
- zuul-stream-functional-2.5
- zuul-stream-functional-2.6
- zuul-stream-functional-2.7
- zuul-tox-remote
- zuul-quick-start:
dependencies: zuul-upload-image
post:
jobs:
- publish-zuul-docs
- publish-zuul-python-branch-tarball
- publish-openstack-javascript-content:
vars:
node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web"
create_tarball_directory: build
promote:
jobs:
- zuul-promote-image
release:
jobs:
- release-zuul-python
- publish-zuul-docs