ci: add Woodpecker build+test pipeline, drop GitHub Actions #2

Merged
benvin merged 1 commits from benvin/woodpecker-ci into main 2026-08-11 21:14:33 +10:00
Owner

Why

The fork inherited GitHub Actions workflows from upstream that target the
upstream's self-hosted GitHub runners. They do not run on this Gitea /
Woodpecker infrastructure, so source changes (including the open scan-leader
lease work) currently land with no CI validation.

How

  • Add .woodpecker/ci.yaml that restores, builds and tests Jellyfin.sln on
    pull_request and push, giving source changes real CI.
  • Build on the .NET 9 SDK image (mcr.microsoft.com/dotnet/sdk:9.0) to match
    global.json (9.0.0, rollForward latestMinor). Note: mcr.microsoft.com is
    not currently proxied by artifactapi, so the SDK image is pulled directly;
    adding an mcr remote to artifactapi is a possible policy follow-up.
  • Filter out RequiresDocker and Integration tests, mirroring the upstream
    test selection so the suite runs without extra services.
  • Set memory-heavy resource requests/limits (requests 2Gi/2, limits 6Gi/4) and
    a dedicated serviceAccountName: jellyfin-ha-src on the build+test step.
  • Remove .github/workflows/* (12 inherited GitHub Actions pipelines) that only
    run on the upstream's runners.

The dedicated jellyfin-ha-src Woodpecker ServiceAccount is added in a separate
argocd-apps change.

The open scan-leader PR (#1) should be rebased onto this branch so it picks up
the build+test pipeline.

## Why The fork inherited GitHub Actions workflows from upstream that target the upstream's self-hosted GitHub runners. They do not run on this Gitea / Woodpecker infrastructure, so source changes (including the open scan-leader lease work) currently land with no CI validation. ## How - Add `.woodpecker/ci.yaml` that restores, builds and tests `Jellyfin.sln` on `pull_request` and `push`, giving source changes real CI. - Build on the .NET 9 SDK image (`mcr.microsoft.com/dotnet/sdk:9.0`) to match `global.json` (9.0.0, rollForward latestMinor). Note: `mcr.microsoft.com` is not currently proxied by artifactapi, so the SDK image is pulled directly; adding an `mcr` remote to artifactapi is a possible policy follow-up. - Filter out `RequiresDocker` and `Integration` tests, mirroring the upstream test selection so the suite runs without extra services. - Set memory-heavy resource requests/limits (requests 2Gi/2, limits 6Gi/4) and a dedicated `serviceAccountName: jellyfin-ha-src` on the build+test step. - Remove `.github/workflows/*` (12 inherited GitHub Actions pipelines) that only run on the upstream's runners. The dedicated `jellyfin-ha-src` Woodpecker ServiceAccount is added in a separate argocd-apps change. The open scan-leader PR (#1) should be rebased onto this branch so it picks up the build+test pipeline.
unkinben added 1 commit 2026-08-11 07:24:16 +10:00
ci: add Woodpecker build+test pipeline, drop GitHub Actions
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
a06b11980e
Why:
- The fork inherited GitHub Actions workflows that target the upstream's
  self-hosted GitHub runners and do not run on this Gitea/Woodpecker
  infrastructure, so source changes (such as the scan-leader lease work)
  currently land without any CI validation.

How:
- Add .woodpecker/ci.yaml running restore, build and test of Jellyfin.sln
  on pull_request and push, using the .NET 9 SDK that global.json pins.
- Filter out RequiresDocker and Integration tests, mirroring the upstream
  test selection so the suite runs without extra services.
- Set memory-heavy resource requests/limits and a dedicated
  serviceAccountName for the build+test step.
- Remove the inherited .github/workflows/ pipelines that only run on the
  upstream's GitHub Actions runners.
benvin merged commit 2e1e445e47 into main 2026-08-11 21:14:33 +10:00
benvin deleted branch benvin/woodpecker-ci 2026-08-11 21:14:34 +10:00
Sign in to join this conversation.