Fix ansible-linter issues

Signed-off-by: Diego Herrera <dherrera@redhat.com>
This commit is contained in:
Diego Herrera
2025-08-12 17:25:54 -04:00
parent d52971b34d
commit 8120c83852
3 changed files with 62 additions and 50 deletions

View File

@@ -38,14 +38,14 @@
# Define variables
checkout_path: "/srv/git/rpms"
BLOCKED_PACKAGES:
blocked_packages:
- asahi-installer
- asahi-scripts
- m1n1
tasks:
- name: Check for input errors
assert:
ansible.builtin.assert:
that:
- 'release is defined'
- 'branch_from is defined'
@@ -54,14 +54,14 @@
fail_msg: The release value is not a valid version.
- name: Get all package names from the rpms directory
find:
ansible.builtin.find:
paths: "{{ checkout_path }}"
file_type: directory
patterns: '*.git'
register: found_packages
- name: List package names
set_fact:
ansible.builtin.set_fact:
package_list: "{{
found_packages['files'] |
map(attribute='path') |
@@ -70,11 +70,16 @@
list }}"
- name: Remove blocked packages
set_fact:
package_list_blocked: '{{ package_list | difference(BLOCKED_PACKAGES) | list }}'
ansible.builtin.set_fact:
package_list_blocked: '{{ package_list | difference(blocked_packages) | list }}'
- name: Filtering packages that do not have a {{ branch_from }} .spec file...
shell: "git -C \"{{ checkout_path }}/{{ item }}.git\" ls-tree -r {{ branch_from }} --name-only | grep -qE \"^{{ item }}\\.spec$\""
# ansible git module can't list files of a target
- name: Filtering packages that do not have a .spec file. # noqa: command-instead-of-module
ansible.builtin.shell:
cmd: |
set -o pipefail
git -C "{{ checkout_path }}/{{ item }}.git" ls-tree -r {{ branch_from }} --name-only | grep -qE "^{{ item }}\\.spec$"
executable: /bin/bash
loop: "{{ package_list_blocked }}"
check_mode: false
changed_when: false
@@ -84,7 +89,7 @@
register: existing_branch_query
- name: Get filtered packages
set_fact:
ansible.builtin.set_fact:
package_list_filtered: "{{
existing_branch_query.results |
selectattr('rc', 'equalto', 0) |
@@ -92,7 +97,7 @@
list }}"
- name: Fetch retired packages from Fedora JSON source
uri:
ansible.builtin.uri:
url: https://src.fedoraproject.org/lookaside/retired_in_{{ branch_from }}.json
return_content: true
register: retired_query
@@ -100,14 +105,14 @@
failed_when: retired_query is failed
- name: Remove retired packages from the full package list to get active packages
set_fact:
ansible.builtin.set_fact:
package_list_final: "{{
package_list_filtered |
difference(retired_query.json |
community.general.json_query(branch_from + '[]')) }}"
- name: Show package information
debug:
ansible.builtin.debug:
msg:
- "This process will create epel{{ release }} branches on projects that have the {{ branch_from }} branch."
- "{{ (package_list_final | length) }} out of the {{ (package_list | length) }} available packages will be branched."
@@ -115,10 +120,12 @@
- "- {{ (package_list_blocked | length) - (package_list_filtered | length) }} where filtered because they don't have an active {{ branch_from }} branch."
- "- {{ (package_list_filtered | length) - (package_list_final | length) }} where retired from {{ branch_from }}."
- pause: prompt="This will start the branching process. Hit enter to confirm!"
- name: Prompt for confirmation
ansible.builtin.pause:
prompt: This will start the branching process. Hit enter to confirm!
- name: Create new epel{{release}} branch starting from the {{ branch_from }} branch on the repo stored in the {{ checkout_path }} path
shell: |
- name: Create new epel branch for the new release
ansible.builtin.shell: |
if [ "$( git -C '{{ checkout_path }}/{{ item }}.git' rev-parse --verify epel{{ release }} 2> /dev/null)" != "$( git -C '{{ checkout_path }}/{{ item }}.git' rev-parse --verify {{ branch_from }} 2> /dev/null)" ]
then
git -C '{{ checkout_path }}/{{ item }}.git' branch epel{{ release }} {{ branch_from }}

