From b7ec6f24d2445597dc8e20bdc9528b18ea7e6221 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Wed, 27 Oct 2021 22:28:33 +0300 Subject: [PATCH] Added ppc64le platform --- .github/workflows/images_build.yml | 13 ++++- Dockerfile | 58 +++++++++++++++++++++ Dockerfiles/build-mysql/alpine/Dockerfile | 18 ++++++- Dockerfiles/build-mysql/centos/Dockerfile | 15 +++++- Dockerfiles/build-mysql/ubuntu/Dockerfile | 18 ++++++- Dockerfiles/build-pgsql/alpine/Dockerfile | 18 ++++++- Dockerfiles/build-pgsql/centos/Dockerfile | 15 +++++- Dockerfiles/build-pgsql/ubuntu/Dockerfile | 18 ++++++- Dockerfiles/build-sqlite3/alpine/Dockerfile | 18 ++++++- Dockerfiles/build-sqlite3/centos/Dockerfile | 15 +++++- Dockerfiles/build-sqlite3/ubuntu/Dockerfile | 18 ++++++- build.json | 9 ++-- 12 files changed, 219 insertions(+), 14 deletions(-) create mode 100644 Dockerfile diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 8a99d3406..523bdb932 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -126,6 +126,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 @@ -166,7 +167,7 @@ jobs: if-no-files-found: error build_base_database: - timeout-minutes: 70 + timeout-minutes: 90 needs: [ "build_base", "init_build"] name: Build ${{ matrix.build }} base on ${{ matrix.os }} strategy: @@ -196,6 +197,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 @@ -251,7 +253,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: @@ -286,6 +288,13 @@ jobs: platform_list=$(jq -r '.["os-linux"].${{ matrix.os }} | join(",")' "./build.json") 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 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..c03ae1898 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,58 @@ +FROM centos:8 + +ENV TERM=xterm \ + PATH=/usr/local/go/bin:$PATH + +RUN set -eux && \ + dnf -y install \ + --disablerepo "*" \ + --enablerepo "baseos" \ + --enablerepo "appstream" \ + wget && \ + cd /tmp/ && \ + ARCH_SUFFIX="$(arch)"; \ + case "$ARCH_SUFFIX" in \ + x86_64) \ + url='https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz'; \ + sha256='f242a9db6a0ad1846de7b6d94d507915d14062660616a61ef7c808a76e4f1676'; \ + ;; \ + aarch64) \ + url='https://dl.google.com/go/go1.17.2.linux-arm64.tar.gz'; \ + sha256='a5a43c9cdabdb9f371d56951b14290eba8ce2f9b0db48fb5fc657943984fd4fc'; \ + ;; \ + ppc64le) \ + url='https://golang.org/dl/go1.17.2.linux-ppc64le.tar.gz'; \ + sha256='12e2dc7e0ffeebe77083f267ef6705fec1621cdf2ed6489b3af04a13597ed68d'; \ + ;; \ + *) echo "Unknown ARCH_SUFFIX=${ARCH_SUFFIX-}"; exit 1 ;; \ + esac; \ + wget -O go.tgz.asc "$url.asc" && \ + wget -O go.tgz "$url" --progress=dot:giga && \ + echo "$sha256 *go.tgz" | sha256sum -c - && \ + GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796' && \ + gpg --batch --verify go.tgz.asc go.tgz && \ + gpgconf --kill all && \ + rm -rf "$GNUPGHOME" go.tgz.asc && \ + tar -C /usr/local -xzf go.tgz && \ + rm go.tgz + +RUN set -eux && \ + dnf -y install \ + --disablerepo "*" \ + --enablerepo "baseos" \ + --enablerepo "appstream" \ + --enablerepo "powertools" \ + rpmdevtools \ + dnf-plugins-core \ + rpmlint && \ + rpm -ivh https://repo.zabbix.com/zabbix/5.4/rhel/8/SRPMS/zabbix-5.4.6-1.el8.src.rpm && \ + cd /root/rpmbuild/ && \ + dnf -y builddep \ + --disablerepo "*" \ + --enablerepo "baseos" \ + --enablerepo "appstream" \ + --enablerepo "powertools" \ + SPECS/zabbix.spec && \ +# rpmlint SPECS/zabbix.spec && \ + rpmbuild -ba SPECS/zabbix.spec diff --git a/Dockerfiles/build-mysql/alpine/Dockerfile b/Dockerfiles/build-mysql/alpine/Dockerfile index 5612bebd6..427995392 100644 --- a/Dockerfiles/build-mysql/alpine/Dockerfile +++ b/Dockerfiles/build-mysql/alpine/Dockerfile @@ -20,6 +20,22 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov