Author SHA1 Message Date
opencodecabilloteu 87890b5680 ci(tag): release Gitea (commit list) avant le dispatch Renovate + corps JSON du dispatch corrigé
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 27s
2026-10-18 22:18:01 -04:00
jcabillot 00c766fc5e Merge pull request 'ci(tag): déclenche Renovate sur tf-depl-kubernetes dès que l'image de release est poussée (rssbridge)' (#31) from ci/renovate-dispatch-on-release into master
Main Release / test (push) Successful in 1m3s
Renovate / renovate (push) Successful in 43s
Main Release / build (push) Successful in 4m47s
Main Release / tag (push) Successful in 17s
Tag Release / build-push (push) Successful in 1m14s
Tag Release / trigger-renovate (push) Failing after 36s
PR Checks / hadolint (pull_request) Successful in 23s
PR Checks / build-test (pull_request) Successful in 31s
Main Release / hadolint (push) Successful in 22s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 23s
Reviewed-on: #31
2026-10-18 13:44:27 -04:00
opencodecabilloteu 5701c559f2 ci(tag): dispatch Renovate on tf-depl-kubernetes once the release image is pushed
PR Checks / hadolint (pull_request) Successful in 22s
PR Checks / build-test (pull_request) Successful in 1m48s
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:45 -04:00
opencodecabilloteu 958f61d48f Merge pull request 'chore(deps): update docker/setup-buildx-action digest to f87e599' (#30) from renovate/docker-setup-buildx-action-digest into master
Main Release / test (push) Successful in 29s
Renovate / renovate (push) Successful in 33s
Main Release / build (push) Successful in 16s
Main Release / tag (push) Successful in 11s
Tag Release / build-push (push) Successful in 56s
Main Release / hadolint (push) Successful in 7s
Tag Release / hadolint (push) Successful in 7s
Tag Release / test (push) Successful in 29s
2026-09-18 05:00:27 -04:00
renovate bc099a1d42 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 33s
2026-09-18 08:32:30 +00:00
opencodecabilloteu 9bd31d4289 Merge pull request 'chore(deps): update docker/build-push-action action to v7.4.0' (#29) from renovate/docker-build-push-action-7.x into master
Main Release / test (push) Successful in 35s
Renovate / renovate (push) Successful in 39s
Main Release / build (push) Successful in 21s
Main Release / tag (push) Successful in 12s
Tag Release / build-push (push) Successful in 1m14s
Main Release / hadolint (push) Successful in 10s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 44s
2026-09-17 05:01:23 -04:00
renovate a00d23a6d1 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 13s
PR Checks / build-test (pull_request) Successful in 28s
2026-09-17 08:33:49 +00:00
jcabillot 08a8673576 Merge pull request 'chore: remove legacy GitLab CI and Jenkins files' (#28) from ci/remove-legacy-ci into master
Main Release / test (push) Successful in 1m47s
Renovate / renovate (push) Successful in 1m14s
Main Release / build (push) Successful in 36s
Main Release / tag (push) Successful in 45s
Tag Release / build-push (push) Successful in 2m10s
Main Release / hadolint (push) Successful in 24s
Tag Release / hadolint (push) Successful in 21s
Tag Release / test (push) Successful in 4m30s
Reviewed-on: #28
2026-09-02 09:51:30 -04:00
OpenCode Cabillot e503837306 chore: remove legacy GitLab CI and Jenkins files
PR Checks / hadolint (pull_request) Successful in 24s
PR Checks / build-test (pull_request) Successful in 1m9s
2026-09-02 13:49:30 +00:00
opencodecabilloteu ef332a9605 Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.5.0' (#27) from renovate/hadolint-hadolint-action-3.x into master
Renovate / renovate (push) Successful in 1m23s
Main Release / test (push) Successful in 47s
Main Release / build (push) Successful in 57s
Main Release / tag (push) Successful in 24s
Tag Release / build-push (push) Successful in 1m40s
Main Release / hadolint (push) Successful in 16s
Tag Release / hadolint (push) Successful in 17s
Tag Release / test (push) Successful in 49s
2026-08-26 11:00:38 -04:00
renovate 97c77461c0 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 16s
PR Checks / build-test (pull_request) Successful in 42s
2026-08-26 14:33:02 +00:00
opencodecabilloteu a8c6918b6d Merge pull request 'chore(deps): update docker/setup-buildx-action digest to 37fe631' (#26) from renovate/docker-setup-buildx-action-digest into master
Main Release / test (push) Successful in 38s
Renovate / renovate (push) Successful in 2m51s
Main Release / build (push) Successful in 1m54s
Main Release / tag (push) Successful in 55s
Tag Release / build-push (push) Successful in 4m41s
Main Release / hadolint (push) Successful in 37s
Tag Release / hadolint (push) Successful in 21s
Tag Release / test (push) Successful in 52s
2026-08-22 14:30:34 -04:00
renovate 3d844aa6af chore(deps): update docker/setup-buildx-action digest to 37fe631
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 3m59s
2026-08-21 10:41:42 +00:00
jcabillot 1f15c4fb0b Merge pull request 'ci: add Renovate workflow' (#25) from add-renovate-workflow into master
Main Release / test (push) Successful in 1m58s
Renovate / renovate (push) Successful in 4m35s
Main Release / build (push) Successful in 2m15s
Main Release / tag (push) Successful in 1m33s
Tag Release / build-push (push) Successful in 2m47s
Main Release / hadolint (push) Successful in 38s
Tag Release / hadolint (push) Successful in 22s
Tag Release / test (push) Successful in 58s
Reviewed-on: #25
2026-08-03 16:13:28 -04:00
OpenCode Cabillot 91c5a8bacb ci: add Renovate workflow
PR Checks / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 36s
2026-08-02 23:51:59 +00:00
opencodecabilloteu 8ae2ed780b Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.4.0' (#23) from renovate/hadolint-hadolint-action-3.x into master
Main Release / test (push) Successful in 1m17s
Main Release / build (push) Successful in 1m10s
Main Release / tag (push) Successful in 1m10s
Tag Release / build-push (push) Successful in 2m26s
Main Release / hadolint (push) Successful in 22s
Tag Release / hadolint (push) Successful in 26s
Tag Release / test (push) Successful in 1m19s
2026-08-01 16:02:43 -04:00
renovate 58f5c983d0 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 17s
PR Checks / build-test (pull_request) Successful in 52s
2026-08-01 14:31:39 +00:00
jcabillot 111a8b0e19 Merge pull request 'chore(deps): update docker/login-action digest to dbcb813' (#22) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 2m40s
Main Release / build (push) Successful in 44s
Main Release / tag (push) Failing after 3h0m1s
Main Release / hadolint (push) Successful in 16s
Reviewed-on: #22
2026-07-29 11:47:20 -04:00
renovate 8ccd84f2ee 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 28s
PR Checks / build-test (pull_request) Failing after 3h0m4s
2026-07-29 13:07:21 +00:00
jcabillot 262f80358a Merge pull request 'chore(deps): update docker/login-action digest to 371161b' (#21) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 58s
Main Release / build (push) Successful in 24s
Main Release / tag (push) Successful in 13s
Tag Release / build-push (push) Successful in 1m47s
Main Release / hadolint (push) Successful in 15s
Tag Release / hadolint (push) Successful in 26s
Tag Release / test (push) Successful in 2m44s
Reviewed-on: #21
2026-07-28 16:52:32 -04:00
renovate c7ca877352 chore(deps): update docker/login-action digest to 371161b
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 32s
2026-07-28 08:07:09 +00:00
jcabillot fcb0d44c7e Merge pull request 'chore(deps): update actions/checkout digest to 3d3c42e' (#20) from renovate/actions-checkout-digest into master
Main Release / test (push) Successful in 19s
Main Release / build (push) Successful in 50s
Main Release / tag (push) Successful in 1m59s
Tag Release / build-push (push) Successful in 1m34s
Main Release / hadolint (push) Successful in 9s
Tag Release / hadolint (push) Successful in 27s
Tag Release / test (push) Successful in 1m21s
Reviewed-on: #20
2026-07-22 08:06:35 -04:00
renovate a30e190e50 chore(deps): update actions/checkout digest to 3d3c42e
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 28s
2026-07-20 16:07:11 +00:00
jcabillot d915b13e80 Merge pull request 'chore(deps): update docker/login-action digest to af1e73f' (#19) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 27s
Main Release / build (push) Successful in 17s
Main Release / tag (push) Successful in 22s
Tag Release / test (push) Successful in 28s
Tag Release / build-push (push) Successful in 1m12s
Main Release / hadolint (push) Successful in 8s
Tag Release / hadolint (push) Successful in 10s
Reviewed-on: #19
2026-07-03 16:21:46 -04:00
renovate d7fd6755c2 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 20s
PR Checks / hadolint (pull_request) Successful in 6s
2026-07-03 13:55:21 +00:00
jcabillot 0d1d6dfc95 Merge pull request 'chore(deps): update docker/login-action digest to c99871d' (#16) from renovate/docker-login-action-digest into master
Main Release / test (push) Successful in 21s
Main Release / build (push) Successful in 19s
Main Release / tag (push) Successful in 13s
Tag Release / test (push) Successful in 24s
Tag Release / build-push (push) Successful in 1m1s
Main Release / hadolint (push) Successful in 13s
Tag Release / hadolint (push) Successful in 13s
Reviewed-on: #16
2026-07-02 09:46:28 -04:00
renovate aa2ecc57ea 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 21s
PR Checks / hadolint (pull_request) Successful in 11s
2026-07-02 13:41:30 +00:00
opencodecabilloteu aeba4b2856 chore(deps): update docker/metadata-action digest to dc80280
Main Release / test (push) Successful in 27s
Main Release / build (push) Successful in 21s
Main Release / tag (push) Successful in 13s
Tag Release / test (push) Successful in 23s
Tag Release / build-push (push) Successful in 1m16s
Main Release / hadolint (push) Successful in 8s
Tag Release / hadolint (push) Successful in 14s
chore(deps): update docker/metadata-action digest to dc80280
2026-07-02 09:12:34 -04:00
renovate 7c5f27eb21 chore(deps): update docker/metadata-action digest to dc80280
PR Checks / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 31s
2026-07-02 13:10:57 +00:00
opencodecabilloteu 449ca6e3c8 chore(deps): update docker/setup-buildx-action digest to bb05f3f
Main Release / test (push) Successful in 48s
Main Release / build (push) Successful in 24s
Main Release / tag (push) Successful in 22s
Tag Release / test (push) Successful in 21s
Tag Release / build-push (push) Successful in 1m21s
Main Release / hadolint (push) Successful in 16s
Tag Release / hadolint (push) Successful in 10s
chore(deps): update docker/setup-buildx-action digest to bb05f3f
2026-07-02 08:37:36 -04:00
renovate 8ece09bf12 chore(deps): update docker/setup-buildx-action digest to bb05f3f
PR Checks / hadolint (pull_request) Successful in 7s
PR Checks / build-test (pull_request) Successful in 35s
2026-07-02 09:38:17 +00:00
jcabillot d9ade89461 Merge pull request 'chore(deps): update docker/build-push-action action to v7.3.0' (#15) from renovate/docker-build-push-action-7.x into master
Main Release / test (push) Successful in 25s
Main Release / build (push) Successful in 21s
Main Release / tag (push) Successful in 12s
Tag Release / test (push) Successful in 20s
Tag Release / build-push (push) Successful in 58s
Main Release / hadolint (push) Successful in 8s
Tag Release / hadolint (push) Successful in 8s
Reviewed-on: #15
2026-07-01 16:21:46 -04:00
renovate 9f3b2394c0 chore(deps): update docker/build-push-action action to v7.3.0
PR Checks / hadolint (pull_request) Successful in 9s
PR Checks / build-test (pull_request) Successful in 21s
2026-07-01 14:57:55 +00:00
jcabillot 1bc4808204 Merge pull request 'fix: remove obsolete jcabillot/phpapache renovate custom manager' (#14) from fix/remove-phpapache-renovate into master
Main Release / test (push) Successful in 26s
Main Release / build (push) Successful in 17s
Main Release / tag (push) Successful in 46s
Tag Release / test (push) Successful in 22s
Tag Release / build-push (push) Successful in 3m23s
Main Release / hadolint (push) Failing after 13m1s
Tag Release / hadolint (push) Successful in 9s
Reviewed-on: #14
2026-06-29 15:08:11 -04:00
Hermes Agent c4e4cae577 fix: remove obsolete renovate.json
PR Checks / build-test (pull_request) Successful in 58s
PR Checks / hadolint (pull_request) Successful in 10s
With the migration to dunglas/frankenphp, the custom manager
for jcabillot/phpapache is gone. renovate.json had no remaining
config — delete the file entirely.
2026-06-29 18:50:52 +00:00
Hermes Agent bb9c01246c fix: remove obsolete jcabillot/phpapache custom manager from renovate.json
PR Checks / build-test (pull_request) Successful in 1m7s
PR Checks / hadolint (pull_request) Successful in 17s
The Dockerfile already migrated to dunglas/frankenphp, the
ARG VERSION pattern is gone. The custom manager tracking
jcabillot/phpapache is no longer needed.
2026-06-29 18:49:50 +00:00
jcabillot afd279c323 Merge pull request 'fix: ensure cache directory is writable by www-data' (#13) from fix/cache-permissions into master
Main Release / test (push) Successful in 15s
Main Release / build (push) Successful in 12s
Main Release / tag (push) Successful in 13s
Tag Release / test (push) Successful in 16s
Tag Release / build-push (push) Successful in 42s
Tag Release / hadolint (push) Successful in 9s
Main Release / hadolint (push) Successful in 12s
Reviewed-on: #13
2026-06-29 12:11:59 -04:00
Sagent 7900615c0a fix: ensure cache directory is writable by www-data
PR Checks / hadolint (pull_request) Successful in 8s
PR Checks / build-test (pull_request) Successful in 14s
2026-06-29 16:10:20 +00:00
jcabillot 1c2e971560 Merge pull request 'ci: align workflows with mydl pattern' (#12) from fix/ci-align-mydl into master
Main Release / test (push) Successful in 24s
Main Release / build (push) Successful in 11s
Main Release / tag (push) Successful in 13s
Tag Release / test (push) Successful in 14s
Tag Release / build-push (push) Successful in 53s
Tag Release / hadolint (push) Successful in 8s
Main Release / hadolint (push) Successful in 7s
Reviewed-on: #12
2026-06-29 09:50:06 -04:00
Sagent 9ceb562b81 ci: align workflows with mydl + fix Alpine SHELL
PR Checks / hadolint (pull_request) Successful in 9s
PR Checks / build-test (pull_request) Successful in 20s
2026-06-29 13:45:50 +00:00
jcabillot 07c24eed7c Merge pull request 'fix: migrate from jcabillot/phpapache to dunglas/frankenphp' (#10) from fix/frankenphp-migration into master
Tag Release / tag (push) Failing after 14s
Main Release / hadolint (push) Successful in 11s
Main Release / build-push (push) Failing after 40s
Reviewed-on: #10
2026-06-29 09:32:53 -04:00
Sagent 699acc8684 fix: migrate from jcabillot/phpapache to dunglas/frankenphp
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-29 12:50:57 +00:00
jcabillot 5b25487d48 Merge pull request 'chore(deps): update actions/checkout action to v7' (#9) from renovate/actions-checkout-7.x into master
Tag Release / tag (push) Failing after 13m29s
Main Release / hadolint (push) Successful in 10s
Main Release / build-push (push) Successful in 57s
Reviewed-on: #9
2026-06-18 16:22:12 -04:00
renovate 66ad6462b0 chore(deps): update actions/checkout action to v7
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-18 15:34:26 +00:00
jcabillot a8f4863328 Merge pull request 'Convert to standard htpasswd 4-workflow pattern (no artifacts)' (#8) from fix/workflow-standard into master
Tag Release / tag (push) Failing after 8s
Main Release / hadolint (push) Successful in 9s
Main Release / build-push (push) Successful in 52s
Reviewed-on: #8
2026-06-13 19:49:02 -04:00
cloudix_mcp_server 2352d6eece fix: correct SHA in tag.yaml
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-13 19:21:00 -04:00
cloudix_mcp_server 8ffe2a6e39 fix: correct SHAs in pr.yaml (no test.sh)
PR Checks / hadolint (pull_request) Failing after 3s
PR Checks / build-test (pull_request) Successful in 19s
2026-06-13 19:20:55 -04:00
cloudix_mcp_server 4fc99af800 fix: correct SHAs in main.yaml (no test.sh)
PR Checks / hadolint (pull_request) Failing after 9s
PR Checks / build-test (pull_request) Successful in 20s
2026-06-13 19:20:49 -04:00
cloudix_mcp_server 5da944e08c fix: correct SHAs in cron.yaml (no test.sh) 2026-06-13 19:20:46 -04:00
cloudix_mcp_server c66d6d1346 Convert tag.yaml to standard htpasswd pattern (no artifacts)
PR Checks / build-test (pull_request) Successful in 17s
PR Checks / hadolint (pull_request) Failing after 3s
2026-06-13 17:57:56 -04:00
cloudix_mcp_server 0a6bde66e7 Convert pr.yaml to standard htpasswd pattern (no artifacts) 2026-06-13 17:57:49 -04:00
cloudix_mcp_server 1cf9d0363d Convert main.yaml to standard htpasswd pattern (no artifacts) 2026-06-13 17:57:44 -04:00
cloudix_mcp_server 146b702254 Convert cron.yaml to standard htpasswd pattern (no artifacts) 2026-06-13 17:57:29 -04:00
jcabillot 7935988731 Merge pull request 'ci: refactor CI pipelines into separate trigger-based workflows' (#7) from fix/refactor-ci-pipelines into master
Main CI / lint (push) Failing after 4s
Tag Release / tag (push) Failing after 3s
Main CI / build (push) Successful in 1m3s
Main CI / test (push) Has been skipped
Main CI / push (push) Has been skipped
Reviewed-on: #7
2026-06-12 20:23:25 -04:00
cloudix_mcp_server e755a5d773 fix(ci): rewrite pr.yaml with parallel pattern
PR Checks / build-test (pull_request) Successful in 14s
PR Checks / hadolint (pull_request) Successful in 5s
2026-06-12 19:38:21 -04:00
cloudix_mcp_server 2a241b25bc ci: split workflows - add tag.yaml for version tagging
PR Checks / lint (pull_request) Failing after 3s
PR Checks / build (pull_request) Successful in 53s
PR Checks / test (pull_request) Has been skipped
2026-06-12 17:04:59 -04:00
cloudix_mcp_server 92bd4ac4f9 ci: split workflows - add pr.yaml for PR checks 2026-06-12 17:04:51 -04:00
cloudix_mcp_server 801b0525d2 ci: split workflows - add cron.yaml for nightly rebuild 2026-06-12 17:04:47 -04:00
cloudix_mcp_server d78afcf106 ci: split workflows - add main.yaml for push-on-master 2026-06-12 17:04:45 -04:00
cloudix_mcp_server 84fb1468cc fix: remove incorrectly encoded tag.yaml 2026-06-12 17:04:24 -04:00
cloudix_mcp_server ba308ab09e fix: remove incorrectly encoded pr.yaml 2026-06-12 17:04:18 -04:00
cloudix_mcp_server 3238927eea fix: remove incorrectly encoded cron.yaml 2026-06-12 17:04:13 -04:00
cloudix_mcp_server e88640b7fd fix: remove incorrectly encoded main.yaml 2026-06-12 17:03:53 -04:00
cloudix_mcp_server 1d2f71b54d ci: split workflows - add tag.yaml for version tagging 2026-06-12 17:00:09 -04:00
cloudix_mcp_server 33b077e248 ci: split workflows - add pr.yaml for PR checks 2026-06-12 17:00:04 -04:00
cloudix_mcp_server a9bd5bb34d ci: split workflows - add cron.yaml for nightly rebuild 2026-06-12 17:00:00 -04:00
cloudix_mcp_server 032716ca1f ci: split workflows - add main.yaml for push-on-master 2026-06-12 16:59:53 -04:00
cloudix_mcp_server 38c9297f3b ci: refactor CI pipelines into separate trigger-based workflows 2026-06-12 16:59:10 -04:00
opencodecabilloteu 3bb1803ffa Merge pull request 'Migrate Renovate config' (#6) from renovate/migrate-config into master
Docker Build and Push / lint (push) Successful in 6s
Docker Build and Push / test (push) Successful in 27s
Docker Build and Push / push (push) Successful in 44s
Docker Build and Push / build (push) Successful in 1m1s
Reviewed-on: #6
2026-06-10 12:46:12 -04:00
renovate c89a1ff2e7 Migrate config renovate.json
Docker Build and Push / build (pull_request) Successful in 58s
Docker Build and Push / lint (pull_request) Failing after 13m3s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
2026-06-09 17:54:31 +00:00
jcabillot ea0a0e4337 Merge pull request 'chore: improve renovate dependency detection' (#5) from chore/renovate into master
Docker Build and Push / lint (push) Successful in 7s
Docker Build and Push / test (push) Successful in 25s
Docker Build and Push / push (push) Successful in 38s
Docker Build and Push / build (push) Successful in 1m5s
Reviewed-on: #5
2026-06-09 13:46:59 -04:00
Sagent 902a797f96 chore: remove redundant configs now handled globally
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 1m11s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 22s
2026-06-09 13:40:55 +00:00
Sagent 2c957b0c57 chore: improve renovate dependency detection
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Failing after 2m21s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Has been skipped
- Disable gitlabci manager (legacy CI, migrated to Gitea Actions)
- Add custom regexManager to detect jcabillot/phpapache base image version from ARG VERSION
2026-06-09 02:20:05 +00:00
jcabillot 930f5a288a 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 / test (push) Successful in 39s
Docker Build and Push / push (push) Successful in 32s
Docker Build and Push / build (push) Successful in 1m39s
Reviewed-on: #4
2026-06-08 18:16:35 -04:00
renovate 25d5bc5ca9 Update hadolint/hadolint-action action to v3.3.0
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 1m6s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 21s
2026-06-08 21:30:49 +00:00
jcabillot c6de0b6016 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 7s
Docker Build and Push / test (push) Successful in 48s
Docker Build and Push / push (push) Successful in 31s
Docker Build and Push / build (push) Successful in 58s
Reviewed-on: #3
2026-06-08 17:18:47 -04:00
Sagent dc774d6cb7 fix: use grep on file directly instead of echo piping for body test
Docker Build and Push / lint (pull_request) Successful in 5s
Docker Build and Push / build (pull_request) Successful in 55s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Successful in 24s
2026-06-08 21:10:45 +00:00
Sagent 2c28c53bcc fix: avoid pipefail/SIGPIPE by using temp files for HTTP tests
Docker Build and Push / lint (pull_request) Successful in 11s
Docker Build and Push / build (pull_request) Successful in 1m2s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Failing after 44s
2026-06-08 20:45:01 +00:00
Sagent a552e414cc fix: chown /var/www/html to www-data so FileCache can write
Docker Build and Push / lint (pull_request) Successful in 6s
Docker Build and Push / build (pull_request) Successful in 1m39s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Failing after 41s
2026-06-08 19:53:12 +00:00
Sagent c148d9480d fix: add SHELL pipefail for hadolint DL4006
Docker Build and Push / lint (pull_request) Successful in 15s
Docker Build and Push / build (pull_request) Successful in 1m28s
Docker Build and Push / push (pull_request) Has been skipped
Docker Build and Push / test (pull_request) Failing after 1m57s
2026-06-08 19:17:29 +00:00
Sagent 99d3e4a781 feat: add lint, build, test, push pipeline with SHA-pinned actions
Docker Build and Push / lint (pull_request) Failing after 7s
Docker Build and Push / build (pull_request) Successful in 2m6s
Docker Build and Push / push (pull_request) Has been skipped
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
- Test GET / returns RSS-Bridge HTML
2026-06-08 19:11:38 +00:00
jcabillot 9464333ec3 feat: add Gitea Actions workflow
Docker Build and Push / build (push) Successful in 54s
feat: add Gitea Actions workflow
2026-05-29 16:23:16 -04:00
11 changed files with 314 additions and 111 deletions

No files matched your search

+49
View File
@@ -0,0 +1,49 @@
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
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
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/rssbridge
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/rssbridge
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
+44
View File
@@ -0,0 +1,44 @@
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/rssbridge:${{ 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/rssbridge.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
+20
View File
@@ -0,0 +1,20 @@
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 --load -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
+74
View File
@@ -0,0 +1,74 @@
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/rssbridge
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
release:
# Publishes the Gitea release for this tag (body = commits since the previous
# tag). Renovate copies that body into the bump PR in
# perso_private/tf-depl-kubernetes under "Release Notes"; without a release
# that section stays empty (bare "Compare Source" link).
needs: [build-push]
uses: perso/gitea-pipelines/.gitea/workflows/gitea-release.yaml@main
with:
image: jcabillot/rssbridge
secrets: inherit
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, release]
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
+11
View File
@@ -0,0 +1,11 @@
{
auto_https off
frankenphp
}
:8080 {
root * /app/public
encode zstd br gzip
try_files {path} /index.php?{query}
php_server
}
+19 -4
View File
@@ -1,7 +1,22 @@
ARG VERSION="latest" FROM dunglas/frankenphp:1-php8.5-alpine
FROM "jcabillot/phpapache:${VERSION}"
LABEL maintainer="Julien Cabillot <dockerimages@cabillot.eu>" LABEL maintainer="Julien Cabillot <dockerimages@cabillot.eu>"
RUN curl -s -L "https://github.com/RSS-Bridge/rss-bridge/tarball/master/" | tar -zx --strip=1 WORKDIR /app
RUN echo "*" > "/var/www/html/whitelist.txt" # Install required PHP extensions for RSS-Bridge
RUN install-php-extensions mbstring simplexml curl json iconv
COPY Caddyfile /etc/frankenphp/Caddyfile
# Download RSS-Bridge (two-step to avoid pipefail dependency)
RUN curl -s -L "https://github.com/RSS-Bridge/rss-bridge/tarball/master/" -o /tmp/rssbridge.tar && \
tar -zx --strip=1 -C /app/public -f /tmp/rssbridge.tar && \
rm /tmp/rssbridge.tar
# Configure RSS-Bridge
RUN echo "*" > "/app/public/whitelist.txt" && \
mkdir -p /app/public/cache && \
chown -R www-data:www-data /app/public && \
chmod -R 775 /app/public/cache
USER www-data
Vendored
-38
View File
@@ -1,38 +0,0 @@
pipeline {
environment {
registry = 'https://registry.hub.docker.com'
registryCredential = 'dockerhub_jcabillot'
dockerImage = 'jcabillot/rssbridge'
}
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}'
}
}
}
}
}
}
+85
View File
@@ -0,0 +1,85 @@
#!/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_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 container on ${DOCKER_GW}:8080..."
for i in $(seq 1 30); do
if curl -sf "$BASE_URL/" >/dev/null 2>&1; then
echo "Container ready after ${i}s"
break
fi
if [ "$i" -eq 30 ]; then
echo "FAIL: Container did not become ready within 30s"
docker logs "$CONTAINER_NAME"
exit 1
fi
sleep 1
done
echo ""
echo "Test: GET /"
TMPDIR=$(mktemp -d)
cleanup() {
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
rm -rf "$TMPDIR"
}
curl -sf -o "$TMPDIR/body" -D "$TMPDIR/headers" "$BASE_URL/"
STATUS=$(head -1 "$TMPDIR/headers" | grep -oP '\d{3}')
CONTENT_TYPE=$(grep -i 'content-type' "$TMPDIR/headers" | tr -d '\r' | cut -d: -f2- | xargs)
trap cleanup EXIT
assert "HTTP status is 200" "200" "$STATUS"
assert_match "Content-Type is text/html" "text/html" "$CONTENT_TYPE"
TOTAL=$((TOTAL + 1))
if grep -qEi "[Rr][Ss][Ss].*[Bb]ridge" "$TMPDIR/body"; then
echo " PASS: Body contains RSS-Bridge"
PASSED=$((PASSED + 1))
else
echo " FAIL: Body contains RSS-Bridge (pattern not found)"
FAILED=$((FAILED + 1))
fi
echo ""
echo "Results: $PASSED/$TOTAL passed, $FAILED failed"
[ "$FAILED" -eq 0 ]