1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

CI: Add ArchLinux, Debian Bullseye, CentOS Stream 8, and Alpine 3 (#4222) (#4244)

* Add ArchLinux, Debian Bullseye and CentOS Stream 8 to CI.

* Add Alpine to CI matrix as well.

(cherry picked from commit a06903f33a)

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
patchback[bot] 2022-02-22 09:08:35 +00:00 committed by GitHub
parent f60c90873f
commit c0008e976f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 861 additions and 700 deletions

View file

@ -310,6 +310,8 @@ stages:
test: ubuntu1804
- name: Ubuntu 20.04
test: ubuntu2004
- name: Alpine 3
test: alpine3
groups:
- 1
- 2
@ -348,6 +350,8 @@ stages:
test: fedora33
- name: openSUSE 15 py2
test: opensuse15py2
- name: Alpine 3
test: alpine3
groups:
- 2
- 3
@ -382,6 +386,26 @@ stages:
- 2
- 3
### Community Docker
- stage: Docker_community_devel
displayName: Docker (community images) devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/linux-community/{0}
targets:
- name: Debian Bullseye
test: debian-bullseye/3.9
- name: ArchLinux
test: archlinux/3.10
- name: CentOS Stream 8
test: centos-stream8/3.8
groups:
- 1
- 2
- 3
### Cloud
- stage: Cloud_devel
displayName: Cloud devel
@ -457,6 +481,7 @@ stages:
- Docker_2_10
- Docker_2_11
- Docker_2_12
- Docker_community_devel
- Cloud_devel
- Cloud_2_9
- Cloud_2_10

View file

@ -68,4 +68,13 @@
# in chkconfig-1.7-2 fails when /etc/alternatives/dummy link is missing,
# error is: 'failed to read link /usr/bin/dummy: No such file or directory'.
# Moreover Fedora 24 is no longer maintained.
when: ansible_distribution != 'Fedora' or ansible_distribution_major_version|int > 24
#
# *Disable tests on Arch Linux*
# TODO: figure out whether there is an alternatives tool for Arch Linux
#
# *Disable tests on Alpine*
# TODO: figure out whether there is an alternatives tool for Alpine
when:
- ansible_distribution != 'Fedora' or ansible_distribution_major_version|int > 24
- ansible_distribution != 'Archlinux'
- ansible_distribution != 'Alpine'

View file

@ -15,6 +15,8 @@
when:
- not (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int == 14)
- not (ansible_os_family == "Suse" and ansible_distribution_major_version|int != 42 and ansible_python.version.major != 3)
- not (ansible_distribution == 'Archlinux') # TODO: package seems to be broken, cannot be downloaded from mirrors?
- not (ansible_distribution == 'Alpine') # TODO: not sure what's wrong here, the module doesn't return what the tests expect
block:
- name: setup install cloud-init
package:

View file

@ -82,8 +82,6 @@
that:
- result is failed
- when: pyopenssl_version.stdout is version('0.15', '>=')
block:
- name: ensure SSL certificate is checked
consul_session:
state: info

View file

@ -9,9 +9,6 @@
consul_uri: https://s3.amazonaws.com/ansible-ci-files/test/integration/targets/consul/consul_{{ consul_version }}_{{ ansible_system | lower }}_{{ consul_arch }}.zip
consul_cmd: '{{ remote_tmp_dir }}/consul'
block:
- name: register pyOpenSSL version
command: '{{ ansible_python_interpreter }} -c ''import OpenSSL; print(OpenSSL.__version__)'''
register: pyopenssl_version
- name: Install requests<2.20 (CentOS/RHEL 6)
pip:
name: requests<2.20
@ -23,8 +20,6 @@
name: python-consul
register: result
until: result is success
- when: pyopenssl_version.stdout is version('0.15', '>=')
block:
- name: Generate privatekey
community.crypto.openssl_privatekey:
path: '{{ remote_tmp_dir }}/privatekey.pem'

View file

@ -3,11 +3,7 @@ server = true
pid_file = "{{ remote_dir }}/consul.pid"
ports {
http = 8500
{% if pyopenssl_version.stdout is version('0.15', '>=') %}
https = 8501
{% endif %}
}
{% if pyopenssl_version.stdout is version('0.15', '>=') %}
key_file = "{{ remote_dir }}/privatekey.pem"
cert_file = "{{ remote_dir }}/cert.pem"
{% endif %}

View file

@ -3,6 +3,9 @@
# and should not be used as examples of how to write Ansible roles #
####################################################################
- when:
- not (ansible_os_family == 'Alpine' and ansible_distribution_version is version('3.15', '<')) # TODO
block:
- name: Create EMAIL cron var
cronvar:
name: EMAIL

View file

@ -8,6 +8,18 @@
suffix: .django_manage
register: tmp_django_root
- name: Install virtualenv
package:
name: virtualenv
state: present
when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '8'
- name: Install virtualenv
package:
name: python-virtualenv
state: present
when: ansible_os_family == 'Archlinux'
- name: Install required library
pip:
name: django

View file

@ -29,6 +29,7 @@
include_tasks: sparse.yml
when:
- not (ansible_os_family == 'Darwin' and ansible_distribution_version is version('11', '<'))
- not (ansible_os_family == 'Alpine') # TODO figure out why it fails
- name: Include tasks to test playing with symlinks
include_tasks: symlinks.yml

View file

@ -1,5 +1,5 @@
---
- name: "Create filesystem"
- name: "Create filesystem ({{ fstype }})"
community.general.filesystem:
dev: '{{ dev }}'
fstype: '{{ fstype }}'

View file

@ -48,10 +48,18 @@
# reiserfs-utils package not available with Fedora 35 on CI
- 'not (ansible_distribution == "Fedora" and (ansible_facts.distribution_major_version | int >= 35) and
item.0.key == "reiserfs")'
# reiserfs packages apparently not available with Alpine
- 'not (ansible_distribution == "Alpine" and item.0.key == "reiserfs")'
# ocfs2 only available on Debian based distributions
- 'not (item.0.key == "ocfs2" and ansible_os_family != "Debian")'
# Tests use losetup which can not be used inside unprivileged container
- 'not (item.0.key == "lvm" and ansible_virtualization_type in ["docker", "container", "containerd"])'
# vfat resizing fails on Debian (but not Ubuntu)
- 'not (item.0.key == "vfat" and ansible_distribution == "Debian")' # TODO: figure out why it fails, fix it!
# vfat resizing fails on ArchLinux
- 'not (item.0.key == "vfat" and ansible_distribution == "Archlinux")' # TODO: figure out why it fails, fix it!
# btrfs-progs cannot be installed on ArchLinux
- 'not (item.0.key == "btrfs" and ansible_distribution == "Archlinux")' # TODO: figure out why it fails, fix it!
# On CentOS 6 shippable containers, wipefs seems unable to remove vfat signatures
- 'not (ansible_distribution == "CentOS" and ansible_distribution_version is version("7.0", "<") and
@ -65,6 +73,9 @@
- 'not (ansible_os_family == "Suse" and ansible_distribution_major_version|int != 42 and
item.0.key == "xfs" and ansible_python.version.major == 2)'
# TODO: something seems to be broken on Alpine
- 'not (ansible_distribution == "Alpine")'
loop: "{{ query('dict', tested_filesystems)|product(['create_fs', 'overwrite_another_fs', 'remove_fs'])|list }}"

