Description
Issue
Hi team,
We are trying to use Semaphore on our RHEL8 hosts (we are aware about the limitations of the new versions of ansible-core not supporting Python 3.6 anymore). We found out the Semaphore images with the ansible 2.16.x which is the last ansible version to support Python 3.6.
Our setup has only one UI node and one Runner node and although applying the same image tag in both cases, inside of the container, the ansible version is different. For example:
# Define image tag for both UI and Runner.
TAG="v2.14.6-ansible2.16.5"
In UI, the ansible-core version is correct (2.16.14
).
# Check ansible version in UI.
[podman@rhel8 ~]$ podman run -it --rm docker.io/semaphoreui/semaphore:${TAG} bash -c 'ansible --version'
ansible [core 2.16.14]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/semaphore/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /opt/semaphore/apps/ansible/9.4.0/venv/lib/python3.12/site-packages/ansible
ansible collection location = /home/semaphore/.ansible/collections:/usr/share/ansible/collections
executable location = /opt/semaphore/apps/ansible/9.4.0/venv/bin/ansible
python version = 3.12.10 (main, Apr 10 2025, 15:27:01) [GCC 14.2.0] (/opt/semaphore/apps/ansible/9.4.0/venv/bin/python3)
jinja version = 3.1.6
libyaml = True
[podman@rhel8 ~]$
In the runner, the ansible-core version is wrong (2.18.5
).
# Check ansible version in UI.
[podman@rhel8 ~]$ podman run -it --rm docker.io/semaphoreui/runner:${TAG} bash -c 'ansible --version'
ansible [core 2.18.5]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/semaphore/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /opt/semaphore/apps/ansible/11.1.0/venv/lib/python3.12/site-packages/ansible
ansible collection location = /home/semaphore/.ansible/collections:/usr/share/ansible/collections
executable location = /opt/semaphore/apps/ansible/11.1.0/venv/bin/ansible
python version = 3.12.10 (main, Apr 10 2025, 15:27:01) [GCC 14.2.0] (/opt/semaphore/apps/ansible/11.1.0/venv/bin/python3)
jinja version = 3.1.6
libyaml = True
[podman@rhel8 ~]$
We were expecting the runner to be on the same version of the other image.
I can see that the server has the proper version defined here: https://github.com/semaphoreui/semaphore/blob/develop/.github/workflows/release.yml#L112
The builder comes after but I don't think it's setting the ansible version correctly (per the tests above).
Can you guys confirm if this is an issue or it's configured like this on purpose?
Thanks in advance!
Impact
Ansible (task execution)
Installation method
Docker
Database
Postgres
Browser
Chrome
Semaphore Version
v2.14.6-ansible2.16.5
Ansible Version
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
No response