From c596ace9dfb1600f824a28b5d89e732fc164162f Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sun, 14 Jun 2026 20:17:36 +0200 Subject: [PATCH 1/9] Woodpecker CI: Build API specs again --- .woodpecker/spec-build.yaml | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .woodpecker/spec-build.yaml diff --git a/.woodpecker/spec-build.yaml b/.woodpecker/spec-build.yaml new file mode 100644 index 000000000..f902914f4 --- /dev/null +++ b/.woodpecker/spec-build.yaml @@ -0,0 +1,53 @@ +when: + - event: tag + - event: manual + branch: stable + +labels: + platform: linux/amd64 + +variables: + artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.0 + artifacts_uploader_settings: &artifacts_uploader_settings + user: + from_secret: pleroma-ci-user + password: + from_secret: pleroma-ci-password + owner: 'pleroma' + +steps: + build-spec: + image: docker.io/hexpm/elixir-amd64:1.17.3-erlang-27.3.4.2-alpine-3.22.1 + environment: + MIX_ENV: prod + VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS + commands: + - apk update --no-cache + - apk add git build-base cmake file-dev openssl vips-dev zip + - mix local.hex --force + - mix local.rebar --force + - mix deps.get --only prod + - mix pleroma.openapi_spec spec.json + + upload-spec: + image: *artifacts_uploader_image + settings: + <<: *artifacts_uploader_settings + package_name: api-docs-spec + package_version: stable + file_source: ./spec.json + file_name: spec.json + update: 'true' + + trigger-deploy: + image: docker.io/woodpeckerci/plugin-trigger:1.1.1 + settings: + params: + - BRANCH=stable + deploy: 'api-docs' + last-successful: true + token: + from_secret: + pleroma-ci-woodpecker-token + repositories: + - pleroma/api-docs@master From 71104db3f6e0bcd74e7150a475db9199abcb96e6 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Fri, 19 Jun 2026 14:07:44 +0200 Subject: [PATCH 2/9] Woodpecker CI: Deploy docs on stable tag --- .woodpecker/docs.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .woodpecker/docs.yaml diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml new file mode 100644 index 000000000..99a32b598 --- /dev/null +++ b/.woodpecker/docs.yaml @@ -0,0 +1,21 @@ +when: + - event: tag + - event: manual + branch: stable + +labels: + platform: linux/amd64 + +skip_clone: true + +steps: + trigger-deploy: + image: docker.io/woodpeckerci/plugin-trigger:1.1.1 + settings: + deploy: 'docs' + last-successful: true + token: + from_secret: + pleroma-ci-woodpecker-token + repositories: + - pleroma/docs@master From e35dacf9f9d0f9c57d135b14cf8b3c59c13291d3 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Fri, 19 Jun 2026 14:54:36 +0200 Subject: [PATCH 3/9] Woodpecker CI: pass branch to triggered docs workflows --- .woodpecker/docs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index 99a32b598..e4a035171 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -12,6 +12,8 @@ steps: trigger-deploy: image: docker.io/woodpeckerci/plugin-trigger:1.1.1 settings: + params: + - BRANCH=stable deploy: 'docs' last-successful: true token: From d549b98f8babc01db442c39b247ec034537c9e3d Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sun, 21 Jun 2026 18:35:48 +0200 Subject: [PATCH 4/9] changelog --- changelog.d/woodpecker-ci-docs.skip | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 changelog.d/woodpecker-ci-docs.skip diff --git a/changelog.d/woodpecker-ci-docs.skip b/changelog.d/woodpecker-ci-docs.skip new file mode 100644 index 000000000..e69de29bb From a050b00898db718e050d2da412dbae285dd79b0d Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sat, 5 Sep 2026 20:48:08 +0200 Subject: [PATCH 5/9] Woodpecker CI Docs: Also build docs for develop branch --- .woodpecker/docs.yaml | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index e4a035171..6d4372c0f 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -1,23 +1,45 @@ when: + - event: push + branch: ${CI_REPO_DEFAULT_BRANCH} + path: [ "docs/**" ] - event: tag - event: manual - branch: stable + evaluate: 'CI_COMMIT_BRANCH == "stable" || CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH' labels: platform: linux/amd64 skip_clone: true -steps: - trigger-deploy: - image: docker.io/woodpeckerci/plugin-trigger:1.1.1 - settings: - params: - - BRANCH=stable +variables: + trigger_settings: &trigger_settings deploy: 'docs' last-successful: true token: - from_secret: - pleroma-ci-woodpecker-token + from_secret: pleroma-ci-woodpecker-token repositories: - pleroma/docs@master + docker_image: &docker_image docker.io/woodpeckerci/plugin-trigger:1.1.1 + +steps: + trigger-deploy-stable: + when: + - event: tag + - event: manual + branch: stable + image: *docker_image + settings: + <<: *trigger_settings + params: + - BRANCH=stable + + trigger-deploy-develop: + when: + - event: push + - event: manual + branch: ${CI_REPO_DEFAULT_BRANCH} + image: *docker_image + settings: + <<: *trigger_settings + params: + - BRANCH=develop From c978fe0b7b3560853b69df7169922b87cbd32774 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sat, 5 Sep 2026 20:54:44 +0200 Subject: [PATCH 6/9] CI: Bump Gitea Package plugin version --- .woodpecker/spec-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/spec-build.yaml b/.woodpecker/spec-build.yaml index f902914f4..b5117a31f 100644 --- a/.woodpecker/spec-build.yaml +++ b/.woodpecker/spec-build.yaml @@ -7,7 +7,7 @@ labels: platform: linux/amd64 variables: - artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.0 + artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.1 artifacts_uploader_settings: &artifacts_uploader_settings user: from_secret: pleroma-ci-user From a881ffe8c22fa795a8681346eb2c0414c6a2dfec Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sat, 5 Sep 2026 21:14:26 +0200 Subject: [PATCH 7/9] Woodpecker CI API spec: Update Elixir image to an existing one Switches from hexpm/elixir-amd64 to hexpm/elixir. --- .woodpecker/spec-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/spec-build.yaml b/.woodpecker/spec-build.yaml index b5117a31f..91151ce30 100644 --- a/.woodpecker/spec-build.yaml +++ b/.woodpecker/spec-build.yaml @@ -17,7 +17,7 @@ variables: steps: build-spec: - image: docker.io/hexpm/elixir-amd64:1.17.3-erlang-27.3.4.2-alpine-3.22.1 + image: docker.io/hexpm/elixir:1.17.3-erlang-27.3.4.17-alpine-3.22.5 environment: MIX_ENV: prod VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS From 5452e3f73e136cb42931bff3ee09c5389db7e909 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sat, 5 Sep 2026 21:25:28 +0200 Subject: [PATCH 8/9] Fix indentation --- .woodpecker/docs.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index 6d4372c0f..2a6023abd 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -13,12 +13,12 @@ skip_clone: true variables: trigger_settings: &trigger_settings - deploy: 'docs' - last-successful: true - token: - from_secret: pleroma-ci-woodpecker-token - repositories: - - pleroma/docs@master + deploy: 'docs' + last-successful: true + token: + from_secret: pleroma-ci-woodpecker-token + repositories: + - pleroma/docs@master docker_image: &docker_image docker.io/woodpeckerci/plugin-trigger:1.1.1 steps: From fd1b15dd5823bc0687f943e44ffdf612b764291a Mon Sep 17 00:00:00 2001 From: Lain Soykaf Date: Wed, 9 Sep 2026 13:21:07 +0400 Subject: [PATCH 9/9] fix(ci): isolate API documentation channels --- .woodpecker/spec-build.yaml | 79 ++++++++++++++++++++++++++++++------- 1 file changed, 64 insertions(+), 15 deletions(-) diff --git a/.woodpecker/spec-build.yaml b/.woodpecker/spec-build.yaml index 91151ce30..e294806f9 100644 --- a/.woodpecker/spec-build.yaml +++ b/.woodpecker/spec-build.yaml @@ -1,11 +1,21 @@ when: + - event: push + branch: ${CI_REPO_DEFAULT_BRANCH} + path: + - ".woodpecker/spec-build.yaml" + - "mix.exs" + - "mix.lock" + - "lib/pleroma/web.ex" + - "lib/pleroma/web/**/*.ex" - event: tag - event: manual - branch: stable + evaluate: 'CI_COMMIT_BRANCH == "stable" || CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH' labels: platform: linux/amd64 +concurrency: 1 + variables: artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.1 artifacts_uploader_settings: &artifacts_uploader_settings @@ -14,6 +24,18 @@ variables: password: from_secret: pleroma-ci-password owner: 'pleroma' + package_name: api-docs-spec + file_source: ./spec.json + file_name: spec.json + update: 'true' + trigger_image: &trigger_image docker.io/woodpeckerci/plugin-trigger:1.1.1 + trigger_settings: &trigger_settings + deploy: 'api-docs' + last-successful: true + token: + from_secret: pleroma-ci-woodpecker-token + repositories: + - pleroma/api-docs@master steps: build-spec: @@ -33,21 +55,48 @@ steps: image: *artifacts_uploader_image settings: <<: *artifacts_uploader_settings - package_name: api-docs-spec - package_version: stable - file_source: ./spec.json - file_name: spec.json - update: 'true' + package_version: ${CI_COMMIT_SHA} - trigger-deploy: - image: docker.io/woodpeckerci/plugin-trigger:1.1.1 + upload-spec-stable: + when: + - event: tag + - event: manual + branch: stable + image: *artifacts_uploader_image settings: + <<: *artifacts_uploader_settings + package_version: stable + + upload-spec-develop: + when: + - event: push + - event: manual + branch: ${CI_REPO_DEFAULT_BRANCH} + image: *artifacts_uploader_image + settings: + <<: *artifacts_uploader_settings + package_version: develop + + trigger-deploy-stable: + when: + - event: tag + - event: manual + branch: stable + image: *trigger_image + settings: + <<: *trigger_settings params: - BRANCH=stable - deploy: 'api-docs' - last-successful: true - token: - from_secret: - pleroma-ci-woodpecker-token - repositories: - - pleroma/api-docs@master + - SPEC_VERSION=${CI_COMMIT_SHA} + + trigger-deploy-develop: + when: + - event: push + - event: manual + branch: ${CI_REPO_DEFAULT_BRANCH} + image: *trigger_image + settings: + <<: *trigger_settings + params: + - BRANCH=develop + - SPEC_VERSION=${CI_COMMIT_SHA}