View file

@ -21,6 +21,7 @@
- not (ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('16.04', '<='))
- ansible_system != "FreeBSD"
- not (ansible_facts.os_family == "RedHat" and ansible_facts.distribution_major_version is version('8', '>='))
- ansible_os_family != 'Archlinux' # TODO
- name: "Install btrfs tools (Ubuntu <= 16.04)"
ansible.builtin.package:
@ -60,7 +61,7 @@
state: present
when:
- ansible_system == 'Linux'
- ansible_os_family not in ['Suse', 'RedHat']
- ansible_os_family not in ['Suse', 'RedHat', 'Alpine']
- name: "Install reiserfs progs (FreeBSD)"
ansible.builtin.package:
@ -111,6 +112,7 @@
- ansible_system == 'Linux'
- ansible_os_family != 'Suse'
- ansible_os_family != 'RedHat' or (ansible_distribution == 'CentOS' and ansible_distribution_version is version('7.0', '=='))
- ansible_os_family != 'Alpine'
block:
- name: "Install fatresize"
ansible.builtin.package:

View file

@ -21,6 +21,10 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- when:
- not (ansible_os_family == 'Alpine') # TODO
block:
- include_vars: '{{ item }}'
with_first_found:
- files:

View file

@ -171,4 +171,6 @@
- jake_incorrect_pass_out is not changed and jake_incorrect_pass_out is failed and jake_incorrect_pass_out.msg == 'User exists but password is incorrect!'
# homectl was first introduced in systemd 245 so check version >= 245 and make sure system has systemd and homectl command
when: systemd_version.rc == 0 and (systemd_version.stdout | regex_search('[0-9][0-9][0-9]') | int >= 245) and homectl_version.rc == 0
when:
- systemd_version.rc == 0 and (systemd_version.stdout | regex_search('[0-9][0-9][0-9]') | int >= 245) and homectl_version.rc == 0
- ansible_distribution != 'Archlinux' # TODO!

