Author SHA1 Message Date
opencodecabilloteu e14fec2ebb fix(ci): corps JSON valide pour le dispatch Renovate
PR Checks / hadolint (pull_request) Successful in 11s
PR Checks / build-test (pull_request) Successful in 23s
2026-10-18 22:15:36 -04:00
jcabillot 64bb087fd4 Merge pull request 'ci(tag): déclenche Renovate sur tf-depl-kubernetes dès que l'image de release est poussée (sabnzbd)' (#46) from ci/renovate-dispatch-on-release into master
Main Release / test (push) Successful in 9m46s
Main Release / build (push) Successful in 27s
Tag Release / build-push (push) Successful in 13m43s
Tag Release / trigger-renovate (push) Failing after 4s
Main Release / hadolint (push) Successful in 13s
Renovate / renovate (push) Successful in 1m35s
Main Release / tag (push) Successful in 24s
Tag Release / hadolint (push) Successful in 3m43s
PR Checks / hadolint (pull_request) Successful in 20s
PR Checks / build-test (pull_request) Successful in 3m25s
Tag Release / test (push) Successful in 8m22s
Reviewed-on: #46
2026-10-18 13:47:01 -04:00
opencodecabilloteu 328a4a11aa ci(tag): dispatch Renovate on tf-depl-kubernetes once the release image is pushed
PR Checks / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 8m34s
A release only reached perso_private/tf-depl-kubernetes on the next hourly
Renovate scan, so the image bump PR could lag up to an hour behind the tag.

