Woodpecker CI: Build armv7 Docker images
This commit is contained in:
parent
4230887d7e
commit
af175fbdfc
3 changed files with 52 additions and 3 deletions
|
|
@ -27,7 +27,7 @@ steps:
|
||||||
settings: &docker_settings
|
settings: &docker_settings
|
||||||
registry: "git.pleroma.social"
|
registry: "git.pleroma.social"
|
||||||
image: "pleroma/pleroma"
|
image: "pleroma/pleroma"
|
||||||
architectures: [amd64, arm64]
|
architectures: [amd64, arm64, armv7]
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- develop
|
- develop
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ when:
|
||||||
matrix:
|
matrix:
|
||||||
platform:
|
platform:
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
|
- linux/arm
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
|
|
||||||
# This is needed for the when clauses below.
|
# This is needed for the when clauses below.
|
||||||
|
|
@ -27,6 +28,13 @@ variables:
|
||||||
password:
|
password:
|
||||||
from_secret: pleroma-ci-password
|
from_secret: pleroma-ci-password
|
||||||
kaniko_image: &kaniko_image woodpeckerci/plugin-kaniko:2.3.1
|
kaniko_image: &kaniko_image woodpeckerci/plugin-kaniko:2.3.1
|
||||||
|
# HexPM Elixir images are not published for arm/v7.
|
||||||
|
armv7_build_args: &armv7_build_args
|
||||||
|
- ELIXIR_IMG=arm32v7/elixir
|
||||||
|
- ELIXIR_TAG=1.17.3-alpine
|
||||||
|
- ALPINE_IMG=arm32v7/alpine
|
||||||
|
- ALPINE_VER=3.22
|
||||||
|
armv7_extra_opts: &armv7_extra_opts --custom-platform=linux/arm/v7
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
docker-develop-amd64:
|
docker-develop-amd64:
|
||||||
|
|
@ -51,6 +59,19 @@ steps:
|
||||||
- develop-arm64
|
- develop-arm64
|
||||||
- ${CI_COMMIT_SHA:0:8}-arm64
|
- ${CI_COMMIT_SHA:0:8}-arm64
|
||||||
|
|
||||||
|
docker-develop-armv7:
|
||||||
|
image: *kaniko_image
|
||||||
|
when:
|
||||||
|
- evaluate: 'platform == "linux/arm" && CI_COMMIT_BRANCH == "${CI_REPO_DEFAULT_BRANCH}"'
|
||||||
|
settings:
|
||||||
|
<<: *docker_variables
|
||||||
|
build_args: *armv7_build_args
|
||||||
|
extra_opts: *armv7_extra_opts
|
||||||
|
tags:
|
||||||
|
- latest-armv7
|
||||||
|
- develop-armv7
|
||||||
|
- ${CI_COMMIT_SHA:0:8}-armv7
|
||||||
|
|
||||||
docker-stable-amd64:
|
docker-stable-amd64:
|
||||||
image: *kaniko_image
|
image: *kaniko_image
|
||||||
when:
|
when:
|
||||||
|
|
@ -84,6 +105,19 @@ steps:
|
||||||
- stable-arm64
|
- stable-arm64
|
||||||
- ${CI_COMMIT_SHA:0:8}-arm64
|
- ${CI_COMMIT_SHA:0:8}-arm64
|
||||||
|
|
||||||
|
docker-stable-armv7:
|
||||||
|
image: *kaniko_image
|
||||||
|
when:
|
||||||
|
- evaluate: 'platform == "linux/arm" && CI_PIPELINE_EVENT == "manual" && CI_COMMIT_BRANCH == "stable" && CI_COMMIT_TAG == ""'
|
||||||
|
settings:
|
||||||
|
<<: *docker_variables
|
||||||
|
build_args: *armv7_build_args
|
||||||
|
extra_opts: *armv7_extra_opts
|
||||||
|
tags: &armv7_tags
|
||||||
|
- latest-armv7
|
||||||
|
- stable-armv7
|
||||||
|
- ${CI_COMMIT_SHA:0:8}-armv7
|
||||||
|
|
||||||
docker-stable-tag-arm64:
|
docker-stable-tag-arm64:
|
||||||
image: *kaniko_image
|
image: *kaniko_image
|
||||||
when:
|
when:
|
||||||
|
|
@ -94,3 +128,16 @@ steps:
|
||||||
tags:
|
tags:
|
||||||
- <<: *arm64_tags
|
- <<: *arm64_tags
|
||||||
- ${CI_COMMIT_TAG}-arm64
|
- ${CI_COMMIT_TAG}-arm64
|
||||||
|
|
||||||
|
docker-stable-tag-armv7:
|
||||||
|
image: *kaniko_image
|
||||||
|
when:
|
||||||
|
- evaluate: 'platform == "linux/arm" && CI_PIPELINE_EVENT == "tag"'
|
||||||
|
- evaluate: 'platform == "linux/arm" && CI_PIPELINE_EVENT == "manual" && CI_COMMIT_BRANCH == "stable" && CI_COMMIT_TAG != ""'
|
||||||
|
settings:
|
||||||
|
<<: *docker_variables
|
||||||
|
build_args: *armv7_build_args
|
||||||
|
extra_opts: *armv7_extra_opts
|
||||||
|
tags:
|
||||||
|
- <<: *armv7_tags
|
||||||
|
- ${CI_COMMIT_TAG}-armv7
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@ ARG ELIXIR_IMG=hexpm/elixir
|
||||||
ARG ELIXIR_VER=1.17.3
|
ARG ELIXIR_VER=1.17.3
|
||||||
ARG ERLANG_VER=26.2.5.6
|
ARG ERLANG_VER=26.2.5.6
|
||||||
ARG ALPINE_VER=3.17.9
|
ARG ALPINE_VER=3.17.9
|
||||||
|
ARG ELIXIR_TAG=${ELIXIR_VER}-erlang-${ERLANG_VER}-alpine-${ALPINE_VER}
|
||||||
|
ARG ALPINE_IMG=alpine
|
||||||
|
|
||||||
FROM ${ELIXIR_IMG}:${ELIXIR_VER}-erlang-${ERLANG_VER}-alpine-${ALPINE_VER} AS build
|
FROM ${ELIXIR_IMG}:${ELIXIR_TAG} AS build
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|
@ -20,7 +22,7 @@ RUN apk add git gcc g++ musl-dev make cmake file-dev vips-dev &&\
|
||||||
mkdir release &&\
|
mkdir release &&\
|
||||||
mix release --path release
|
mix release --path release
|
||||||
|
|
||||||
FROM alpine:${ALPINE_VER}
|
FROM ${ALPINE_IMG}:${ALPINE_VER}
|
||||||
|
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VCS_REF
|
ARG VCS_REF
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue