ci-test/ci/validate.yaml
Timothée Ravier 4b90deb10d ci: Split dependency check and run checks all on failures
- Split the dependency check into a distinct step for each variant
- If the dependency test failed, still run the compose base test to get
  results about it
- Add a step at the end to make sure that if any step fails, the
  workflow still fail

See: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_error_handling.html#ignoring-failed-commands
See discussion in: https://pagure.io/workstation-ostree-config/pull-request/493
2024-03-01 20:10:05 +01:00

56 lines
1.9 KiB
YAML

- hosts: all
tasks:
- name: Install dependencies
package:
name:
- 'jq'
- 'just'
- 'ostree'
- 'python3-pyyaml'
- 'rpm-ostree'
- 'selinux-policy-targeted'
state: present
become: true
- name: Validate manifests and scripts syntax
ansible.builtin.command:
chdir: "{{ zuul.project.src_dir }}"
cmd: just validate
- name: Perform dependency resolution for Silverblue
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run silverblue && touch .zuulci.silverblue"
# Still run the next step if this one fails
ignore_errors: true
- name: Perform dependency resolution for Kinoite
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run kinoite && touch .zuulci.kinoite"
# Still run the next step if this one fails
ignore_errors: true
- name: Perform dependency resolution for Sway Atomic
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run sericea && touch .zuulci.sericea"
# Still run the next step if this one fails
ignore_errors: true
- name: Perform dependency resolution for Budgie Atomic
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run onyx && touch .zuulci.onyx"
# Still run the next step if this one fails
ignore_errors: true
- name: Compose the base variant
ansible.builtin.command:
chdir: "{{ zuul.project.src_dir }}"
cmd: just compose-legacy base
- name: Check if any previous dependency resolution steps failed
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "[[ -f .zuulci.silverblue ]] && [[ -f .zuulci.kinoite ]] && [[ -f .zuulci.sericea ]] && [[ -f .zuulci.onyx ]]"