After the image push completes, dispatch that repo's Renovate workflow through
the Gitea API (workflow_dispatch is already enabled there). It authenticates
with the RENOVATE_TOKEN org secret of this organisation — the same token the
Renovate instance itself uses, no extra credential. The job fails loudly so a
rotated token shows up instead of the trigger silently going missing.
2026-10-18 13:23:26 -04:00
opencodecabilloteu a5936c01e3 Merge pull request 'chore(deps): update docker/setup-buildx-action digest to f87e599' (#45) from renovate/docker-setup-buildx-action-digest into master
Main Release / test (push) Successful in 3m6s
Main Release / build (push) Successful in 20s
Tag Release / build-push (push) Successful in 3m7s
Main Release / hadolint (push) Successful in 9s
Renovate / renovate (push) Successful in 36s
Main Release / tag (push) Successful in 12s
Tag Release / hadolint (push) Successful in 8s
Tag Release / test (push) Successful in 26s
2026-09-18 05:00:23 -04:00
renovate 79c8d25d22 chore(deps): update docker/setup-buildx-action digest to f87e599
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 8s
PR Checks / build-test (pull_request) Successful in 3m33s
2026-09-18 08:33:38 +00:00
opencodecabilloteu 1d4bee660f Merge pull request 'chore(deps): update docker/build-push-action action to v7.4.0' (#44) from renovate/docker-build-push-action-7.x into master
Main Release / test (push) Successful in 4m18s
Main Release / build (push) Successful in 21s
Tag Release / build-push (push) Successful in 5m19s
Main Release / hadolint (push) Successful in 13s
Renovate / renovate (push) Successful in 56s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 40s
2026-09-17 05:01:15 -04:00
renovate ae9cc6fbde chore(deps): update docker/build-push-action action to v7.4.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 11s
PR Checks / build-test (pull_request) Successful in 4m33s
2026-09-17 08:34:50 +00:00
jcabillot 206e5c08cf Merge pull request 'chore(deps): update dependency sabnzbd/sabnzbd to v5.1.3' (#43) from renovate/sabnzbd-sabnzbd-5.x into master
Main Release / test (push) Successful in 4m55s
Main Release / build (push) Successful in 27s
Tag Release / build-push (push) Successful in 4m23s
Main Release / hadolint (push) Successful in 8s
Renovate / renovate (push) Successful in 36s
Main Release / tag (push) Successful in 15s
Tag Release / hadolint (push) Successful in 11s
Tag Release / test (push) Successful in 36s
Reviewed-on: #43
2026-09-13 10:46:47 -04:00
renovate 79a968da61 chore(deps): update dependency sabnzbd/sabnzbd to v5.1.3
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 17s
PR Checks / build-test (pull_request) Successful in 4m34s
2026-09-10 10:32:33 +00:00
opencodecabilloteu 6dd8c6c3f7 Merge pull request 'chore(deps): update dependency sabnzbd/sabnzbd to v5.1.2' (#42) from renovate/sabnzbd-sabnzbd-5.x into master
Main Release / test (push) Failing after 3m40s
Main Release / build (push) Skipped
Main Release / hadolint (push) Successful in 20s
Renovate / renovate (push) Successful in 1m4s
Main Release / tag (push) Skipped
2026-08-27 12:00:40 -04:00
renovate 1eb0d52dd0 chore(deps): update dependency sabnzbd/sabnzbd to v5.1.2
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 21s
PR Checks / build-test (pull_request) Successful in 4m25s
2026-08-27 15:30:15 +00:00
opencodecabilloteu 9522cc602f Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.5.0' (#41) from renovate/hadolint-hadolint-action-3.x into master
Main Release / test (push) Successful in 5m18s
Main Release / build (push) Successful in 5m58s
Tag Release / build-push (push) Successful in 5m10s
Main Release / hadolint (push) Successful in 20s
Renovate / renovate (push) Successful in 1m19s
Main Release / tag (push) Successful in 27s
Tag Release / hadolint (push) Successful in 15s
Tag Release / test (push) Successful in 1m4s
2026-08-26 11:00:29 -04:00
renovate 7bb92ee69c chore(deps): update hadolint/hadolint-action action to v3.5.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 15s
PR Checks / build-test (pull_request) Successful in 5m16s
2026-08-26 14:34:09 +00:00
opencodecabilloteu c35324d235 Merge pull request 'chore(deps): update docker/setup-buildx-action digest to 37fe631' (#40) from renovate/docker-setup-buildx-action-digest into master
Main Release / test (push) Successful in 54s
Main Release / build (push) Successful in 32s
Tag Release / build-push (push) Successful in 4m48s
Main Release / hadolint (push) Successful in 12s
Renovate / renovate (push) Successful in 2m52s
Main Release / tag (push) Successful in 24s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 53s
2026-08-21 07:31:20 -04:00
renovate a1248dbd7d chore(deps): update docker/setup-buildx-action digest to 37fe631
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 5m28s
PR Checks / hadolint (pull_request) Successful in 16s
2026-08-21 10:43:37 +00:00
opencodecabilloteu 1f4458f216 Merge pull request 'chore(deps): update dependency sabnzbd/sabnzbd to v5.1.1' (#39) from renovate/sabnzbd-sabnzbd-5.x into master
Main Release / test (push) Failing after 4m15s
Main Release / build (push) Skipped
Main Release / hadolint (push) Successful in 22s
Renovate / renovate (push) Successful in 1m6s
Main Release / tag (push) Skipped
2026-08-20 13:04:12 -04:00
renovate 41fac1f5d9 chore(deps): update dependency sabnzbd/sabnzbd to v5.1.1
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 18s
PR Checks / build-test (pull_request) Successful in 4m40s
2026-08-20 16:38:50 +00:00
opencodecabilloteu 87ce83d257 Merge pull request 'chore(deps): update dependency sabnzbd/sabnzbd to v5.1.0' (#38) from renovate/sabnzbd-sabnzbd-5.x into master
Main Release / test (push) Failing after 5m48s
Main Release / build (push) Skipped
Main Release / hadolint (push) Successful in 21s
Renovate / renovate (push) Successful in 1m2s
Main Release / tag (push) Skipped
2026-08-17 17:31:22 -04:00
renovate 0f467bbdd7 chore(deps): update dependency sabnzbd/sabnzbd to v5.1.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 30s
PR Checks / build-test (pull_request) Successful in 6m0s
2026-08-12 11:49:29 +00:00
jcabillot b025cb7c43 Merge pull request 'ci: add Renovate workflow' (#37) from add-renovate-workflow into master
Main Release / test (push) Successful in 1m44s
Main Release / build (push) Successful in 9m31s
Tag Release / build-push (push) Successful in 7m34s
Main Release / hadolint (push) Successful in 27s
Renovate / renovate (push) Successful in 3m3s
Main Release / tag (push) Successful in 1m22s
Tag Release / hadolint (push) Successful in 27s
Tag Release / test (push) Successful in 9m33s
Reviewed-on: #37
2026-08-03 16:13:35 -04:00
OpenCode Cabillot cc79028481 ci: add Renovate workflow
PR Checks / hadolint (pull_request) Successful in 15s
PR Checks / build-test (pull_request) Successful in 3m43s
2026-08-02 23:51:52 +00:00
opencodecabilloteu 984f5ed543 Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.4.0' (#35) from renovate/hadolint-hadolint-action-3.x into master
Main Release / test (push) Successful in 7m12s
Main Release / build (push) Successful in 9m34s
Tag Release / build-push (push) Successful in 12m46s
Main Release / hadolint (push) Successful in 28s
Main Release / tag (push) Successful in 1m25s
Tag Release / hadolint (push) Successful in 26s
Tag Release / test (push) Successful in 1m22s
2026-08-01 16:02:16 -04:00
renovate 7178a4c0b3 chore(deps): update hadolint/hadolint-action action to v3.4.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 25s
PR Checks / build-test (pull_request) Successful in 3m34s
2026-08-01 14:32:32 +00:00
jcabillot 1341d63138 Merge pull request 'chore(deps): update docker/login-action digest to dbcb813' (#34) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 13m24s
Main Release / build (push) Failing after 14m19s
Main Release / hadolint (push) Successful in 12s
Main Release / tag (push) Skipped
Reviewed-on: #34
2026-07-29 11:47:28 -04:00
renovate 3ba2157116 chore(deps): update docker/login-action digest to dbcb813
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 12s
PR Checks / build-test (pull_request) Failing after 10m8s
2026-07-29 13:08:02 +00:00
jcabillot 4bfef7793b Merge pull request 'chore(deps): update actions/checkout digest to 3d3c42e' (#33) from renovate/actions-checkout-digest into master
Main Release / test (push) Successful in 2m49s
Main Release / build (push) Failing after 8m46s
Main Release / hadolint (push) Successful in 7s
Main Release / tag (push) Skipped
Reviewed-on: #33
2026-07-22 08:06:21 -04:00
renovate 188c546e24 chore(deps): update actions/checkout digest to 3d3c42e
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 3m42s
PR Checks / hadolint (pull_request) Successful in 9s
2026-07-20 16:08:05 +00:00
jcabillot f88f592c19 Merge pull request 'chore(deps): update debian docker tag to trixie-20260713' (#32) from renovate/debian-13.x into master
Main Release / test (push) Successful in 2m30s
Main Release / tag (push) Successful in 33s
Main Release / build (push) Successful in 3m56s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 32s
Tag Release / build-push (push) Successful in 6m31s
Main Release / hadolint (push) Successful in 8s
Reviewed-on: #32
2026-07-16 12:08:40 -04:00
renovate 1fc38e9600 chore(deps): update debian docker tag to trixie-20260713
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 2m18s
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-16 03:03:43 +00:00
jcabillot c6d7403ac8 Merge pull request 'chore(deps): update dependency sabnzbd/sabnzbd to v5' (#31) from renovate/sabnzbd-sabnzbd-5.x into master
Main Release / test (push) Successful in 15s
Main Release / tag (push) Successful in 33s
Main Release / build (push) Successful in 2m15s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 34s
Tag Release / build-push (push) Successful in 5m32s
Main Release / hadolint (push) Successful in 15s
Reviewed-on: #31
2026-07-06 19:57:22 -04:00
renovate 419a1214f5 chore(deps): update dependency sabnzbd/sabnzbd to v5
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 2m51s
PR Checks / hadolint (pull_request) Successful in 18s
2026-07-06 23:04:12 +00:00
jcabillot d50baf516d Merge pull request 'chore(deps): update docker/login-action digest to af1e73f' (#30) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 3m37s
Main Release / tag (push) Successful in 20s
Main Release / build (push) Successful in 18s
Tag Release / hadolint (push) Successful in 24s
Tag Release / test (push) Successful in 4m1s
Tag Release / build-push (push) Successful in 4m15s
Main Release / hadolint (push) Successful in 9s
Reviewed-on: #30
2026-07-03 16:21:43 -04:00
renovate b5ee6d0938 chore(deps): update docker/login-action digest to af1e73f
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 2m15s
PR Checks / hadolint (pull_request) Successful in 6s
2026-07-03 13:56:07 +00:00
jcabillot d8f4da78cd Merge pull request 'chore(deps): update docker/login-action digest to c99871d' (#27) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 25s
Main Release / tag (push) Successful in 19s
Main Release / build (push) Successful in 18s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 30s
Tag Release / build-push (push) Successful in 4m51s
Main Release / hadolint (push) Successful in 11s
Reviewed-on: #27
2026-07-02 09:46:32 -04:00
renovate 1f136fc5ac chore(deps): update docker/login-action digest to c99871d
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 23s
PR Checks / hadolint (pull_request) Successful in 12s
2026-07-02 13:42:10 +00:00
opencodecabilloteu 610d2b4283 chore(deps): update docker/metadata-action digest to dc80280
Main Release / test (push) Successful in 24s
Main Release / tag (push) Successful in 14s
Main Release / build (push) Successful in 21s
Tag Release / hadolint (push) Successful in 8s
Tag Release / test (push) Successful in 5m42s
Tag Release / build-push (push) Successful in 5m13s
Main Release / hadolint (push) Successful in 10s
chore(deps): update docker/metadata-action digest to dc80280
2026-07-02 09:12:40 -04:00
renovate 0f601d4abb chore(deps): update docker/metadata-action digest to dc80280
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 3m35s
PR Checks / hadolint (pull_request) Successful in 13s
2026-07-02 13:11:08 +00:00
opencodecabilloteu 3afe1951a3 chore(deps): update docker/setup-buildx-action digest to bb05f3f
Main Release / test (push) Successful in 4m1s
Main Release / tag (push) Successful in 13s
Main Release / build (push) Successful in 20s
Tag Release / hadolint (push) Successful in 8s
Tag Release / test (push) Successful in 1m9s
Tag Release / build-push (push) Successful in 5m44s
Main Release / hadolint (push) Successful in 21s
chore(deps): update docker/setup-buildx-action digest to bb05f3f
2026-07-02 08:37:44 -04:00
renovate d384c85c46 chore(deps): update docker/setup-buildx-action digest to bb05f3f
PR Checks / build-test (pull_request) Successful in 15s
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-02 09:39:00 +00:00
jcabillot 74db34c7d8 Merge pull request 'chore(deps): update docker/build-push-action action to v7.3.0' (#26) from renovate/docker-build-push-action-7.x into master
Main Release / test (push) Successful in 22s
Main Release / tag (push) Successful in 12s
Main Release / build (push) Successful in 2m58s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 21s
Tag Release / build-push (push) Successful in 4m35s
Main Release / hadolint (push) Successful in 8s
Reviewed-on: #26
2026-07-01 16:21:52 -04:00
renovate 1cdad0ff62 chore(deps): update docker/build-push-action action to v7.3.0
PR Checks / build-test (pull_request) Successful in 2m9s
PR Checks / hadolint (pull_request) Successful in 7s
2026-07-01 14:58:30 +00:00
jcabillot 10c334c176 Merge pull request 'fix: align main+tag with mydl — no push on main, SA_TOKEN for tag trigger, test gate' (#25) from fix/ci-align-mydl-v2 into master
Main Release / test (push) Successful in 16s
Main Release / tag (push) Successful in 17s
Main Release / build (push) Successful in 11s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 2m10s
Tag Release / build-push (push) Successful in 2m30s
Main Release / hadolint (push) Successful in 8s
Reviewed-on: #25
2026-06-29 11:43:02 -04:00
Sagent 5c34972434 fix: align workflows with mydl — test gate, no push on main, SA_TOKEN for tag trigger
PR Checks / build-test (pull_request) Successful in 2m10s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-29 15:26:19 +00:00
jcabillot 2cefebcafa Merge pull request 'fix: add -latest suffix to tag and cron workflows' (#24) from fix/tag-suffix-latest into master
Main Release / test (push) Successful in 2m26s
Main Release / tag (push) Successful in 12s
Main Release / hadolint (push) Successful in 6s
Main Release / build-push (push) Successful in 2m33s
Reviewed-on: #24
2026-06-29 10:50:56 -04:00
Sagent 1f983634ae fix: add -latest suffix to tag and cron workflows
PR Checks / build-test (pull_request) Successful in 2m9s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-29 14:33:48 +00:00
jcabillot befd34b773 Merge pull request 'chore(deps): update debian docker tag to trixie-20260623' (#23) from renovate/debian-13.x into master
Main Release / test (push) Successful in 2m34s
Main Release / tag (push) Successful in 32s
Main Release / build-push (push) Successful in 2m53s
Main Release / hadolint (push) Successful in 8s
Reviewed-on: #23
2026-06-24 08:55:47 -04:00
renovate 7c2df90556 chore(deps): update debian docker tag to trixie-20260623
PR Checks / build-test (pull_request) Successful in 2m16s
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-24 02:59:18 +00:00
jcabillot 5e8b2fe107 Merge pull request 'chore(deps): update actions/checkout action to v7' (#22) from renovate/actions-checkout-7.x into master
Main Release / test (push) Successful in 21s
Main Release / tag (push) Successful in 15s
Main Release / build-push (push) Successful in 3m38s
Main Release / hadolint (push) Successful in 11s
Reviewed-on: #22
2026-06-18 16:26:15 -04:00
renovate fbe787bc07 chore(deps): update actions/checkout action to v7
PR Checks / build-test (pull_request) Successful in 17s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-18 15:08:41 +00:00
jcabillot d8bcf9fdd8 Merge pull request 'CI: standardize workflows - tests mandatory, remove :latest push on master' (#21) from fix/workflow-standard into master
Main Release / test (push) Successful in 19s
Main Release / tag (push) Successful in 10s
Main Release / build-push (push) Successful in 3m5s
Main Release / hadolint (push) Successful in 7s
Reviewed-on: #21
2026-06-13 17:37:25 -04:00
cloudix_mcp_server 3b1b3a47d3 CI: remove :latest push on master, make tests mandatory for build/tag
PR Checks / build-test (pull_request) Successful in 15s
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-13 16:27:40 -04:00
cloudix_mcp_server 3a9a08cc42 CI: remove :latest push on master, make tests mandatory for build/tag 2026-06-13 16:25:44 -04:00
jcabillot 964ef7713a Merge pull request 'chore(config): migrate Renovate config' (#19) from renovate/migrate-config into master
Main Release / tag (push) Successful in 13s
Main Release / test (push) Successful in 20s
Main Release / build-push (push) Successful in 2m27s
Main Release / hadolint (push) Successful in 8s
Reviewed-on: #19
2026-06-12 21:26:09 -04:00
jcabillot 5d623ca7c4 Merge pull request 'ci: migrate to standardized Gitea Actions workflow' (#20) from fix/refactor-ci-pipelines into master
Main Release / tag (push) Successful in 9s
Main Release / test (push) Successful in 15s
Main Release / build-push (push) Successful in 3m36s
Main Release / hadolint (push) Successful in 5s
Reviewed-on: #20
2026-06-12 20:53:23 -04:00
cloudix_mcp_server d3bdc1ee18 feat(ci): add nightly rebuild workflow
PR Checks / build-test (pull_request) Successful in 21s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-12 20:31:42 -04:00
cloudix_mcp_server f63be6a1bf feat(ci): add tag release workflow
PR Checks / build-test (pull_request) Successful in 22s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-12 20:31:37 -04:00
cloudix_mcp_server 7b85286ca2 feat(ci): add main release workflow
PR Checks / build-test (pull_request) Successful in 22s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-12 20:31:34 -04:00
cloudix_mcp_server e9f37e026b feat(ci): add PR workflow 2026-06-12 20:31:30 -04:00
cloudix_mcp_server cf8e80e07c chore: remove base64-encoded workflow, will recreate with proper YAML 2026-06-12 20:31:10 -04:00
cloudix_mcp_server 4e7f428ff4 ci: remove old Jenkins configuration (migrated to Gitea Actions) 2026-06-12 16:59:18 -04:00
cloudix_mcp_server 8155b225da ci: remove old GitLab CI configuration (migrated to Gitea Actions) 2026-06-12 16:59:14 -04:00
cloudix_mcp_server f25cef9055 ci: align workflow with standard template, add bump version step 2026-06-12 16:59:09 -04:00
renovate 375a052bd1 chore(config): migrate config renovate.json
Docker Build and Push / lint (pull_request) Successful in 8s
Docker Build and Push / build (pull_request) Successful in 50s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 18s
2026-06-12 16:03:47 +00:00
jcabillot e9d4be51e0 Merge pull request 'fix(renovate): strip to minimal regexManagers, drop $schema' (#18) from fix/renovate-glob-only into master
Docker Build and Push / lint (push) Successful in 7s
Docker Build and Push / push (push) Has been skipped
Docker Build and Push / build (push) Successful in 38s
Docker Build and Push / test (push) Failing after 10m52s
Reviewed-on: #18
2026-06-12 12:03:04 -04:00
cloudix_mcp_server 1eb2133bc9 fix(renovate): strip everything, minimal regexManagers only
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 43s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 19s
2026-06-12 11:51:38 -04:00
cloudix_mcp_server 6343d0e7a5 fix(renovate): use regexManagers (deprecated key) to avoid merge conflict
The config:best-practices preset uses regexManagers internally.
Using customManagers may cause a merge issue where our entries
get dropped. Switch to regexManagers + fileMatch for compatibility.
2026-06-12 11:44:36 -04:00
jcabillot 8a57b5204e Merge pull request 'fix(renovate): mirror working format - managerFilePatterns + anchors' (#17) from fix/renovate-mirror-working into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 33s
Docker Build and Push / build (push) Successful in 42s
Docker Build and Push / test (push) Successful in 18s
Reviewed-on: #17
2026-06-12 11:02:41 -04:00
cloudix_mcp_server a105dc3e44 fix(renovate): simplify Tini regex escaping
Docker Build and Push / build (pull_request) Successful in 42s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Successful in 16s
2026-06-12 11:01:36 -04:00
cloudix_mcp_server a858ccebc5 fix(renovate): mirror user's working format - managerFilePatterns + anchors + semver
Use managerFilePatterns with ^ and $ anchors (matching user's proven
format), keep matchStrings simple with [0-9\\.]+ like working config.
Use versioningTemplate: semver-coerced for par2cmdline (v0.6.14-mt1).
2026-06-12 11:01:06 -04:00
jcabillot 77b3d7a209 Merge pull request 'fix(renovate): use /regex/ delimiters in fileMatch' (#16) from fix/renovate-filematch-regex into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 25s
Docker Build and Push / build (push) Successful in 40s
Docker Build and Push / test (push) Successful in 17s
Reviewed-on: #16
2026-06-12 10:47:24 -04:00
cloudix_mcp_server ac78fbbf76 fix(renovate): use /regex/ delimiters in fileMatch + proven match pattern
Docker Build and Push / build (pull_request) Successful in 45s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 14s
Docker Build and Push / test (pull_request) Successful in 17s
fileMatch without / / delimiters is treated as glob, not regex.
Use /^Dockerfile$/ format. Also adopt [\\w\\.-]+ version pattern
and add versioningTemplate: semver per user's working config style.
2026-06-12 10:45:52 -04:00
jcabillot 0480cc4c7e Merge pull request 'fix(renovate): use fileMatch instead of managerFilePatterns' (#14) from fix/renovate-filematch into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 29s
Docker Build and Push / build (push) Successful in 48s
Docker Build and Push / test (push) Successful in 23s
Reviewed-on: #14
2026-06-12 10:28:51 -04:00
cloudix_mcp_server f3b2f8e2dc fix(renovate): use fileMatch instead of managerFilePatterns
Docker Build and Push / build (pull_request) Successful in 2m37s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 14s
Docker Build and Push / test (pull_request) Successful in 17s
managerFilePatterns is known to cause Renovate to silently fail to
match files (see renovatebot/renovate#36287). Switch to fileMatch
which works correctly in all Renovate versions.
2026-06-12 10:21:26 -04:00
jcabillot 81d3db50c5 Merge pull request 'chore(config): migrate Renovate config' (#13) from renovate/migrate-config into master
Docker Build and Push / lint (push) Successful in 7s
Docker Build and Push / push (push) Successful in 1m8s
Docker Build and Push / build (push) Successful in 2m38s
Docker Build and Push / test (push) Successful in 30s
Reviewed-on: #13
2026-06-12 09:55:56 -04:00
renovate 8f2a0df803 chore(config): migrate config renovate.json
Docker Build and Push / lint (pull_request) Successful in 1m0s
Docker Build and Push / build (pull_request) Successful in 2m49s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 1m19s
2026-06-12 13:48:14 +00:00
jcabillot 365befed23 Merge pull request 'fix(renovate): switch to regexManagers format (pre-v37 compat)' (#12) from fix/renovate-custom-managers-v2 into master
Docker Build and Push / lint (push) Successful in 1m13s
Docker Build and Push / push (push) Successful in 54s
Docker Build and Push / build (push) Successful in 3m47s
Docker Build and Push / test (push) Successful in 48s
Reviewed-on: #12
2026-06-12 09:39:26 -04:00
cloudix_mcp_server c5183a57c2 fix(renovate): switch to regexManagers format (pre-v37 compat)
Docker Build and Push / build (pull_request) Successful in 43s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 9s
Docker Build and Push / test (pull_request) Successful in 18s
Renovate on this Gitea instance runs a pre-v37 version that does not
support the new customManagers format. Switch to the legacy regexManagers
format with fileMatch for compatibility.

- customManagers → regexManagers
- managerFilePatterns → fileMatch
- Remove customType (not supported in legacy format)
2026-06-12 09:37:21 -04:00
jcabillot e67488780f Merge pull request 'fix(renovate): fix custom manager patterns to use globs' (#11) from fix/renovate-custom-managers into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 28s
Docker Build and Push / build (push) Successful in 2m34s
Docker Build and Push / test (push) Successful in 22s
Reviewed-on: #11
2026-06-12 09:26:38 -04:00
cloudix_mcp_server 4c3bf7a4b5 fix(renovate): fix custom manager patterns to use globs and fix Tini regex
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 47s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 20s
- managerFilePatterns: use glob "Dockerfile" instead of regex /^Dockerfile$/
  (Renovate v37+ uses globs, not /regex/ format)
- Tini regex: fix to handle quoted ENV format ("TINI_VERSION" "v0.19.0")
- SABnzbd: keep as-is (already works)
- par2cmdline: keep as-is (already works)
2026-06-12 09:23:16 -04:00
jcabillot 69d504de2e Merge pull request 'chore: bump debian buster → trixie with deb822 sources fix' (#10) from fix/debian-trixie-transition into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 41s
Docker Build and Push / build (push) Successful in 40s
Docker Build and Push / test (push) Successful in 25s
Reviewed-on: #10
2026-06-12 09:13:02 -04:00
cloudix_mcp_server f6bf0cf2fa fix(test): follow redirect with curl -L in test.sh
Docker Build and Push / build (pull_request) Successful in 2m30s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Successful in 19s
SABnzbd redirects to /wizard/ on first run (303). Without -L,
the test gets the redirect body (no "SABnzbd" text). With -L,
curl follows to the wizard page which contains the expected text.
2026-06-12 09:06:47 -04:00
cloudix_mcp_server 2d9c22701b chore: bump SABnzbd 3.7.2 → 4.5.5
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / build (pull_request) Successful in 2m33s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Failing after 25s
Latest stable 4.x release from https://github.com/sabnzbd/sabnzbd
2026-06-12 08:51:24 -04:00
cloudix_mcp_server 213fcfa08a fix: also unpin cffi and cryptography in requirements.txt
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / build (pull_request) Successful in 3m4s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Failing after 1m19s
System python3-cffi (apt) conflicts with cffi==1.15.1 pin;
system cryptography conflicts with cryptography==39.0.0 pin.
Unpin both so pip uses the Debian-provided versions.
2026-06-12 08:38:22 -04:00
cloudix_mcp_server d19dca8715 fix: restore clean Dockerfile, only remove pywin32 from requirements
Docker Build and Push / build (pull_request) Failing after 1m39s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Has been skipped
Remove the broken multi-line Python block. Only keep the targeted
pywin32 removal (other pins are handled via apt-installed packages
python3-cffi).
2026-06-12 08:37:50 -04:00
cloudix_mcp_server 26ee42dfa9 fix: use Python script to filter requirements.txt instead of sed
Docker Build and Push / lint (pull_request) Failing after 5s
Docker Build and Push / build (pull_request) Failing after 5s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
Replace brittle sed patch with a Python script that:
1. Removes Windows/macOS-only packages (pywin32, pyobjc, etc.)
2. Unpins versions to let pip resolve with system packages from apt
2026-06-12 08:36:53 -04:00
cloudix_mcp_server 56c44bd008 fix: remove pywin32 from requirements.txt (Windows-only package)
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / build (pull_request) Failing after 52s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
pywin32 is a Windows-only dependency not available on pip for Linux.
Remove it after unpinning to allow requirements install to complete.
2026-06-12 08:33:40 -04:00
cloudix_mcp_server 3ea95d1cac fix: unpin all packages in requirements.txt for system compatibility
Docker Build and Push / lint (pull_request) Successful in 8s
Docker Build and Push / build (pull_request) Failing after 53s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
Debian Trixie ships many Python packages (cryptography 43.0.0,
cffi, etc.) via apt that conflict with SABnzbd's pinned versions
(cryptography==39.0.0, cffi==1.15.1). Pinned deps fail to install
because pip can't uninstall the system packages (no RECORD file).
Relax all pins so pip uses compatible versions already present.
2026-06-12 08:30:57 -04:00
cloudix_mcp_server 5034429022 fix: unpin cffi from requirements.txt to use system python3-cffi
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Failing after 1m26s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
SABnzbd 3.7.2 pins cffi==1.15.1 which is incompatible with Python 3.13
(removed internal API _PyErr_WriteUnraisableMsg). Relax the pin so pip
uses the system-installed python3-cffi (Debian Trixie's version).
2026-06-12 08:28:22 -04:00
cloudix_mcp_server 8572d2e071 fix: install python3-cffi from apt (Python 3.13 compatible)
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Failing after 1m33s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
The pip cffi package fails to build from source on Python 3.13
(no pre-built wheel). Install python3-cffi from Debian repos instead.
Remove the pip cffi>=1.17 workaround.
2026-06-12 08:20:41 -04:00
cloudix_mcp_server bfc1e68e90 fix: pre-install cffi>=1.17 for Python 3.13 compatibility
Docker Build and Push / build (pull_request) Failing after 1m46s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 8s
Docker Build and Push / test (pull_request) Has been skipped
SABnzbd's requirements.txt pins cffi 1.15.1 which uses the removed
_PyErr_WriteUnraisableMsg API (Python 3.13+). Pre-install cffi>=1.17
so pip doesn't try to build the incompatible version.
2026-06-12 08:17:49 -04:00
cloudix_mcp_server 2edb1909df fix: remove pip --upgrade pip (Debian's pip 25.1.1 has no RECORD file)
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / build (pull_request) Failing after 1m38s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
Debian's pip 25.1.1 is already installed without a RECORD file, causing
the upgrade to fail. The system pip is already recent enough for
requirements.txt.
2026-06-12 08:15:26 -04:00
cloudix_mcp_server f505b1cac0 fix: remove explicit sabyenc pip install (incompatible with Python 3.13)
Docker Build and Push / build (pull_request) Failing after 45s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Has been skipped
sabyenc uses deprecated Python 2 C API (PyString_*) removed in Python
3.12+. Debian Trixie ships Python 3.13. The yEnc dependency is handled
by SABnzbd's requirements.txt. Remove the outdated explicit pip install.
2026-06-12 08:13:22 -04:00
cloudix_mcp_server 1e05c40ffc fix: add PIP_BREAK_SYSTEM_PACKAGES=1 for Debian Trixie PEP 668
Docker Build and Push / lint (pull_request) Successful in 8s
Docker Build and Push / build (pull_request) Failing after 54s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
Debian Trixie enforces PEP 668 (externally-managed-environment),
blocking system-wide pip installs. Export PIP_BREAK_SYSTEM_PACKAGES=1
to allow pip to install sabyenc and other Python deps in the container.
2026-06-12 08:10:46 -04:00
cloudix_mcp_server bba9068158 fix: replace python3-yenc with pip sabyenc for Trixie compatibility
Docker Build and Push / build (pull_request) Failing after 55s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Has been skipped
python3-yenc was removed from Debian Trixie. SABnzbd uses sabyenc
(via pip) as the replacement. Uncomment the pip install line and
remove python3-yenc from apt RUNTIME_PACKAGES.
2026-06-12 08:08:11 -04:00
cloudix_mcp_server 3b3af1662f chore: bump debian buster → trixie and fix sources.list for deb822 format
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Failing after 18s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
Debian Trixie uses the new deb822 format (/etc/apt/sources.list.d/debian.sources)
instead of the old /etc/apt/sources.list file. The two sed commands that target
sources.list need updating:
- Remove archive.debian.org redirect (Trixie is still active on main mirrors)
- Add contrib/non-free to the deb822-format sources file
2026-06-12 08:06:21 -04:00
jcabillot 09d016ea62 Merge pull request 'chore(config): migrate Renovate config' (#8) from renovate/migrate-config into master
Docker Build and Push / lint (push) Failing after 13m55s
Docker Build and Push / push (push) Has been skipped
Docker Build and Push / build (push) Successful in 58s
Docker Build and Push / test (push) Has been skipped
Reviewed-on: #8
2026-06-09 11:16:19 -04:00
renovate ef003fa0ae chore(config): migrate config renovate.json
Docker Build and Push / build (pull_request) Successful in 57s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / test (pull_request) Successful in 22s
2026-06-09 14:29:55 +00:00
jcabillot c32609b256 Merge pull request 'chore: improve renovate dependency detection' (#5) from chore/renovate into master
Docker Build and Push / lint (push) Successful in 10s
Docker Build and Push / push (push) Successful in 43s
Docker Build and Push / build (push) Successful in 49s
Docker Build and Push / test (push) Successful in 28s
Reviewed-on: #5
2026-06-09 10:11:09 -04:00
Sagent a9fffe0017 chore: remove redundant FROM regexManager, quotes already fixed in Dockerfile
Docker Build and Push / build (pull_request) Successful in 56s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / test (pull_request) Successful in 35s
2026-06-09 14:06:00 +00:00
Sagent ceace4cbcf chore: remove redundant configs now handled globally
Docker Build and Push / build (pull_request) Successful in 1m28s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 7s
Docker Build and Push / test (pull_request) Successful in 25s
2026-06-09 13:41:05 +00:00
Sagent 1319d1d3c2 chore: improve renovate dependency detection
Docker Build and Push / lint (pull_request) Successful in 9s
Docker Build and Push / build (pull_request) Failing after 1m27s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
- Add renovate.json with custom regexManagers for:
  - Quoted FROM images (debian:buster)
  - SABNZBD_VERSION, TINI_VERSION, PAR2CMDLINE_VERSION env pins
- Disable gitlabci manager (legacy CI, migrated to Gitea Actions)
- Remove unnecessary quotes from FROM image reference
2026-06-09 02:15:40 +00:00
jcabillot 7ca58ebb9e Merge pull request 'Update hadolint/hadolint-action action to v3.3.0' (#4) from renovate/hadolint-hadolint-action-3.x into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / push (push) Successful in 52s
Docker Build and Push / build (push) Successful in 1m30s
Docker Build and Push / test (push) Successful in 41s
Reviewed-on: #4
2026-06-08 18:16:31 -04:00
renovate 942a9f9970 Update hadolint/hadolint-action action to v3.3.0
Docker Build and Push / lint (pull_request) Successful in 9s
Docker Build and Push / build (pull_request) Successful in 2m21s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 53s
2026-06-08 21:43:48 +00:00
jcabillot 9c9447e497 Merge pull request 'feat: add lint, build, test, push pipeline with SHA-pinned actions' (#3) from feat/gitea-actions-v2 into master
Docker Build and Push / lint (push) Successful in 5s
Docker Build and Push / push (push) Successful in 43s
Docker Build and Push / build (push) Successful in 2m22s
Docker Build and Push / test (push) Successful in 24s
Reviewed-on: #3
2026-06-08 17:40:27 -04:00
Sagent 8b6088cee9 fix: redirect deb.debian.org to archive.debian.org for buster EOL
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 2m42s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 21s
2026-06-08 21:25:27 +00:00
Sagent c0b250624f fix: add DL3013,DL3042 to hadolint ignore for pip install
Docker Build and Push / build (pull_request) Failing after 13s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Successful in 9s
Docker Build and Push / test (pull_request) Has been skipped
2026-06-08 20:46:03 +00:00
Sagent fb21d41f32 fix: unquote HEALTHCHECK interval to satisfy hadolint parser
Docker Build and Push / build (pull_request) Failing after 10s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Failing after 6s
Docker Build and Push / test (pull_request) Has been skipped
2026-06-08 19:53:14 +00:00
Sagent b9f2cd448b feat: add lint, build, test, push pipeline with SHA-pinned actions
Docker Build and Push / build (pull_request) Failing after 25s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / lint (pull_request) Failing after 8s
Docker Build and Push / test (pull_request) Has been skipped
- Split single build job into 4 jobs: lint, build, test, push
- SHA-pin all actions for supply chain security
- Use ChristopherHX artifact actions (Gitea-compatible)
- Add tests/test.sh with Docker bridge gateway networking
- Add hadolint ignore for apt/brace patterns
2026-06-08 19:41:55 +00:00
jcabillot 4326789e15 feat: add Gitea Actions workflow
Docker Build and Push / build (push) Failing after 30s
feat: add Gitea Actions workflow
2026-05-29 16:23:14 -04:00
11 changed files with 312 additions and 116 deletions

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
name: Nightly Rebuild
on:
schedule:
- cron: '0 0 * * *'
jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
continue-on-error: true
with:
dockerfile: Dockerfile
build-push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: get-latest-tag
run: |
TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
echo "tag=$TAG" >> $GITHUB_OUTPUT
- id: meta
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6
with:
images: jcabillot/sabnzbd
tags: |
type=raw,value=${{ steps.get-latest-tag.outputs.tag }}-latest,enable=${{ steps.get-latest-tag.outputs.tag != '' }}
- uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
-46
View File
@@ -1,46 +0,0 @@
name: Docker Build and Push
on:
pull_request:
branches: [master]
push:
branches: [master]
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker metadata
id: meta
uses: docker/metadata-action@v6
with:
images: jcabillot/sabnzbd
tags: |
#type=ref,event=branch
#type=ref,event=pr
#type=sha
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }}
- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
+49
View File
@@ -0,0 +1,49 @@
name: Main Release
on:
push:
branches: [master]
jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
continue-on-error: true
with:
dockerfile: Dockerfile
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build --load -t ci-image:${{ github.sha }} .
- run: bash tests/test.sh ci-image:${{ github.sha }}
build:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t jcabillot/sabnzbd:${{ github.sha }} .
tag:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0
- name: Configure git auth
run: |
git remote set-url origin "https://x-access-token:${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}@scm.cabillot.eu/web/sabnzbd.git"
- uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # v1.75.0
env:
GITHUB_TOKEN: ${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}
DEFAULT_BUMP: patch
RELEASE_BRANCHES: master
WITH_V: true
GIT_API_TAGGING: false
+23
View File
@@ -0,0 +1,23 @@
name: PR Checks
on:
pull_request:
branches: [master]
jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
continue-on-error: true
with:
dockerfile: Dockerfile
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t ci-image:${{ github.sha }} .
- run: bash tests/test.sh ci-image:${{ github.sha }}
+12
View File
@@ -0,0 +1,12 @@
name: Renovate
on:
push:
branches:
- master
workflow_dispatch:
jobs:
renovate:
uses: perso/gitea-pipelines/.gitea/workflows/renovate.yaml@main
secrets: inherit
+67
View File
@@ -0,0 +1,67 @@
name: Tag Release
on:
push:
tags: ['*']
jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
continue-on-error: true
with:
dockerfile: Dockerfile
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build --load -t ci-image:${{ github.sha }} .
- run: bash tests/test.sh ci-image:${{ github.sha }}
build-push:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6
with:
images: jcabillot/sabnzbd
tags: |
type=ref,event=tag
type=ref,event=tag,suffix=-latest
- uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
trigger-renovate:
# The deployment repo perso_private/tf-depl-kubernetes pins this image; its
# Renovate instance only scans hourly, so this dispatch opens the image bump
# PR within minutes of the release instead of up to an hour later.
needs: [build-push]
runs-on: ubuntu-latest
steps:
- name: Trigger Renovate on perso_private/tf-depl-kubernetes
# needs: build-push — Renovate reads Docker Hub, so a scan started before
# the push lands would only see the previous release.
# RENOVATE_TOKEN is the org-level secret of this organisation.
run: |
curl -sS -f -X POST \
-u "renovate:${{ secrets.RENOVATE_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"ref":"main"}' \
"https://scm.cabillot.eu/api/v1/repos/perso_private/tf-depl-kubernetes/actions/workflows/renovate.yaml/dispatches"
echo "Renovate dispatched on perso_private/tf-depl-kubernetes"
-23
View File
@@ -1,23 +0,0 @@
image: docker:latest
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
build-master:
stage: build
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" .
- docker push "$CI_REGISTRY_IMAGE"
only:
- master
build:
stage: build
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
except:
- master
+10 -8
View File
@@ -1,4 +1,4 @@
FROM "debian:buster"
FROM debian:13
LABEL maintainer="Julien Cabillot <dockerimages@cabillot.eu>"
RUN groupadd -r -g 666 sabnzbd && \
@@ -21,19 +21,21 @@ ENV LANG C.UTF-8
# Install SABnzbd and all required dependencies.
#
RUN export SABNZBD_VERSION=3.7.2 PAR2CMDLINE_VERSION=v0.6.14-mt1 && \
# hadolint ignore=DL3008,DL3015,SC3009,DL3003,DL3013,DL3042
RUN export SABNZBD_VERSION=5.1.3 PAR2CMDLINE_VERSION=v0.6.14-mt1 && \
export DEBIAN_FRONTEND=noninteractive && \
export PIP_BREAK_SYSTEM_PACKAGES=1 && \
export BUILD_PACKAGES="automake build-essential python3-dev libffi-dev" && \
export RUNTIME_PACKAGES="ca-certificates p7zip-full python3-yenc unrar unzip libgomp1 openssl python3-openssl curl python3-pip" && \
export PIP_PACKAGES="sabyenc" && \
sed -i "s/ main$/ main contrib non-free/" /etc/apt/sources.list && \
export RUNTIME_PACKAGES="ca-certificates p7zip-full unrar unzip libgomp1 openssl python3-openssl python3-cffi curl python3-pip" && \
sed -i "s/Components: main/Components: main contrib non-free/" /etc/apt/sources.list.d/debian.sources && \
apt-get -qq update && \
apt-get -qq --yes install $BUILD_PACKAGES $RUNTIME_PACKAGES && \
#pip3 install $PIP_PACKAGES && \
curl -SL -o /tmp/sabnzbd.tar.gz https://github.com/sabnzbd/sabnzbd/releases/download/${SABNZBD_VERSION}/SABnzbd-${SABNZBD_VERSION}-src.tar.gz && \
tar xzf /tmp/sabnzbd.tar.gz && \
mv SABnzbd-* sabnzbd && \
pip3 install --upgrade pip && \
sed -i '/pywin32/d' /sabnzbd/requirements.txt && \
sed -i 's/^cffi==.*/cffi/' /sabnzbd/requirements.txt && \
sed -i 's/^cryptography==.*/cryptography/' /sabnzbd/requirements.txt && \
pip3 install -r /sabnzbd/requirements.txt && \
chown -R sabnzbd: sabnzbd && \
curl -o /tmp/par2cmdline-mt.tar.gz https://codeload.github.com/jkansanen/par2cmdline-mt/tar.gz/${PAR2CMDLINE_VERSION} && \
@@ -79,5 +81,5 @@ RUN chmod +x "/tini"
CMD ["/sabnzbd.sh"]
HEALTHCHECK --interval="10s" \
HEALTHCHECK --interval=10s \
CMD curl --fail "http://localhost:8080" || exit 1
Vendored
-39
View File
@@ -1,39 +0,0 @@
pipeline {
environment {
registry = 'https://registry.hub.docker.com'
registryCredential = 'dockerhub_jcabillot'
dockerImage = 'jcabillot/sabnzbd'
DOCKER_BUILDKIT = '1'
}
agent any
triggers {
cron('@midnight')
}
stages {
stage('Clone repository') {
steps{
checkout scm
}
}
stage('Build image') {
steps{
sh 'docker build --force-rm=true --no-cache=true --pull -t ${dockerImage} .'
}
}
stage('Deploy Image') {
steps{
script {
withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}'
sh 'docker push ${dockerImage}'
}
}
}
}
}
}
+25
View File
@@ -0,0 +1,25 @@
{
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["SABNZBD_VERSION=(?<currentValue>[0-9\\.]+)"],
"depNameTemplate": "sabnzbd/sabnzbd",
"datasourceTemplate": "github-releases"
},
{
"customType": "regex",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["\"TINI_VERSION\"\\s+\"v?(?<currentValue>[0-9\\.]+)\""],
"depNameTemplate": "krallin/tini",
"datasourceTemplate": "github-releases"
},
{
"customType": "regex",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["PAR2CMDLINE_VERSION=v?(?<currentValue>[\\w\\.-]+)"],
"depNameTemplate": "jkansanen/par2cmdline-mt",
"datasourceTemplate": "github-tags"
}
]
}
+82
View File
@@ -0,0 +1,82 @@
#!/usr/bin/env bash
set -euo pipefail
IMAGE="${1:?Usage: test.sh <image>}"
CONTAINER_NAME="test-$(echo "$IMAGE" | tr ':/' '-')-$$"
PASSED=0
FAILED=0
TOTAL=0
cleanup() {
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
}
trap cleanup EXIT
assert() {
local name="$1" expected="$2" actual="$3"
TOTAL=$((TOTAL + 1))
if [ "$expected" = "$actual" ]; then
echo " PASS: $name"
PASSED=$((PASSED + 1))
else
echo " FAIL: $name (expected: '$expected', got: '$actual')"
FAILED=$((FAILED + 1))
fi
}
assert_in() {
local name="$1" expected="$2" actual="$3"
TOTAL=$((TOTAL + 1))
if [ "$actual" -ge "$expected" ] && [ "$actual" -lt 500 ]; then
echo " PASS: $name (got: $actual)"
PASSED=$((PASSED + 1))
else
echo " FAIL: $name (expected < 500, got: $actual)"
FAILED=$((FAILED + 1))
fi
}
assert_match() {
local name="$1" pattern="$2" actual="$3"
TOTAL=$((TOTAL + 1))
if echo "$actual" | grep -qE "$pattern"; then
echo " PASS: $name"
PASSED=$((PASSED + 1))
else
echo " FAIL: $name (pattern: '$pattern', got: '$actual')"
FAILED=$((FAILED + 1))
fi
}
echo "Running container: $IMAGE"
docker run -d --name "$CONTAINER_NAME" -p 8080:8080 "$IMAGE" >/dev/null
DOCKER_GW=$(docker network inspect bridge --format '{{range .IPAM.Config}}{{.Gateway}}{{end}}')
BASE_URL="http://${DOCKER_GW}:8080"
echo "Waiting for SABnzbd on ${DOCKER_GW}:8080 (up to 60s)..."
for i in $(seq 1 60); do
if [ "$(curl -s -o /dev/null -w '%{http_code}' "$BASE_URL/" 2>/dev/null)" != "000" ]; then
echo "Container ready after ${i}s"
break
fi
if [ "$i" -eq 60 ]; then
echo "FAIL: Container did not become ready within 60s"
docker logs "$CONTAINER_NAME"
exit 1
fi
sleep 1
done
echo ""
echo "Test: GET / (SABnzbd web UI)"
RESPONSE=$(curl -sL -D - "$BASE_URL/")
STATUS=$(echo "$RESPONSE" | head -1 | grep -oP '\d{3}')
BODY=$(echo "$RESPONSE" | sed -n '/^\r$/,$p' | tail -n +2)
assert_in "HTTP status is valid" 200 "$STATUS"
assert_match "Body contains SABnzbd" "[Ss][Aa][Bb].*[Nn]zbd" "$BODY"
echo ""
echo "Results: $PASSED/$TOTAL passed, $FAILED failed"
[ "$FAILED" -eq 0 ]