View file

@ -0,0 +1 @@
iso_extract_7zip_package: p7zip

View file

@ -0,0 +1 @@
iso_extract_7zip_package: p7zip

View file

@ -0,0 +1 @@
iso_extract_7zip_package: p7zip-full

View file

@ -0,0 +1,2 @@
passwordstore_packages:
- pass

View file

@ -0,0 +1,2 @@
passwordstore_packages:
- pass

View file

@ -0,0 +1 @@
monitrc: "/etc/monitrc"

View file

@ -0,0 +1 @@
monitrc: "/etc/monitrc"

View file

@ -1,6 +1,9 @@
- name: Skip unsupported platforms
meta: end_play
when: ansible_distribution == 'CentOS' and ansible_distribution_major_version is not version('7', '>=')
# TODO: figure out why Alpine does not work!
when: |
ansible_distribution == 'CentOS' and ansible_distribution_major_version is not version('7', '>=')
or ansible_distribution == 'Alpine'
- name: Install Nomad and test
vars:
@ -9,10 +12,6 @@
nomad_cmd: '{{ remote_tmp_dir }}/nomad'
block:
- name: register pyOpenSSL version
command: '{{ ansible_python_interpreter }} -c ''import OpenSSL; print(OpenSSL.__version__)'''
register: pyopenssl_version
- name: Install requests<2.20 (CentOS/RHEL 6)
pip:
name: requests<2.20
@ -32,8 +31,6 @@
register: result
until: result is success
- when: pyopenssl_version.stdout is version('0.15', '>=')
block:
- name: Generate privatekey
community.crypto.openssl_privatekey:
path: '{{ remote_tmp_dir }}/privatekey.pem'

View file

@ -20,10 +20,13 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# -------------------------------------------------------------
# Setup steps
- when:
- not (ansible_os_family == 'Alpine') # TODO
block:
# expand remote path
- command: 'echo {{ remote_tmp_dir }}'
register: echo

View file

@ -5,6 +5,13 @@ my_pass: 'md5d5e044ccd9b4b8adc89e8fed2eb0db8a'
my_pass_decrypted: '6EjMk<hcX3<5(Yp?Xi5aQ8eS`a#Ni'
dsn: "DRIVER={PostgreSQL};Server=localhost;Port=5432;Database=postgres;Uid={{ my_user }};Pwd={{ my_pass_decrypted }};UseUnicode=True"
packages:
Alpine:
- psqlodbc
- unixodbc
- unixodbc-dev
- g++
Archlinux:
- unixodbc
RedHat:
- postgresql-odbc
- unixODBC

View file

@ -3,6 +3,10 @@
# and should not be used as examples of how to write Ansible roles #
####################################################################
- when:
- ansible_os_family != 'Archlinux' # TODO install driver from AUR: https://aur.archlinux.org/packages/psqlodbc
block:
#
# Test for proper failures without pyodbc
#
@ -26,7 +30,12 @@
- name: Changing DSN for Suse
set_fact:
dsn: "DRIVER={PSQL};Server=localhost;Port=5432;Database=postgres;Uid={{ my_user }};Pwd={{ my_pass_decrypted }};UseUnicode=True"
when: ansible_os_family == 'Suse'
when: ansible_os_family == 'Suse' or ansible_os_family == 'Alpine'
- name: Changing DSN for Alpine
set_fact:
dsn: "DRIVER={/usr/lib/psqlodbcw.so};Server=localhost;Port=5432;Database=postgres;Uid={{ my_user }};Pwd={{ my_pass_decrypted }};UseUnicode=True"
when: ansible_os_family == 'Alpine'
- name: Changing DSN for Debian
set_fact:

