101 lines
3.8 KiB
YAML
101 lines
3.8 KiB
YAML
- hosts: all
|
|
tasks:
|
|
- name: Install system dependencies
|
|
shell: dnf install -y python3-libdnf5
|
|
become: true
|
|
|
|
- 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 ]]"
|