diff --git a/molecule/default/install-rpm.yml b/molecule/default/install-rpm.yml index be9af097..42a9615e 100644 --- a/molecule/default/install-rpm.yml +++ b/molecule/default/install-rpm.yml @@ -1,41 +1,77 @@ --- -- package: +- name: Install base dependencies + ansible.builtin.package: name: - fontconfig state: present update_cache: true -- package: - name: - - java-21-openjdk - state: present - when: ansible_distribution != 'Amazon' and (ansible_distribution != 'CentOS' or ansible_distribution_major_version != '10') -- package: - name: - - java-21-amazon-corretto + +# Add Eclipse Temurin repo for Fedora 42+ +- name: Add Eclipse Temurin repo for Fedora 42+ + ansible.builtin.command: + cmd: dnf install -y https://packages.adoptium.net/artifactory/rpm/temurin.repo + when: + - ansible_distribution == "Fedora" + - ansible_distribution_major_version | int >= 42 + +# Install Temurin 17 JRE for Fedora 42+ +- name: Install Temurin 17 JRE for Fedora 42+ + ansible.builtin.package: + name: temurin-17-jre state: present - when: ansible_distribution == 'Amazon' -- package: - name: - - java-21-openjdk + when: + - ansible_distribution == "Fedora" + - ansible_distribution_major_version | int >= 42 + +# Install Java 21 for all other distros +- name: Install Java 21 OpenJDK / Corretto + ansible.builtin.package: + name: >- + {{ + 'java-21-amazon-corretto' if ansible_distribution == 'Amazon' else + 'java-21-openjdk' + }} state: present - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '10' -- file: + +# Create credentials directory +- name: Create credentials directory + ansible.builtin.file: path: /var/tmp/target/credentials state: directory -- copy: + mode: "0755" + +# Copy GPG key +- name: Copy GPG key + ansible.builtin.copy: src: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/credentials/test.ascii.key" dest: /var/tmp/target/credentials/test.ascii.key -- rpm_key: + mode: "0644" + +# Import GPG key +- name: Import GPG key + ansible.builtin.rpm_key: state: present key: /var/tmp/target/credentials/test.ascii.key -- find: + +# Find built RPM +- name: Locate built RPM package + ansible.builtin.find: paths: /var/tmp/target/rpm file_type: file patterns: "*.rpm" register: package_list -- assert: + +# Ensure at least one RPM exists +- name: Verify RPM presence + ansible.builtin.assert: that: - - package_list.matched == 1 -- package: + - package_list.matched >= 1 + success_msg: "Found {{ package_list.matched }} RPM(s): {{ package_list.files | map(attribute='path') | list }}" + fail_msg: "No RPM found in /var/tmp/target/rpm" + +# Install local RPM (disable GPG check for unsigned builds) +- name: Install local RPM without GPG validation + ansible.builtin.package: name: "{{ package_list.files[0].path }}" state: present + disable_gpg_check: true diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index e2a52f92..63bfe6d1 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1,6 +1,7 @@ --- dependency: name: galaxy + driver: name: docker @@ -14,6 +15,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: debian-12 # EOL 2028-06-10 image: dokken/debian-12:latest override_command: false @@ -22,6 +24,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: debian-13 # EOL 2030-06-30 (LTS) image: dokken/debian-13:latest override_command: false @@ -30,6 +33,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: ubuntu-22-04 # EOL 2027-04-01 image: dokken/ubuntu-22.04:latest override_command: false @@ -38,6 +42,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: ubuntu-24-04 # EOL 2029-04-01 image: dokken/ubuntu-24.04:latest override_command: false @@ -46,15 +51,17 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + # rpm - - name: almalinux-9 # EOL 2027-05-31 - image: dokken/almalinux-9:latest + - name: almalinux-10 + image: dokken/almalinux-10:latest override_command: false volumes: - ${MOLECULE_PROJECT_DIRECTORY}/target:/var/tmp/target - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: rockylinux-9 # 2032-05-31 image: dokken/rockylinux-9:latest override_command: false @@ -63,6 +70,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: amazonlinux-2023 # EOL 2029-06-30 image: dokken/amazonlinux-2023:latest override_command: false @@ -71,6 +79,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: centos-stream-9 # EOL 2027-05-31 image: dokken/centos-stream-9:latest override_command: false @@ -79,6 +88,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: centos-stream-10 # EOL 2030-01-01 image: dokken/centos-stream-10:latest override_command: false @@ -87,6 +97,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: fedora-41 # EOL 2025-11-19 image: dokken/fedora-41:latest override_command: false @@ -95,6 +106,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + - name: oraclelinux-9 # EOL 2032-06-30 image: dokken/oraclelinux-9:latest override_command: false @@ -103,6 +115,7 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + # suse - name: opensuse-leap-15.6 # EOL 2025-12-01 image: dokken/opensuse-leap-15.6:latest @@ -112,7 +125,9 @@ platforms: - /sys/fs/cgroup:/sys/fs/cgroup:rw cgroupns_mode: host privileged: true + provisioner: name: ansible + verifier: name: ansible