--- - name: Build osbuild rpms become: yes remote_user: ec2-user hosts: rpmbuilder gather_facts: no tasks: - name: Wait for hosts to be reachable ansible.builtin.wait_for_connection: delay: 60 timeout: 400 - name: Gather facts ansible.builtin.setup: - name: Add EPEL dnf: state: present name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm disable_gpg_check: yes # Upgrading authselect without --allowerasing currently fails on RHEL 9.1 with RHUI repos # https://issues.redhat.com/browse/RHUIOPS-84 # TODO: remove this once the issue is fixed - name: Upgrade authselect package dnf: name: authselect state: latest allowerasing: yes register: result retries: 5 until: result is success - name: Upgrade all packages package: name: "*" state: latest register: result retries: 5 until: result is success - name: Create rpmbuild directory file: path: "{{ item }}" state: directory with_items: - /home/ec2-user/rpmbuild - /home/ec2-user/rpmbuild/SOURCES - /home/ec2-user/rpmbuild/RPMS - name: Download osbuild-composer archive get_url: url: "https://github.com/osbuild/osbuild-composer/archive/{{ COMPOSER_COMMIT }}.tar.gz" dest: "/home/ec2-user/rpmbuild/SOURCES/osbuild-composer-{{ COMPOSER_COMMIT }}.tar.gz" - name: Download osbuild-composer spec get_url: url: "https://raw.githubusercontent.com/osbuild/osbuild-composer/{{ COMPOSER_COMMIT }}/osbuild-composer.spec" dest: /home/ec2-user/osbuild-composer.spec - name: Download osbuild archive get_url: url: "https://github.com/osbuild/osbuild/archive/{{ OSBUILD_COMMIT }}.tar.gz" dest: "/home/ec2-user/rpmbuild/SOURCES/osbuild-{{ OSBUILD_COMMIT }}.tar.gz" - name: Download osbuild spec get_url: url: "https://raw.githubusercontent.com/osbuild/osbuild/{{ OSBUILD_COMMIT }}/osbuild.spec" dest: /home/ec2-user/osbuild.spec - name: Install build tools package: name: - rpm-build - mock - createrepo_c state: present - name: Make osbuild srpm command: >- rpmbuild -bs --define "commit {{ OSBUILD_COMMIT }}" --define "_topdir /home/ec2-user/rpmbuild" --define "_srpmfilename %%{NAME}.srpm" /home/ec2-user/osbuild.spec - name: Mockbuild osbuild shell: >- mock -r "rhel-9-{{ ansible_architecture }}" --rebuild --define "commit {{ OSBUILD_COMMIT }}" --define "_rpmfilename %%{NAME}.rpm" --resultdir /home/ec2-user/rpmbuild/RPMS /home/ec2-user/rpmbuild/SRPMS/osbuild-*.src.rpm - name: Make osbuild-composer srpm command: >- rpmbuild -bs --define "commit {{ COMPOSER_COMMIT }}" --define "_topdir /home/ec2-user/rpmbuild" --define "_srpmfilename %%{NAME}.srpm" /home/ec2-user/osbuild-composer.spec - name: Mockbuild osbuild-composer shell: >- mock -r "rhel-9-{{ ansible_architecture }}" --rebuild --define "commit {{ COMPOSER_COMMIT }}" --define "_rpmfilename %%{NAME}.rpm" --resultdir /home/ec2-user/rpmbuild/RPMS /home/ec2-user/rpmbuild/SRPMS/osbuild-composer-*.src.rpm - name: Create a repository from the artifacts command: createrepo_c /home/ec2-user/rpmbuild/RPMS - name: Fetch rpms ansible.posix.synchronize: mode: pull src: /home/ec2-user/rpmbuild/RPMS dest: /osbuild-composer/templates/packer/ansible/roles/common/files/rpmbuild/{{ ansible_architecture }}