- 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: "../zuul/web/static" 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 vars: &zuul_build_vars release_python: python3 - job: name: zuul-release-python parent: opendev-release-python pre-run: playbooks/release/pre.yaml vars: *zuul_build_vars - project: vars: node_version: 14 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: test_setup_environment: ZUUL_TEST_ROOT: /tmp/zuul-test tox_environment: ZUUL_TEST_ROOT: /tmp/zuul-test - tox-py38: irrelevant-files: - zuul/cmd/migrate.py - playbooks/zuul-migrate/.* timeout: 4800 # 80 minutes nodeset: ubuntu-bionic vars: test_setup_environment: ZUUL_TEST_ROOT: /tmp/zuul-test tox_environment: ZUUL_TEST_ROOT: /tmp/zuul-test - 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: test_setup_environment: ZUUL_TEST_ROOT: /tmp/zuul-test tox_environment: ZUUL_TEST_ROOT: /tmp/zuul-test - tox-py38: irrelevant-files: - zuul/cmd/migrate.py - playbooks/zuul-migrate/.* timeout: 4800 # 80 minutes nodeset: ubuntu-bionic vars: test_setup_environment: ZUUL_TEST_ROOT: /tmp/zuul-test tox_environment: ZUUL_TEST_ROOT: /tmp/zuul-test - 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