ci-test/ci/validate.yaml
Timothée Ravier 3587add6e4 ci: Check dependency resolution for classic ostree variants
With the split between classic ostree variants and the Bootable
Container ones, we are starting to diverge in package set for those
images.

Make sure to validate dependency resolution for both variants.
2024-07-26 17:14:41 +02:00

97 lines
3.7 KiB
YAML

- hosts: all
tasks:
- name: Upgrade all packages
ansible.builtin.dnf:
name: "*"
state: latest
become: true
- 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: Verify that the comps and manifests are synced
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just validate comps-sync-check && touch .zuulci.comps"
# Still run the next step if this one fails
ignore_errors: true
- 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 Silverblue (ostree classic)
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run silverblue-ostree && touch .zuulci.silverblue-ostree"
# 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 Kinoite (ostree classic)
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run kinoite-ostree && touch .zuulci.kinoite-ostree"
# 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 sway-atomic && touch .zuulci.sway-atomic"
# Still run the next step if this one fails
ignore_errors: true
- name: Perform dependency resolution for Sway Atomic (ostree classic)
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run sway-atomic-ostree && touch .zuulci.sway-atomic-ostree"
# 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 budgie-atomic && touch .zuulci.budgie-atomic"
# Still run the next step if this one fails
ignore_errors: true
- name: Perform dependency resolution for Budgie Atomic (ostree classic)
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "just compose-dry-run budgie-atomic-ostree && touch .zuulci.budgie-atomic-ostree"
# 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-image base-atomic
- name: Check if any previous dependency resolution steps failed
ansible.builtin.shell:
chdir: "{{ zuul.project.src_dir }}"
cmd: "[[ -f .zuulci.comps ]] && [[ -f .zuulci.silverblue ]] && [[ -f .zuulci.silverblue-ostree ]] && [[ -f .zuulci.kinoite ]] && [[ -f .zuulci.kinoite-ostree ]] && [[ -f .zuulci.sway-atomic ]] && [[ -f .zuulci.sway-atomic-ostree ]] && [[ -f .zuulci.budgie-atomic ]] && [[ -f .zuulci.budgie-atomic-ostree ]]"