Woodpecker CI workflows (PR and develop releases) #3477

Merged
hj merged 9 commits from phnt/pleroma-fe:woodpecker-pr-ci into develop 2026-05-06 12:58:28 +00:00
Owner
  • Pull requests:
    • Check changelog
    • Build (without uploading artifact)
    • Linting
    • Unit tests (uploads screenshots on failure to pleroma-fe-test-artifacts package with pr-<pr number> as the version
    • E2E tests (uploads results on failure to pleroma-fe-test-artifacts package with pr-<pr number> as the version
  • Pushes to develop:
    • Linting
    • Unit tests (uploads screenshots on failure to pleroma-fe-test-artifacts package with <default branch<-<8 char commit sha> as the version
    • E2E tests (uploads results on failure to pleroma-fe-test-artifacts package with <default branch<-<8 char commit sha> as the version
    • Build (when all tests pass also updates the latest develop pre-built bundle)
  • Manual pipelines (same as push to develop)

TODO

  • Do not run pipelines for renovate and weblate bots
* Pull requests: - Check changelog - Build (without uploading artifact) - Linting - Unit tests (uploads screenshots on failure to pleroma-fe-test-artifacts package with `pr-<pr number>` as the version - E2E tests (uploads results on failure to pleroma-fe-test-artifacts package with `pr-<pr number>` as the version * Pushes to develop: - Linting - Unit tests (uploads screenshots on failure to pleroma-fe-test-artifacts package with `<default branch<-<8 char commit sha>` as the version - E2E tests (uploads results on failure to pleroma-fe-test-artifacts package with `<default branch<-<8 char commit sha>` as the version - Build (when all tests pass also updates the latest develop pre-built bundle) * Manual pipelines (same as push to develop) ### TODO - [x] Do not run pipelines for renovate and weblate bots
Author
Owner

Also I guess before this gets merged, agents should be tagged accordingly for the himem test workflow so I can add it as a label here. Filtering by platform is done automatically I think, after

label:
  - platform: linux/amd64

is added to the workflow.

Also I guess before this gets merged, agents should be tagged accordingly for the himem test workflow so I can add it as a label here. Filtering by platform is done automatically I think, after ``` label: - platform: linux/amd64 ``` is added to the workflow.
Owner

How does one deploy a runner for woodpecker ci?

How does one deploy a runner for woodpecker ci?
Author
Owner

Install docker, download docker image, mount the host Docker socket to the container and that's it.

Platform restrictions are handled by default.

There are two ways you can register it.

  1. Shared global secret for all agents
  2. Per-agent secret added in woodpecker server settings.

Runner tagging and the secret are handled via an env variable to the container.

Here's how I ran one locally when testing this:

podman run --rm -v ~/.local/src/woodpecker:/etc/woodpecker -v /run/user/1000/podman/podman.sock:/var/run/docker.sock -v /tmp/woodpecker:/tmp -e "WOODPECKER_AGENT_SECRET=sekrit" -e "WOODPECKER_SERVER=<probably ci.pleroma.com:9000>" -e "WOODPECKER_AGENT_LABELS=memory=high" docker.io/woodpeckerci/woodpecker-agent:v3.13.0

Additionally enabling WOODPECKER_GRPC_SECURE=true is also probably a good idea.

https://woodpecker-ci.org/docs/administration/configuration/agent

Install docker, download [docker image](https://hub.docker.com/layers/woodpeckerci/woodpecker-agent/v3.13.0/images/sha256-33fcd285789d16f431d674319342cb4e52c3eaad1c78d8fe5329db4b8feb51c1), mount the host Docker socket to the container and that's it. Platform restrictions are handled by default. There are two ways you can register it. 1. Shared global secret for all agents 2. Per-agent secret added in woodpecker server settings. Runner tagging and the secret are handled via an env variable to the container. Here's how I ran one locally when testing this: ``` podman run --rm -v ~/.local/src/woodpecker:/etc/woodpecker -v /run/user/1000/podman/podman.sock:/var/run/docker.sock -v /tmp/woodpecker:/tmp -e "WOODPECKER_AGENT_SECRET=sekrit" -e "WOODPECKER_SERVER=<probably ci.pleroma.com:9000>" -e "WOODPECKER_AGENT_LABELS=memory=high" docker.io/woodpeckerci/woodpecker-agent:v3.13.0 ``` Additionally enabling WOODPECKER_GRPC_SECURE=true is also probably a good idea. https://woodpecker-ci.org/docs/administration/configuration/agent
Owner

are you sure 9000 port exposed?

i'm getting transport: Error while dialing: dial tcp 178.156.170.121:9000: connect: connection refused

using docker-compose

version: "3.8"
services:
  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:v3
    command: agent
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WOODPECKER_SERVER=${WOODPECKER_SERVER}
      - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
# VARIABLE=value #comment
WOODPECKER_AGENT_SECRET=<redacted>
WOODPECKER_SERVER=ci.pleroma.com:9000
are you sure 9000 port exposed? i'm getting `transport: Error while dialing: dial tcp 178.156.170.121:9000: connect: connection refused` using docker-compose ``` version: "3.8" services: woodpecker-agent: image: woodpeckerci/woodpecker-agent:v3 command: agent restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WOODPECKER_SERVER=${WOODPECKER_SERVER} - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} ``` ``` # VARIABLE=value #comment WOODPECKER_AGENT_SECRET=<redacted> WOODPECKER_SERVER=ci.pleroma.com:9000 ```
Author
Owner

I haven't done this on Pleroma's own Woodpecker instance, I did it on my own Gitea instance.

Your config should work once that port is opened. cc @lambadalambda

I haven't done this on Pleroma's own Woodpecker instance, I did it on my own Gitea instance. Your config should work once that port is opened. cc @lambadalambda
phnt changed title from PR Woodpecker CI workflow to WIP: PR Woodpecker CI workflow 2026-04-27 17:41:36 +00:00
phnt changed title from WIP: PR Woodpecker CI workflow to PR Woodpecker CI workflow 2026-04-27 17:41:47 +00:00
phnt changed title from PR Woodpecker CI workflow to WIP: PR Woodpecker CI workflow 2026-04-27 17:41:57 +00:00
Author
Owner

Marked as WIP and dependent on BE PR since E2E test needs the Docker images from there.

Marked as WIP and dependent on BE PR since E2E test needs the Docker images from there.
phnt force-pushed woodpecker-pr-ci from 419b00dcaa to 01bd39b785 2026-05-05 19:40:47 +00:00 Compare
phnt changed title from WIP: PR Woodpecker CI workflow to WIP: Woodpecker CI workflows (PR and develop releases) 2026-05-05 19:41:43 +00:00
phnt force-pushed woodpecker-pr-ci from 01bd39b785 to f346a17756 2026-05-05 20:14:01 +00:00 Compare
phnt force-pushed woodpecker-pr-ci from f346a17756 to 2326d559b0 2026-05-05 20:53:47 +00:00 Compare
phnt changed title from WIP: Woodpecker CI workflows (PR and develop releases) to Woodpecker CI workflows (PR and develop releases) 2026-05-06 11:30:45 +00:00
hj merged commit dee95c5f7a into develop 2026-05-06 12:58:28 +00:00
phnt deleted branch woodpecker-pr-ci 2026-05-06 13:04:30 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
pleroma/pleroma-fe!3477
No description provided.