Merge pull request 'Woodpecker CI: Unify Docker builds, add arm32v7 to multi-arch images' (#7919) from woodpecker-armv7-fixups into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7919
This commit is contained in:
commit
9b8aa2e2ee
4 changed files with 47 additions and 74 deletions
|
|
@ -1,70 +0,0 @@
|
||||||
when:
|
|
||||||
- event: push
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
path: [ "**/*.ex", "**/*.eex", "**/*.exs", "mix.lock", ".woodpecker/**", "Dockerfile" ]
|
|
||||||
- event: tag
|
|
||||||
- event: manual
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
- event: manual
|
|
||||||
branch: stable
|
|
||||||
|
|
||||||
# Target the CAX21 arm64 host with native arm32 userspace support, not generic arm64 runners.
|
|
||||||
labels:
|
|
||||||
platform: linux/arm
|
|
||||||
armv7: native
|
|
||||||
|
|
||||||
variables:
|
|
||||||
docker_variables: &docker_variables
|
|
||||||
repo: pleroma/pleroma
|
|
||||||
registry: git.pleroma.social
|
|
||||||
username:
|
|
||||||
from_secret: pleroma-ci-user
|
|
||||||
password:
|
|
||||||
from_secret: pleroma-ci-password
|
|
||||||
armv7_build_settings: &armv7_build_settings
|
|
||||||
<<: *docker_variables
|
|
||||||
build_args:
|
|
||||||
- ELIXIR_IMG=arm32v7/elixir
|
|
||||||
- ELIXIR_TAG=1.17.3-otp-26-alpine
|
|
||||||
- ALPINE_IMG=arm32v7/alpine
|
|
||||||
- ALPINE_VER=3.20
|
|
||||||
extra_opts: --custom-platform=linux/arm/v7
|
|
||||||
|
|
||||||
steps:
|
|
||||||
docker-develop-armv7:
|
|
||||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
|
||||||
when:
|
|
||||||
- event: push
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
- event: manual
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
settings:
|
|
||||||
<<: *armv7_build_settings
|
|
||||||
tags:
|
|
||||||
- latest-armv7
|
|
||||||
- develop-armv7
|
|
||||||
- ${CI_COMMIT_SHA:0:8}-armv7
|
|
||||||
|
|
||||||
docker-stable-armv7:
|
|
||||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
|
||||||
when:
|
|
||||||
- evaluate: 'CI_PIPELINE_EVENT == "manual" && CI_COMMIT_BRANCH == "stable" && CI_COMMIT_TAG == ""'
|
|
||||||
settings:
|
|
||||||
<<: *armv7_build_settings
|
|
||||||
tags:
|
|
||||||
- latest-armv7
|
|
||||||
- stable-armv7
|
|
||||||
- ${CI_COMMIT_SHA:0:8}-armv7
|
|
||||||
|
|
||||||
docker-stable-tag-armv7:
|
|
||||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
|
||||||
when:
|
|
||||||
- event: tag
|
|
||||||
- evaluate: 'CI_PIPELINE_EVENT == "manual" && CI_COMMIT_BRANCH == "stable" && CI_COMMIT_TAG != ""'
|
|
||||||
settings:
|
|
||||||
<<: *armv7_build_settings
|
|
||||||
tags:
|
|
||||||
- latest-armv7
|
|
||||||
- stable-armv7
|
|
||||||
- ${CI_COMMIT_SHA:0:8}-armv7
|
|
||||||
- ${CI_COMMIT_TAG}-armv7
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ matrix:
|
||||||
platform:
|
platform:
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
|
- linux/arm
|
||||||
|
|
||||||
# This is needed for the when clauses below.
|
# This is needed for the when clauses below.
|
||||||
labels:
|
labels:
|
||||||
|
|
@ -26,11 +27,19 @@ variables:
|
||||||
from_secret: pleroma-ci-user
|
from_secret: pleroma-ci-user
|
||||||
password:
|
password:
|
||||||
from_secret: pleroma-ci-password
|
from_secret: pleroma-ci-password
|
||||||
kaniko_image: &kaniko_image woodpeckerci/plugin-kaniko:2.3.1
|
armv7_docker_variables: &armv7_docker_variables
|
||||||
|
<<: *docker_variables
|
||||||
|
build_args:
|
||||||
|
- ELIXIR_IMG=docker.io/arm32v7/elixir
|
||||||
|
- ELIXIR_TAG=1.17.3-otp-26-alpine
|
||||||
|
- ALPINE_IMG=docker.io/arm32v7/alpine
|
||||||
|
- ALPINE_VER=3.20
|
||||||
|
extra_opts: --custom-platform=linux/arm/v7
|
||||||
|
kaniko_image: &kaniko_image docker.io/woodpeckerci/plugin-kaniko:2.3.2
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
docker-develop-amd64:
|
docker-develop-amd64:
|
||||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
image: *kaniko_image
|
||||||
when:
|
when:
|
||||||
- evaluate: 'platform == "linux/amd64" && CI_COMMIT_BRANCH == "${CI_REPO_DEFAULT_BRANCH}"'
|
- evaluate: 'platform == "linux/amd64" && CI_COMMIT_BRANCH == "${CI_REPO_DEFAULT_BRANCH}"'
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -41,7 +50,7 @@ steps:
|
||||||
- ${CI_COMMIT_SHA:0:8}-amd64
|
- ${CI_COMMIT_SHA:0:8}-amd64
|
||||||
|
|
||||||
docker-develop-arm64:
|
docker-develop-arm64:
|
||||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
image: *kaniko_image
|
||||||
when:
|
when:
|
||||||
- evaluate: 'platform == "linux/arm64" && CI_COMMIT_BRANCH == "${CI_REPO_DEFAULT_BRANCH}"'
|
- evaluate: 'platform == "linux/arm64" && CI_COMMIT_BRANCH == "${CI_REPO_DEFAULT_BRANCH}"'
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -51,6 +60,17 @@ 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:
|
||||||
|
<<: *armv7_docker_variables
|
||||||
|
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:
|
||||||
|
|
@ -106,3 +126,25 @@ steps:
|
||||||
tags:
|
tags:
|
||||||
- <<: *arm64_tags
|
- <<: *arm64_tags
|
||||||
- ${CI_COMMIT_TAG}-arm64
|
- ${CI_COMMIT_TAG}-arm64
|
||||||
|
|
||||||
|
docker-stable-armv7:
|
||||||
|
image: *kaniko_image
|
||||||
|
when:
|
||||||
|
- evaluate: 'platform == "linux/arm" && CI_PIPELINE_EVENT == "manual" && CI_COMMIT_BRANCH == "stable" && CI_COMMIT_TAG == ""'
|
||||||
|
settings:
|
||||||
|
<<: *armv7_docker_variables
|
||||||
|
tags: &armv7_tags
|
||||||
|
- latest-armv7
|
||||||
|
- stable-armv7
|
||||||
|
- ${CI_COMMIT_SHA:0:8}-armv7
|
||||||
|
|
||||||
|
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:
|
||||||
|
<<: *armv7_docker_variables
|
||||||
|
tags:
|
||||||
|
- <<: *armv7_tags
|
||||||
|
- ${CI_COMMIT_TAG}-armv7
|
||||||
|
|
|
||||||
1
changelog.d/woodpecker-armv7-fixups.fix
Normal file
1
changelog.d/woodpecker-armv7-fixups.fix
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Include arm32v7 in multi-arch Docker images
|
||||||
Loading…
Add table
Add a link
Reference in a new issue