View file

@ -6,6 +6,11 @@
# Test code for the pids module
# Copyright: (c) 2019, Saranya Sridharan
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- when:
- not (ansible_os_family == 'Alpine') # TODO
block:
- name: Attempt installation of latest 'psutil' version
pip:
name: psutil

View file

@ -3,6 +3,9 @@
# and should not be used as examples of how to write Ansible roles #
####################################################################
- when:
- not (ansible_os_family == 'Alpine' and ansible_distribution_version is version('3.15', '<')) # TODO
block:
- name: Include distribution specific variables
include_vars: '{{ lookup(''first_found'', search) }}'
vars:

View file

@ -0,0 +1,3 @@
cron_pkg: cronie
cron_service: cronie
list_pkg_files: apk info -L

View file

@ -0,0 +1,3 @@
cron_pkg: cronie
cron_service: cronie
list_pkg_files: pacman -Ql

View file

@ -4,6 +4,9 @@
####################################################################
- name: Set up dummy flatpak repository remote
when: |
ansible_distribution == 'Fedora' or
ansible_distribution == 'Ubuntu' and not ansible_distribution_major_version | int < 16
block:
- name: Copy repo into place
unarchive:

View file

@ -0,0 +1,2 @@
---
keytool_package_name: openjdk11-jre-headless

View file

@ -0,0 +1,2 @@
---
keytool_package_name: jre11-openjdk-headless

View file

@ -5,8 +5,17 @@
####################################################################
- name: Include OS-specific variables
include_vars: '{{ ansible_os_family }}.yml'
when: not ansible_os_family == "Darwin"
include_vars: '{{ lookup("first_found", search) }}'
vars:
search:
files:
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
- '{{ ansible_distribution }}.yml'
- '{{ ansible_os_family }}.yml'
- default.yml
paths:
- vars
- name: Install OpenSSL
become: True
@ -14,49 +23,38 @@
name: '{{ openssl_package_name }}'
when: not ansible_os_family == 'Darwin'
- name: Install pyOpenSSL (Python 3)
become: True
package:
name: '{{ pyopenssl_package_name_python3 }}'
when: not ansible_os_family == 'Darwin' and ansible_python_version is version('3.0', '>=')
- name: Install pyOpenSSL (Python 2)
become: True
package:
name: '{{ pyopenssl_package_name }}'
when: not ansible_os_family == 'Darwin' and ansible_python_version is version('3.0', '<')
- name: Install pyOpenSSL (Darwin)
become: True
pip:
name: pyOpenSSL
extra_args: "-c {{ remote_constraints }}"
when: ansible_os_family == 'Darwin'
- when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['CentOS6', 'RedHat6']
block:
- name: Install cryptography (Python 3)
become: true
package:
name: '{{ cryptography_package_name_python3 }}'
when: not ansible_os_family == 'Darwin' and ansible_python_version is version('3.0', '>=')
when: not cryptography_from_pip and ansible_python_version is version('3.0', '>=')
- name: Install cryptography (Python 2)
become: true
package:
name: '{{ cryptography_package_name }}'
when: not ansible_os_family == 'Darwin' and ansible_python_version is version('3.0', '<')
when: not cryptography_from_pip and ansible_python_version is version('3.0', '<')
- name: Install cryptography (Darwin)
- name: Install cryptography (pip)
become: true
pip:
name: cryptography>=3.3
extra_args: "-c {{ remote_constraints }}"
when: ansible_os_family == 'Darwin'
when: cryptography_from_pip
- name: register pyOpenSSL version
command: "{{ ansible_python.executable }} -c 'import OpenSSL; print(OpenSSL.__version__)'"
register: pyopenssl_version
- name: Install pyOpenSSL (Python 3)
become: True
package:
name: '{{ pyopenssl_package_name_python3 }}'
when: pyopenssl_package_name_python3 is defined and ansible_python_version is version('3.0', '>=')
- name: Install pyOpenSSL (Python 2)
become: True
package:
name: '{{ pyopenssl_package_name }}'
when: pyopenssl_package_name is defined and ansible_python_version is version('3.0', '<')
- name: register openssl version
shell: "openssl version | cut -d' ' -f2"

