1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-02-03 23:01:48 +00:00
ansible-podman-collections/ci/playbooks/pre.yml
Sergey 4e0cdb35b7
Add new 6 version in CI (#989)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-11-12 17:30:51 +02:00

128 lines
3.9 KiB
YAML

---
- hosts: "{{ host|default('all') }}"
gather_facts: true
vars:
ansible_pip_version: '<2.10'
distro: "{{ ansible_distribution }}{{ ansible_distribution_major_version }}"
tasks:
- when: os_setup|default(true)|bool
become: true
block:
- name: Install Python3 and pip
package:
name:
- python3
- python3-pip
when:
- distro != 'CentOS7'
- setup_python|default(true)|bool
- name: Install EPEL for CentOS 7
package:
name:
- epel-release
when:
- distro == 'CentOS7'
- setup_python|default(true)|bool
- name: Install Python and pip for CentOS 7
package:
name:
- python
- python-pip
when:
- distro == 'CentOS7'
- setup_python|default(true)|bool
- name: Install Python packaging
command: pip install --upgrade setuptools packaging pip
environment:
PATH: /usr/local/bin:{{ ansible_env.PATH }}
- name: Install virtualenv
pip:
name:
- virtualenv
environment:
PATH: /usr/local/bin:{{ ansible_env.PATH }}
when: ansible_venv is defined
- name: Install repositories if need
include_tasks: install_repos.yml
- name: Install podman
package:
name:
- podman
- buildah
- git
- vim
- dnsmasq
- slirp4netns
state: latest
- name: Discover slirp4netns version
shell: slirp4netns -v | grep version | awk {'print $3'}
register: version
when:
- ansible_distribution == 'Ubuntu'
- ansible_distribution_major_version is version('22', '>=')
- name: Install newest slirp4netns version
shell: >-
curl -o /tmp/slirp4netns --fail -L https://github.com/rootless-containers/slirp4netns/releases/download/v1.2.0/slirp4netns-$(uname -m);
chmod +x /tmp/slirp4netns;
mv /tmp/slirp4netns /usr/bin/slirp4netns
when:
- ansible_distribution == 'Ubuntu'
- ansible_distribution_major_version is version('22', '>=')
- version.stdout is version('1.1.0', '<')
- name: Discover conmon version
shell: conmon --version | grep version | awk {'print $3'}
register: conmon_version
when:
- ansible_distribution == 'Ubuntu'
- ansible_distribution_major_version is version('22', '>=')
- name: Downgrade broken conmon
shell: >-
wget https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_22.04/amd64/conmon_2.1.2~0_amd64.deb -O /tmp/conmon_2.1.2.deb;
apt install -y /tmp/conmon_2.1.2.deb
when:
- ansible_distribution == 'Ubuntu'
- ansible_distribution_major_version is version('22', '>=')
- conmon_version.stdout is version('2.1.9', '==')
- name: Remove virtualenv if need
file:
path: "{{ ansible_venv }}"
state: absent
when:
- clean_venv|default(false)|bool
- ansible_venv is defined
- name: Install ansible
pip:
name: ansible
version: "{{ ansible_pip_version }}"
extra_args: --upgrade
virtualenv: "{{ ansible_venv|default(omit) }}"
virtualenv_site_packages: "{{ ansible_venv_site_packages|default(omit) }}"
environment:
PATH: /usr/local/bin:{{ ansible_env.PATH }}
when:
- ansible_venv is defined
- name: Get podman version
shell: |
podman version || true
podman version
buildah version
podman info --debug
buildah info --debug
conmon --version
runc --version
changed_when: false