pleroma/.woodpecker/otp-develop.yaml
2026-04-23 17:05:27 +02:00

83 lines
3 KiB
YAML

when:
- event: push
branch: ${CI_REPO_DEFAULT_BRANCH}
path: [ "*.ex", "*.eex", "*.exs", "mix.lock", ".woodpecker/**" ]
matrix:
platform:
- linux/amd64
- linux/arm64
# This is needed for the when clauses below.
# When the platform clause is fixed, this might not be needed anymore
labels:
platform: ${platform}
variables:
pleroma_build_cmds: &pleroma_build_cmds
- echo "import Config" > config/prod.secret.exs
- mix local.hex --force
- mix local.rebar --force
- mix deps.get --only prod
- mkdir release
- export PLEROMA_BUILD_BRANCH=${CI_COMMIT_BRANCH}
- mix release --path release
artifacts_uploader_settings: &artifacts_uploader_settings
user:
from_secret: pleroma-ci-user
password:
from_secret: pleroma-ci-password
owner: 'pleroma'
steps:
otp-develop-amd64:
image: docker.io/hexpm/elixir-amd64:1.17.3-erlang-27.3.4.2-ubuntu-noble-20250716
# when:
# - platform: linux/amd64
# does not work even though it should according to docs
# https://github.com/woodpecker-ci/woodpecker/discussions/5367#discussioncomment-13901342
when:
- evaluate: platform == "linux/amd64"
environment:
MIX_ENV: prod
VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS
DEBIAN_FRONTEND: noninteractive
commands:
- apt-get update && apt-get install -y cmake libmagic-dev libvips-dev erlang-dev git build-essential zip
- <<: *pleroma_build_cmds
- zip -9rq pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-amd64.zip release
upload-artifacts-amd64:
image: docker.io/woodpeckercommunity/plugin-gitea-package:0.5.0
when:
- evaluate: platform == "linux/amd64"
settings:
<<: *artifacts_uploader_settings
package_name: pleroma-otp-${CI_REPO_DEFAULT_BRANCH}-amd64
package_version: ${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-amd64
file_source: ./pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-amd64.zip
file_name: ./pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-amd64.zip
otp-develop-arm64:
image: docker.io/hexpm/elixir-arm64:1.17.3-erlang-27.3.4.2-ubuntu-noble-20250716
when:
- evaluate: platform == "linux/arm64"
environment:
MIX_ENV: prod
VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS
DEBIAN_FRONTEND: noninteractive
commands:
- apt-get update && apt-get install -y cmake libmagic-dev libvips-dev erlang-dev git build-essential zip
- <<: *pleroma_build_cmds
- zip -9rq pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-arm64.zip release
upload-artifacts-arm64:
image: docker.io/woodpeckercommunity/plugin-gitea-package:0.5.0
when:
- evaluate: platform == "linux/arm64"
settings:
<<: *artifacts_uploader_settings
package_name: pleroma-otp-${CI_REPO_DEFAULT_BRANCH}-arm64
package_version: ${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-arm64
file_source: ./pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-arm64.zip
file_name: ./pleroma-${CI_REPO_DEFAULT_BRANCH}-${CI_COMMIT_SHA:0:8}-arm64.zip