View file

@ -0,0 +1,6 @@
cryptography_package_name: py-cryptography
cryptography_package_name_python3: py3-cryptography
pyopenssl_package_name: py-openssl
pyopenssl_package_name_python3: py3-openssl
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -0,0 +1,6 @@
cryptography_package_name: python-cryptography
cryptography_package_name_python3: python-cryptography
pyopenssl_package_name: python-pyopenssl
pyopenssl_package_name_python3: python-pyopenssl
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -0,0 +1,4 @@
cryptography_package_name: python-cryptography
cryptography_package_name_python3: python3-cryptography
openssl_package_name: openssl
cryptography_from_pip: '{{ ansible_python_version is version("3.8", ">=") }}'

View file

@ -0,0 +1 @@
cryptography_from_pip: true

View file

@ -3,3 +3,4 @@ cryptography_package_name_python3: python3-cryptography
pyopenssl_package_name: python-openssl
pyopenssl_package_name_python3: python3-openssl
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -3,3 +3,4 @@ cryptography_package_name_python3: "py{{ ansible_python.version.major }}{{ ansib
pyopenssl_package_name: py27-openssl
pyopenssl_package_name_python3: "py{{ ansible_python.version.major }}{{ ansible_python.version.minor }}-openssl"
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -3,3 +3,4 @@ cryptography_package_name_python3: python3-cryptography
pyopenssl_package_name: pyOpenSSL
pyopenssl_package_name_python3: python3-pyOpenSSL
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -3,3 +3,4 @@ cryptography_package_name_python3: python3-cryptography
pyopenssl_package_name: python-pyOpenSSL
pyopenssl_package_name_python3: python3-pyOpenSSL
openssl_package_name: openssl
cryptography_from_pip: false

View file

@ -20,4 +20,5 @@
cmd: |
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*.repo
sed -i 's%#baseurl=http://mirror.centos.org/$contentdir/$releasever/%baseurl=https://vault.centos.org/8.4.2105/%g' /etc/yum.repos.d/CentOS-Linux-*.repo
ignore_errors: true # This fails for CentOS Stream 8
when: ansible_distribution in 'CentOS' and ansible_distribution_major_version == '8'

View file

@ -99,6 +99,14 @@
command: /sbin/service postgresql initdb
when: ansible_os_family == "RedHat" and ansible_service_mgr != "systemd"
- name: Initialize postgres (Archlinux)
command: su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"
when: ansible_os_family == "Archlinux"
- name: Initialize postgres (Alpine)
command: su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgresql/data'"
when: ansible_os_family == "Alpine"
- name: Initialize postgres (Debian)
shell: . /usr/share/postgresql-common/maintscripts-functions && set_system_locale && /usr/bin/pg_createcluster -u postgres {{ pg_ver }} main
args:

View file

@ -0,0 +1,6 @@
postgresql_packages:
- "postgresql"
- "py3-psycopg2"
pg_hba_location: "/var/lib/postgresql/data/pg_hba.conf"
pg_dir: "/var/lib/postgresql/data"

View file

@ -0,0 +1,6 @@
postgresql_packages:
- "postgresql"
- "python-psycopg2"
pg_hba_location: "/var/lib/postgres/data/pg_hba.conf"
pg_dir: "/var/lib/postgres/data"

View file

@ -0,0 +1,8 @@
postgresql_packages:
- "postgresql"
- "postgresql-common"
- "python3-psycopg2"
pg_hba_location: "/etc/postgresql/13/main/pg_hba.conf"
pg_dir: "/var/lib/postgresql/13/main"
pg_ver: 13

View file

@ -1,5 +1,11 @@
# General
redis_packages:
Alpine:
- redis
Archlinux:
- redis
Debian:
- redis-server
Ubuntu:
- redis-server
openSUSE Leap:
@ -12,6 +18,9 @@ redis_packages:
- redis
redis_bin:
Alpine: /usr/bin/redis-server
Archlinux: /usr/bin/redis-server
Debian: /usr/bin/redis-server
Ubuntu: /usr/bin/redis-server
openSUSE Leap: /usr/sbin/redis-server
Fedora: /usr/bin/redis-server

