Added s390x for Alpine

This commit is contained in:
Alexey Pustovalov 2021-11-03 13:17:30 +02:00
commit a1e9953d90
13 changed files with 241 additions and 26 deletions

View File

@ -12,6 +12,7 @@ on:
- 'trunk'
paths:
- 'Dockerfiles/**'
- 'build.json'
- '!**/README.md'
- '!Dockerfiles/*/rhel/*'
- '!Dockerfiles/*/windows/*'
@ -95,7 +96,7 @@ jobs:
echo "::set-output name=is_default_branch::$result"
build_base:
timeout-minutes: 90
timeout-minutes: 30
name: Build base on ${{ matrix.os }}
needs: init_build
strategy:
@ -110,12 +111,16 @@ jobs:
with:
fetch-depth: 1
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@v1.2.0
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v1.6.0
with:
driver-opts: image=moby/buildkit:master
- name: Login to DockerHub
uses: docker/login-action@v1
@ -127,6 +132,7 @@ jobs:
id: platform
run: |
platform_list=$(jq -r '.["os-linux"].${{ matrix.os }} | join(",")' "./build.json")
platform_list="${platform_list%,}"
echo ::set-output name=list::$platform_list
@ -170,7 +176,7 @@ jobs:
if-no-files-found: error
build_base_database:
timeout-minutes: 70
timeout-minutes: 120
needs: [ "build_base", "init_build"]
name: Build ${{ matrix.build }} base on ${{ matrix.os }}
strategy:
@ -185,10 +191,15 @@ jobs:
uses: actions/checkout@v2.3.4
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v1.2.0
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v1.6.0
with:
driver-opts: image=moby/buildkit:master
- name: Login to DockerHub
uses: docker/login-action@v1
@ -200,6 +211,7 @@ jobs:
id: platform
run: |
platform_list=$(jq -r '.["os-linux"].${{ matrix.os }} | join(",")' "./build.json")
platform_list="${platform_list%,}"
echo ::set-output name=list::$platform_list
@ -258,7 +270,7 @@ jobs:
if-no-files-found: error
build_images:
timeout-minutes: 70
timeout-minutes: 90
needs: [ "build_base_database", "init_build"]
name: Build ${{ matrix.build }} on ${{ matrix.os }}
strategy:
@ -272,10 +284,15 @@ jobs:
- uses: actions/checkout@v2.3.4
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v1.2.0
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v1.6.0
with:
driver-opts: image=moby/buildkit:master
- name: Login to DockerHub
uses: docker/login-action@v1
@ -287,12 +304,27 @@ jobs:
id: platform
run: |
# Chromium on Alpine is available only on linux/amd64, linux/arm64 platforms
if [ "${{ matrix.os }}" == "alpine" ] && [ "${{ matrix.build }}" == "web-service" ]; then
if ([ "${{ matrix.os }}" == "alpine" ] || [ "${{ matrix.os }}" == "centos" ]) && [ "${{ matrix.build }}" == "web-service" ]; then
platform_list="linux/amd64,linux/arm64"
# Chromium on Ubuntu is not available on s390x platform
elif [ "${{ matrix.os }}" == "ubuntu" ] && [ "${{ matrix.build }}" == "web-service" ]; then
platform_list="linux/amd64,linux/arm/v7,linux/arm64"
else
platform_list=$(jq -r '.["os-linux"].${{ matrix.os }} | join(",")' "./build.json")
fi
# Build only Agent and Agent2 on 386
if [ "${{ matrix.build }}" != "agent"* ]; then
platform_list="${platform_list#linux/386,}"
fi
# Can not compile Java applications on ppc64le
if [ "${{ matrix.build }}" == "java-gateway" ]; then
platform_list="${platform_list%linux/ppc64le}"
fi
platform_list="${platform_list%,}"
echo ::set-output name=list::$platform_list
- name: Detect Build Base Image

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +67,7 @@ RUN set -eux && \
--with-openssl \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,19 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +50,6 @@ RUN set -eux && \
--enable-ipv6 \
--enable-agent \
--enable-agent2 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +61,7 @@ RUN set -eux && \
--with-openssl \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -30,6 +30,19 @@ LABEL description="Zabbix build base for MySQL based images" \
org.label-schema.vendor="Zabbix LLC"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -47,7 +60,6 @@ RUN set -eux && \
--enable-ipv6 \
--enable-agent \
--enable-agent2 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -59,6 +71,7 @@ RUN set -eux && \
--with-openssl \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-ipv6 \
--enable-agent \
--enable-agent2 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +67,7 @@ RUN set -eux && \
--with-openssl \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +67,7 @@ RUN set -eux && \
--with-postgresql \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,19 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +50,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +61,7 @@ RUN set -eux && \
--with-postgresql \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--enable-server \
--with-ldap \
@ -49,6 +67,7 @@ RUN set -eux && \
--with-postgresql \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--with-ldap \
--with-libcurl \
@ -48,6 +66,7 @@ RUN set -eux && \
--with-sqlite3 \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,19 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +50,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--with-ldap \
--with-libcurl \
@ -48,6 +60,7 @@ RUN set -eux && \
--with-sqlite3 \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -30,6 +30,19 @@ LABEL description="Zabbix build base for SQLite3 based images" \
org.label-schema.vendor="Zabbix LLC"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -47,7 +60,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--with-ldap \
--with-libcurl \
@ -58,6 +70,7 @@ RUN set -eux && \
--with-sqlite3 \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -20,6 +20,25 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
org.opencontainers.image.version="${ZBX_VERSION}"
RUN set -eux && \
ARCH_SUFFIX="$(arch)"; \
case "$ARCH_SUFFIX" in \
x86_64) \
additional_components='--enable-java'; \
;; \
aarch64) \
additional_components='--enable-java'; \
;; \
armv7l) \
additional_components='--enable-java'; \
;; \
s390x) \
additional_components='--enable-java'; \
;; \
ppc64le) \
additional_components=''; \
;; \
*) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \
esac; \
cd /tmp/ && \
git -c advice.detachedHead=false clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch /tmp/zabbix-${ZBX_VERSION} && \
cd /tmp/zabbix-${ZBX_VERSION} && \
@ -37,7 +56,6 @@ RUN set -eux && \
--enable-agent \
--enable-agent2 \
--enable-ipv6 \
--enable-java \
--enable-proxy \
--with-ldap \
--with-libcurl \
@ -48,6 +66,7 @@ RUN set -eux && \
--with-sqlite3 \
--with-ssh \
--with-unixodbc \
$additional_components \
--silent && \
make -j"$(nproc)" -s dbschema && \
make -j"$(nproc)" -s && \

View File

@ -1,10 +1,12 @@
{
"os-linux": {
"alpine": [
"linux/386",
"linux/amd64",
"linux/arm/v6",
"linux/arm/v7",
"linux/arm64"
"linux/arm64",
"linux/s390x"
],
"ol": [
"linux/amd64",
@ -13,11 +15,13 @@
"ubuntu": [
"linux/amd64",
"linux/arm/v7",
"linux/arm64"
"linux/arm64",
"linux/s390x"
],
"centos": [
"linux/amd64",
"linux/arm64"
"linux/arm64",
"linux/ppc64le"
]
},
"os-windows": {