Woodpecker CI: Isolate armv7 Docker builds
This commit is contained in:
parent
af175fbdfc
commit
684e9ef247
3 changed files with 85 additions and 48 deletions
84
.woodpecker/docker-armv7.yaml
Normal file
84
.woodpecker/docker-armv7.yaml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
when:
|
||||
# Temporary PR validation while arm/v7 Docker builds are being brought up.
|
||||
- event: pull_request
|
||||
path: [ "**/*.ex", "**/*.eex", "**/*.exs", "mix.lock", ".woodpecker/**", "Dockerfile" ]
|
||||
- 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:
|
||||
armv7: native
|
||||
|
||||
variables:
|
||||
docker_variables: &docker_variables
|
||||
repo: pleroma/pleroma
|
||||
registry: git.pleroma.social
|
||||
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
|
||||
armv7_push_settings: &armv7_push_settings
|
||||
<<: *armv7_build_settings
|
||||
username:
|
||||
from_secret: pleroma-ci-user
|
||||
password:
|
||||
from_secret: pleroma-ci-password
|
||||
|
||||
steps:
|
||||
docker-armv7-pr:
|
||||
image: woodpeckerci/plugin-kaniko:2.3.1
|
||||
when:
|
||||
- event: pull_request
|
||||
settings:
|
||||
<<: *armv7_build_settings
|
||||
dry_run: true
|
||||
tags:
|
||||
- armv7-pr-check
|
||||
|
||||
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_push_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_push_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_push_settings
|
||||
tags:
|
||||
- latest-armv7
|
||||
- stable-armv7
|
||||
- ${CI_COMMIT_SHA:0:8}-armv7
|
||||
- ${CI_COMMIT_TAG}-armv7
|
||||
|
|
@ -27,7 +27,7 @@ steps:
|
|||
settings: &docker_settings
|
||||
registry: "git.pleroma.social"
|
||||
image: "pleroma/pleroma"
|
||||
architectures: [amd64, arm64, armv7]
|
||||
architectures: [amd64, arm64]
|
||||
tags:
|
||||
- latest
|
||||
- develop
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ when:
|
|||
matrix:
|
||||
platform:
|
||||
- linux/amd64
|
||||
- linux/arm
|
||||
- linux/arm64
|
||||
|
||||
# This is needed for the when clauses below.
|
||||
|
|
@ -28,13 +27,6 @@ variables:
|
|||
password:
|
||||
from_secret: pleroma-ci-password
|
||||
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:
|
||||
docker-develop-amd64:
|
||||
|
|
@ -59,19 +51,6 @@ steps:
|
|||
- develop-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:
|
||||
image: *kaniko_image
|
||||
when:
|
||||
|
|
@ -105,19 +84,6 @@ steps:
|
|||
- stable-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:
|
||||
image: *kaniko_image
|
||||
when:
|
||||
|
|
@ -128,16 +94,3 @@ steps:
|
|||
tags:
|
||||
- <<: *arm64_tags
|
||||
- ${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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue