Skip to content
Open
78 changes: 57 additions & 21 deletions molecule/default/install-rpm.yml
Original file line number Diff line number Diff line change
@@ -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
19 changes: 17 additions & 2 deletions molecule/default/molecule.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
dependency:
name: galaxy

driver:
name: docker

Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -112,7 +125,9 @@ platforms:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
cgroupns_mode: host
privileged: true

provisioner:
name: ansible

verifier:
name: ansible