Trying to avoid operation cancelled

This commit is contained in:
Alexey Pustovalov 2026-06-13 12:10:48 +09:00
parent 58fc270f03
commit 63c0ccda39
16 changed files with 45 additions and 15 deletions

View file

@ -483,6 +483,20 @@ jobs:
docker_username: ${{ secrets.DOCKER_USERNAME }}
docker_password: ${{ secrets.DOCKER_PASSWORD }}
- name: Compute build parallelism
id: jobs
env:
PLATFORMS: ${{ steps.platform.outputs.list }}
run: |
# Multi-arch QEMU builds compile all platforms concurrently, so peak memory
# scales as platform_count * (make -j). Cap total concurrent compilers near the
# runner vCPU count to avoid OOM-induced runner shutdowns ("operation canceled").
count=$(( $(printf '%s' "$PLATFORMS" | tr -cd ',' | wc -c) + 1 ))
jobs=$(( 4 / count ))
[ "$jobs" -lt 1 ] && jobs=1
echo "Platforms: $PLATFORMS -> BUILD_JOBS=$jobs"
echo "jobs=$jobs" >> "$GITHUB_OUTPUT"
- name: Build ${{ matrix.build }}/${{ matrix.os }} and push
id: docker_build
uses: ./.github/actions/docker-build-push-linux
@ -498,6 +512,7 @@ jobs:
config_templates=./templates/config/
build_args: |
BUILD_BASE_IMAGE=${{ steps.base_build.outputs.base_build_image }}
BUILD_JOBS=${{ steps.jobs.outputs.jobs }}
labels: |
org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
org.opencontainers.image.created=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -114,7 +115,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -114,7 +115,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -114,7 +115,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -5,6 +5,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG RELEASE
@ -124,7 +125,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -114,7 +115,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -116,7 +117,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -116,7 +117,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -116,7 +117,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -5,6 +5,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG RELEASE
@ -127,7 +128,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -116,7 +117,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -107,7 +108,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -107,7 +108,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -107,7 +108,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -5,6 +5,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG RELEASE
@ -118,7 +119,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \

View file

@ -4,6 +4,7 @@ ARG ZBX_VERSION=${MAJOR_VERSION}.11
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
ARG BUILD_JOBS
ARG MAJOR_VERSION
ARG ZBX_VERSION
@ -107,7 +108,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
--with-ssh \
--with-unixodbc \
--silent && \
jobs="$(nproc)" && \
jobs="${BUILD_JOBS:-$(nproc)}" && \
make -j"${jobs}" -s dbschema && \
make -j"${jobs}" -s && \
make -j"${jobs}" -s gettext && \