View File

@@ -26,12 +26,9 @@
old_release: "{{ release_major }}.{{ old_release_minor }}"
primary_arches: "x86_64 aarch64 ppc64le s390x"
collections:
- ktdreyer.koji_ansible
tasks:
- name: Check for input errors
assert:
ansible.builtin.assert:
that:
- 'release is defined'
- 'release_major|int|string == release_major'
@@ -39,8 +36,8 @@
- 'release_minor|int > 0'
fail_msg: The release value is not a valid version.
- name: Create external repos for EPEL{{ release }}
koji_external_repo:
- name: Create external repos for EPEL minor release
ktdreyer.koji_ansible.koji_external_repo:
koji: "{{ koji_profile }}"
name: "{{ item.name }}"
url: "{{ item.url }}"
@@ -50,8 +47,8 @@
- {'name': 'el{{ release }}-appstream', 'url': 'https://infrastructure.fedoraproject.org/repo/centos/centos-10/AppStream/$arch/os/'}
- {'name': 'el{{ release }}-crb', 'url': 'https://infrastructure.fedoraproject.org/repo/centos/centos-10/CRB/$arch/os/'}
- name: Add main tag for EPEL{{ release }}
koji_tag:
- name: Add main tag for EPEL minor release
ktdreyer.koji_ansible.koji_tag:
koji: "{{ koji_profile }}"
name: "epel{{ release }}-base"
arches: "{{ primary_arches }}"
@@ -64,8 +61,8 @@
- repo: "el{{ release }}-crb"
priority: 30
- name: Fix old external repos for EPEL{{ old_release }}
koji_external_repo:
- name: Fix external repos for EPEL old release
ktdreyer.koji_ansible.koji_external_repo:
koji: "{{ koji_profile }}"
name: "{{ item.name }}"
url: "{{ item.url }}"
@@ -75,11 +72,12 @@
- {'name': 'el{{ old_release }}-appstream', 'url': 'https://infrastructure.fedoraproject.org/repo/centos/centos-10-snapshot/AppStream/$arch/os/'}
- {'name': 'el{{ old_release }}-crb', 'url': 'https://infrastructure.fedoraproject.org/repo/centos/centos-10-snapshot/CRB/$arch/os/'}
- name: Clone epel{{ old_release }} tag into epel{{ release }}
ansible.builtin.command: "koji --profile {{ koji_profile }} clone-tag --all --latest-only epel{{ old_release }} epel{{ release }}"
- name: Clone EPEL old release tag into the new release
ansible.builtin.command: koji --profile {{ koji_profile }} clone-tag --all --latest-only epel{{ old_release }} epel{{ release }}
changed_when: true
- name: Create other release tags
koji_tag:
ktdreyer.koji_ansible.koji_tag:
koji: "{{ koji_profile }}"
name: "{{ item.name }}"
state: present
@@ -95,7 +93,7 @@
- {name: "epel{{ release }}-openh264", parent: "epel{{ release }}"}
- name: Create override tags
koji_tag:
ktdreyer.koji_ansible.koji_tag:
koji: "{{ koji_profile }}"
name: "epel{{ release }}-override"
state: present
@@ -105,7 +103,7 @@
perm: "epel-override"
- name: Create build tag
koji_tag:
ktdreyer.koji_ansible.koji_tag:
koji: "{{ koji_profile }}"
name: "epel{{ release }}-build"
arches: "{{ primary_arches }}"
@@ -155,15 +153,16 @@
- which
- xz
- name: Clone epel{{ old_release }} tag into epel{{ release }}
- name: Regenerate EPEL repository
ansible.builtin.command: "koji --profile {{ koji_profile }} regen-repo epel{{ release }}-build"
changed_when: true
- name: Create targets
koji_target:
ktdreyer.koji_ansible.koji_target:
koji: "{{ koji_profile }}"
name: "{{ item.name }}"
build_tag: "{{ item.build_tag }}"
dest_tag: "{{ item.dest_tag }}"
loop:
- {name: "epel{{ release }}", build_tag: "epel{{ release }}-build", dest_tag: "epel{{ release}}-testing-candidate" }
- {name: "epel{{ release }}", build_tag: "epel{{ release }}-build", dest_tag: "epel{{ release }}-testing-candidate" }
- {name: "epel{{ release }}-candidate", build_tag: "epel{{ release }}-build", dest_tag: "epel{{ release }}-testing-candidate" }