View file

@ -8,4 +8,4 @@
- import_tasks: setup_redis_cluster.yml
when:
- ansible_distribution in ['CentOS', 'Fedora', 'FreeBSD', 'openSUSE Leap', 'Ubuntu']
- ansible_distribution in ['CentOS', 'Fedora', 'FreeBSD', 'openSUSE Leap', 'Ubuntu', 'Debian', 'Archlinux', 'Alpine']

View file

@ -1,44 +1,11 @@
# We run two servers listening different ports
# to be able to check replication (one server for master, another for replica).
- name: Install redis server apt dependencies
apt:
- name: Install redis dependencies
package:
name: "{{ redis_packages[ansible_distribution] }}"
state: latest
policy_rc_d: 101
when:
- ansible_facts.pkg_mgr == 'apt'
notify: cleanup redis
- name: Install redis server rpm dependencies
yum:
name: "{{ redis_packages[ansible_distribution] }}"
state: latest
when:
- ansible_facts.pkg_mgr == 'yum'
notify: cleanup redis
- name: Install redis rpm dependencies
dnf:
name: "{{ redis_packages[ansible_distribution] }}"
state: latest
when: ansible_facts.pkg_mgr == 'dnf'
notify: cleanup redis
- name: Install redis server zypper dependencies
zypper:
name: "{{ redis_packages[ansible_distribution] }}"
state: latest
when:
- ansible_facts.pkg_mgr == 'community.general.zypper'
notify: cleanup redis
- name: Install redis FreeBSD dependencies
community.general.pkgng:
name: "{{ redis_packages[ansible_distribution] }}"
state: latest
when:
- ansible_facts.pkg_mgr == 'community.general.pkgng'
policy_rc_d: "{{ 101 if ansible_facts.pkg_mgr == 'apt' else omit }}"
notify: cleanup redis
- name: Install redis module

View file

@ -0,0 +1 @@
openjdk_pkg: openjdk11-jre-headless

View file

@ -0,0 +1 @@
openjdk_pkg: jre11-openjdk-headless

View file

@ -1 +1 @@
openjdk_pkg: openjdk-8-jre-headless
openjdk_pkg: openjdk-11-jre-headless

View file

@ -4,11 +4,11 @@
# and should not be used as examples of how to write Ansible roles #
####################################################################
- name: Install systemd-sysv on ubuntu 18
- name: Install systemd-sysv on Ubuntu 18 and Debian
apt:
name: systemd-sysv
state: present
when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version is version('18', '>=')
when: (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version is version('18', '>=')) or (ansible_distribution == 'Debian')
register: systemd_sysv_install
- name: Execute shutdown with custom message and delay

View file

@ -43,6 +43,12 @@
#### timezone tests
####
- name: make sure diffutils are installed on ArchLinux
package:
name: diffutils
state: present
when: ansible_distribution == 'Archlinux'
- name: make sure the dbus service is started under systemd
systemd:
name: dbus
@ -57,7 +63,9 @@
# Skip tests on Fedora 31 and 32 because dbus fails to start unless the container is run in priveleged mode.
# Even then, it starts unreliably. This may be due to the move to cgroup v2 in Fedora 31 and 32.
# https://www.redhat.com/sysadmin/fedora-31-control-group-v2
when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['Fedora31', 'Fedora32']
when:
- ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['Fedora31', 'Fedora32']
- not (ansible_os_family == 'Alpine') # TODO
block:
- name: set timezone to Etc/UTC
timezone:

View file

@ -31,3 +31,5 @@
with_items:
- {node_version: 4.8.0, yarn_version: 1.6.0} # Lowest compatible nodejs version
- {node_version: 8.0.0, yarn_version: 1.6.0}
when:
- not (ansible_os_family == 'Alpine') # TODO

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
image="${args[1]}"
python="${args[2]}"
if [ "${#args[@]}" -gt 3 ]; then
target="shippable/posix/group${args[3]}/"
else
target="shippable/posix/"
fi
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--docker "quay.io/ansible-community/test-image:${image}" --python "${python}"