airshipctl/zuul.d/jobs.yaml

202 lines
6.9 KiB
YAML

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- job:
name: airship-airshipctl-roles-test
run: tests/ansible/role-test-runner.yaml
nodeset: airship-airshipctl-single-node
files:
- ^roles/.*$
- job:
name: airship-airshipctl-golint
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
run: playbooks/airship-airshipctl-golint.yaml
nodeset: airship-airshipctl-single-node
voting: false
files: &gofiles
- ^Makefile$
- ^\.golangci\.yaml$
- ^(go\.(mod|sum)|.*\.go)$
- ^playbooks/airship-airshipctl-(golint|lint|unit)\.yaml$
- ^tools/(coverage_check|golint|gomod_check|install_linter)$
- job:
name: airship-airshipctl-lint
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
run: playbooks/airship-airshipctl-lint.yaml
nodeset: airship-airshipctl-single-node
- job:
name: airship-airshipctl-unit
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
run: playbooks/airship-airshipctl-unit.yaml
nodeset: airship-airshipctl-single-node
files: *gofiles
- job:
name: airship-airshipctl-check-github-issues
description: Checks if a Github issue is referenced in the commit message
run: playbooks/airship-airshipctl-check-github-issues.yaml
nodeset: airship-airshipctl-single-node
voting: false
- job:
name: airship-airshipctl-update-github-issues
description: Updates and/or closes related issues on Github on merge
run: playbooks/airship-airshipctl-update-github-issues.yaml
nodeset: airship-airshipctl-single-node
secrets:
- name: github_credentials
secret: airship_airshipctl_airshipit_github_token
- job:
name: airship-airshipctl-build-image
nodeset: airship-airshipctl-single-node
run: playbooks/airship-airshipctl-build-images.yaml
irrelevant-files: &noncodefiles
- ^certs/.*$
- ^docs/.*$
- ^.*\.md$
- ^\.github/.*$
- job:
name: airship-airshipctl-validate-site-docs
timeout: 3600
pre-run:
- playbooks/airship-airshipctl-deploy-docker.yaml
run: playbooks/airshipctl-gate-runner.yaml
nodeset: airship-airshipctl-single-node
irrelevant-files: *noncodefiles
vars:
gate_scripts:
- ./tools/deployment/01_install_kubectl.sh
- ./tools/deployment/21_systemwide_executable.sh
- ./tools/validate_docs
voting: false
- job:
name: airship-airshipctl-functional-existing-k8s
pre-run: playbooks/airship-airshipctl-deploy-existing-k8s.yaml
run: playbooks/airship-airshipctl-functional-existing-k8s.yaml
nodeset: airship-airshipctl-single-node
- job:
name: airship-airshipctl-upload-git-mirror
parent: upload-git-mirror
description: Mirrors airship/airshipctl to airshipit/airshipctl
vars:
git_mirror_repository: airshipit/airshipctl
secrets:
- name: git_mirror_credentials
secret: airship_airshipctl_airshipit_github_secret
pass-to-parent: true
- job:
name: airship-airshipctl-gate-script-runner
attempts: 1
timeout: 7200
pre-run:
- playbooks/airship-airshipctl-deploy-docker.yaml
- playbooks/airship-airshipctl-build-gate.yaml
post-run: playbooks/airship-collect-logs.yaml
run: playbooks/airshipctl-gate-runner.yaml
nodeset: airship-airshipctl-single-16GB-bionic-node
irrelevant-files: *noncodefiles
dependencies:
- name: openstack-tox-docs
soft: true
- name: airship-airshipctl-lint
soft: true
- name: airship-airshipctl-golint
soft: true
- name: airship-airshipctl-unit
soft: true
- name: airship-airshipctl-build-image
soft: true
- name: airship-airshipctl-validate-site-docs
soft: true
vars:
site_name: test-site
gate_scripts:
- ./tools/deployment/01_install_kubectl.sh
# 21_systemwide_executable.sh is run in the build-gate pre-run above
- ./tools/deployment/22_test_configs.sh
- ./tools/deployment/23_pull_documents.sh
- ./tools/deployment/24_build_ephemeral_iso.sh
- ./tools/deployment/25_deploy_ephemeral_node.sh
- ./tools/deployment/26_deploy_metal3_capi_ephemeral_node.sh
- ./tools/deployment/30_deploy_controlplane.sh
- ./tools/deployment/31_deploy_initinfra_target_node.sh
- ./tools/deployment/32_cluster_init_target_node.sh
- ./tools/deployment/33_cluster_move_target_node.sh
- ./tools/deployment/34_deploy_worker_node.sh
- ./tools/deployment/35_deploy_workload.sh
- ./tools/deployment/36_verify_hwcc_profiles.sh
serve_dir: /srv/iso
serve_port: 8099
log_roles:
- gather-system-logs
- airship-gather-apache-logs
- airship-gather-libvirt-logs
- airship-gather-runtime-logs
- airship-airshipctl-gather-configs
- describe-kubernetes-objects
- airship-gather-pod-logs
- job:
name: airship-airshipctl-gate-script-runner-azuretest
attempts: 1
timeout: 3600
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
post-run: playbooks/airship-collect-azure-logs.yaml
run: playbooks/airshipctl-gate-runner.yaml
nodeset: airship-airshipctl-single-node
irrelevant-files: *noncodefiles
dependencies:
- name: openstack-tox-docs
soft: true
- name: airship-airshipctl-lint
soft: true
- name: airship-airshipctl-golint
soft: true
- name: airship-airshipctl-unit
soft: true
- name: airship-airshipctl-build-image
soft: true
- name: airship-airshipctl-validate-site-docs
soft: true
vars:
site_name: azure-test-site
gate_scripts:
- ./tools/deployment/01_install_kubectl.sh
- ./tools/deployment/azure/11_build_kind_cluster.sh
- ./tools/deployment/21_systemwide_executable.sh
- ./tools/deployment/azure/31_create_configs.sh
- ./tools/deployment/azure/41_initialize_management_cluster.sh
serve_dir: /srv/iso
serve_port: 8099
voting: false
- job:
name: airship-airshipctl-publish-image
parent: airship-airshipctl-build-image
post-run: playbooks/airship-airshipctl-publish-images.yaml
irrelevant-files: *noncodefiles
secrets:
- name: airshipctl_image_repo_credentials
secret: airshipctl_image_repo_credentials
pass-to-parent: true
vars:
image: quay.io/airshipit/airshipctl
image_repo: https://quay.io/api/v1/