View File

@@ -24,7 +24,7 @@
tasks:
- name: Check for input errors
assert:
ansible.builtin.assert:
that:
- 'release is defined'
- 'release_major|int|string == release_major'
@@ -35,13 +35,13 @@
block:
- name: Symlink empty repo
become: yes
file:
ansible.builtin.file:
src: "/mnt/koji/compose/updates/empty-repo/"
dest: "/mnt/koji/compose/updates/epel{{ release }}"
state: link
- name: Symlink empty repo
become: yes
file:
ansible.builtin.file:
src: "/mnt/koji/compose/updates/empty-repo/"
dest: "/mnt/koji/compose/updates/epel{{ release }}-testing"
state: link
@@ -51,7 +51,7 @@
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "/pub/epel/{{ release }}/Everything/{{ item[0] }}/{{ item[1] }}"
state: directory
mode: '0755'
@@ -59,21 +59,22 @@
group: ftpsync
loop: "{{
['aarch64', 'ppc64le', 's390x', 'x86_64'] |
product(['Packages','debug','drpms']) |
product(['Packages', 'debug', 'drpms']) |
list }}"
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "{{ item }}"
ansible.builtin.command: createrepo_c "{{ item }}"
loop: "{{ lookup('pipe', 'find /pub/epel/{{ release }}/Everything/ -type d -mindepth 1 -maxdepth 1') | split }}"
changed_when: true
- name: Create repos for source packages
block:
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "/pub/epel/{{ release }}/Everything/source/tree/Packages"
state: directory
mode: '0755'
@@ -83,14 +84,15 @@
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "/pub/epel/{{ release }}/Everything/source/tree"
ansible.builtin.command: createrepo_c "/pub/epel/{{ release }}/Everything/source/tree"
changed_when: true
- name: Create repos for debug packages
block:
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "{{ item }}/Packages"
state: directory
mode: '0755'
@@ -101,8 +103,9 @@
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "{{ item }}"
ansible.builtin.command: createrepo_c "{{ item }}"
loop: "{{ lookup('pipe', 'find /pub/epel/{{ release }}/Everything/*/debug/ -type d -mindepth 1 -maxdepth 1') | split }}"
changed_when: true
# Testing repos
@@ -111,7 +114,7 @@
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "/pub/epel/testing/{{ release }}/Everything/{{ item[0] }}/{{ item[1] }}"
state: directory
mode: '0755'
@@ -119,21 +122,22 @@
group: ftpsync
loop: "{{
['aarch64', 'ppc64le', 's390x', 'x86_64'] |
product(['Packages','debug','drpms']) |
product(['Packages', 'debug', 'drpms']) |
list }}"
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "{{ item }}"
ansible.builtin.command: createrepo_c "{{ item }}"
loop: "{{ lookup('pipe', 'find /pub/epel/testing/{{ release }}/Everything/ -type d -mindepth 1 -maxdepth 1') | split }}"
changed_when: true
- name: Create testing repos for source packages
block:
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "/pub/epel/testing/{{ release }}/Everything/source/tree/Packages"
state: directory
mode: '0755'
@@ -143,14 +147,15 @@
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "/pub/epel/testing/{{ release }}/Everything/source/tree"
ansible.builtin.command: createrepo_c "/pub/epel/testing/{{ release }}/Everything/source/tree"
changed_when: true
- name: Create testing repos for debug packages
block:
- name: Create directories
become: yes
become_user: ftpsync
file:
ansible.builtin.file:
path: "{{ item }}/Packages"
state: directory
mode: '0755'
@@ -161,5 +166,6 @@
- name: Create repositories
become: yes
become_user: ftpsync
command: createrepo_c "{{ item }}"
ansible.builtin.command: createrepo_c "{{ item }}"
loop: "{{ lookup('pipe', 'find /pub/epel/testing/{{ release }}/Everything/*/debug/ -type d -mindepth 1 -maxdepth 1') | split }}"
changed_when: true