Skip to content

Add s390x as a platform for Molecule tests #580

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jan 27, 2023
6 changes: 6 additions & 0 deletions .github/workflows/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ jobs:
if: ${{ !(contains(matrix.scenario, 'plus')) || (env.NGINX_CRT != 0 && env.NGINX_KEY != 0) }}
uses: actions/checkout@v3

- name: Set up Docker QEMU
if: ${{ !(contains(matrix.scenario, 'plus')) || (env.NGINX_CRT != 0 && env.NGINX_KEY != 0) }}
uses: docker/setup-qemu-action@v2
with:
platforms: aarch64,s390x

- name: Set up Python 3
if: ${{ !(contains(matrix.scenario, 'plus')) || (env.NGINX_CRT != 0 && env.NGINX_KEY != 0) }}
uses: actions/setup-python@v4
Expand Down
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ BUG FIXES:
* GitHub actions should now correctly skip \*plus\* scenarios only when the NGINX Plus license secrets are not present.
* Update the versions of the various packages required to build NGINX from source. The version of `zlib` listed in the role was no longer available.
* The `ignore-tags` GitHub actions key does not exist. Replace it with the correct key, `tags-ignore`.
* Remove the `arch` option from the Debian family NGINX repository source. In its current form this prevented the role from working any platforms beyond `x86_64`/`amd64` and `aarch64`/`arm64`.

TESTS:

* Update GitHub actions to run on Ubuntu 22.04 (and thus support `cgroups` v2).
* Explicitly specify `amd64` as the platform used in the Amazon Linux 2/CentOS/Oracle Linux/RHEL 7/SLES 15 Molecule Docker images. This will ensure that tests work when run on different host architectures (e.g. newer Macbooks with `arm64` processors) when running tests in distributions that only support `amd64` (either due to lack of support for a `cgroups` v2 backport or due to lack of builds for `arm64`).
* Explicitly specify `x86_64`/`amd64` as the platform used in the Amazon Linux 2/CentOS/Oracle Linux/RHEL 7/SLES 15 Molecule Docker images. This will ensure that tests work when run on different host architectures (e.g. newer Macbooks with `aarch64`/`arm64` processors) when running tests in distributions that only support `x86_64` (either due to lack of support for a `cgroups` v2 backport or due to lack of builds for `aarch64`).
* Explicitly test some distributions using `aarch64` and `s390x` as the Molecule platform. This should ensure the role works as intended across the various architectures that are officially supported.

## 0.23.2 (September 28, 2022)

Expand Down
2 changes: 1 addition & 1 deletion defaults/main/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ nginx_static_modules: [http_ssl_module]
# (Optional) Specify repository for NGINX Open Source or NGINX Plus.
# Only works if 'install_from' is set to 'nginx_repository' when installing NGINX Open Source.
# Defaults are the official NGINX repositories.
# nginx_repository: deb [arch=amd64] https://nginx.org/packages/mainline/debian/ buster nginx
# nginx_repository: deb https://nginx.org/packages/mainline/debian/ buster nginx

# Specify which branch of NGINX Open Source you want to install.
# Options are 'mainline' or 'stable'.
Expand Down
17 changes: 12 additions & 5 deletions molecule/default/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ platforms:
command: /sbin/init
- name: alpine-3.16
image: alpine:3.16
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -47,6 +48,7 @@ platforms:
command: /sbin/init
- name: alpine-3.17
image: alpine:3.17
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -55,7 +57,7 @@ platforms:
command: /sbin/init
- name: amazonlinux-2
image: amazonlinux:2
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -64,7 +66,7 @@ platforms:
command: /usr/sbin/init
- name: centos-7
image: centos:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -81,7 +83,7 @@ platforms:
command: /sbin/init
- name: oraclelinux-7
image: oraclelinux:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -106,7 +108,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-7
image: registry.access.redhat.com/ubi7:7.9
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -115,6 +117,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-8
image: redhat/ubi8:8.7
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -123,6 +126,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-9
image: redhat/ubi9:9.1.0
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -147,7 +151,7 @@ platforms:
command: /usr/sbin/init
- name: sles15
image: registry.suse.com/bci/bci-base:15.4
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -156,6 +160,7 @@ platforms:
command: /usr/sbin/init
- name: ubuntu-bionic
image: ubuntu:bionic
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -164,6 +169,7 @@ platforms:
command: /sbin/init
- name: ubuntu-focal
image: ubuntu:focal
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -172,6 +178,7 @@ platforms:
command: /sbin/init
- name: ubuntu-jammy
image: ubuntu:jammy
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand Down
17 changes: 12 additions & 5 deletions molecule/downgrade/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ platforms:
command: /sbin/init
- name: alpine-3.16
image: alpine:3.16
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -47,6 +48,7 @@ platforms:
command: /sbin/init
- name: alpine-3.17
image: alpine:3.17
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -55,7 +57,7 @@ platforms:
command: /sbin/init
- name: amazonlinux-2
image: amazonlinux:2
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -64,7 +66,7 @@ platforms:
command: /usr/sbin/init
- name: centos-7
image: centos:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -81,7 +83,7 @@ platforms:
command: /sbin/init
- name: oraclelinux-7
image: oraclelinux:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -106,7 +108,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-7
image: registry.access.redhat.com/ubi7:7.9
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -115,6 +117,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-8
image: redhat/ubi8:8.7
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -123,6 +126,7 @@ platforms:
command: /usr/sbin/init
- name: rhel-9
image: redhat/ubi9:9.1.0
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -147,7 +151,7 @@ platforms:
command: /usr/sbin/init
- name: sles15
image: registry.suse.com/bci/bci-base:15.4
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -156,6 +160,7 @@ platforms:
command: /usr/sbin/init
- name: ubuntu-bionic
image: ubuntu:bionic
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -164,6 +169,7 @@ platforms:
command: /sbin/init
- name: ubuntu-focal
image: ubuntu:focal
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -172,6 +178,7 @@ platforms:
command: /sbin/init
- name: ubuntu-jammy
image: ubuntu:jammy
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand Down
16 changes: 11 additions & 5 deletions molecule/downgrade_plus/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /sbin/init
- name: alpine-3.16
image: alpine:3.16
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -55,7 +56,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /sbin/init
- name: amazonlinux-2
image: amazonlinux:2
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -64,7 +65,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: centos-7
image: centos:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -81,7 +82,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /sbin/init
- name: oraclelinux-7
image: oraclelinux:7
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -106,7 +107,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: rhel-7
image: registry.access.redhat.com/ubi7:7.9
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -115,6 +116,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: rhel-8
image: redhat/ubi8:8.7
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -123,6 +125,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: rhel-9
image: redhat/ubi9:9.1.0
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -147,7 +150,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: sles15
image: registry.suse.com/bci/bci-base:15.4
platform: amd64
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -156,6 +159,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /usr/sbin/init
- name: ubuntu-bionic
image: ubuntu:bionic
platform: x86_64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -164,6 +168,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /sbin/init
- name: ubuntu-focal
image: ubuntu:focal
platform: s390x
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand All @@ -172,6 +177,7 @@ platforms: # Alpine 3.17 only has one version of NGINX Plus available (at the mo
command: /sbin/init
- name: ubuntu-jammy
image: ubuntu:jammy
platform: aarch64
dockerfile: ../common/Dockerfile.j2
privileged: true
cgroupns_mode: host
Expand Down
Loading