airshipctl/zuul.d/jobs.yaml
Rishabh Kumar Jain ae6ce6931b Integrate common infra provider zuul scripts
* add common scripts for providers capd/capg/capz/capo
    to do the following:
    - install kind (reuses  tools/document/get_kind.sh)
    - improve tools/document/start_kind.sh to use
      custom kind config file
    - created a script similar to 26_deploy_metal3_capi_ephemeral_node.sh,
      called tools/deployment/26_deploy_capi_ephemeral_node.sh and
      made it flexible for all providers (metal3/capd/capz/capg/capo)
    - deploy ephemeral control plane
    - initialize target node
    - move crds from ephemeral to target
    - deploy target workers

Closes: #413
Change-Id: If3520d000a03e5ed26d54e1ceedb2febfceccb3d
2020-12-11 16:45:07 -05:00

202 lines
7.5 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-docker
attempts: 1
timeout: 3600
pre-run: playbooks/airship-airshipctl-deploy-docker.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-unit
soft: true
- name: airship-airshipctl-golint
soft: true
- name: airship-airshipctl-build-image
soft: true
- name: airship-airshipctl-validate-site-docs
soft: true
vars:
site_name: docker-test-site
gate_scripts:
- ./tools/deployment/21_systemwide_executable.sh
- ./tools/deployment/01_install_kubectl.sh
- ./tools/deployment/provider_common/01_install_kind.sh
- ./tools/deployment/provider_common/02_install_jq.sh
- CLUSTER=ephemeral-cluster KIND_CONFIG=./tools/deployment/templates/kind-cluster-with-extramounts ./tools/document/start_kind.sh
- AIRSHIP_CONFIG_METADATA_PATH=manifests/site/docker-test-site/metadata.yaml SITE=docker-test-site EXTERNAL_KUBECONFIG="true" ./tools/deployment/22_test_configs.sh
- PROVIDER=default SITE=docker-test-site ./tools/deployment/26_deploy_capi_ephemeral_node.sh
- CONTROLPLANE_COUNT=1 SITE=docker-test-site ./tools/deployment/provider_common/30_deploy_controlplane.sh
- KUBECONFIG=/tmp/target-cluster.kubeconfig ./tools/deployment/provider_common/32_cluster_init_target_node.sh
- ./tools/deployment/provider_common/33_cluster_move_target_node.sh
- WORKERS_COUNT=2 KUBECONFIG=/tmp/target-cluster.kubeconfig SITE=docker-test-site ./tools/deployment/provider_common/34_deploy_worker_node.sh
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