Commit Graph
34 Commits
Author SHA1 Message Date
Djeex 1f0af15932 Fix flaky unit test on merge-triggered CI runs (#7)
CI / build-and-scan (push) Successful in 1m4s
- entrypoint.sh: bound the target connectivity check with `-w 2` (the only unbounded step in the startup path)
- tests/entrypoint.bats: widen wait_for_log's budget from 5s to 10s

Merge-triggered runs land on a colder runner (Docker cache evicted by other repos' scheduled jobs since the PR was last tested) than PR-check runs, and the first backgrounded entrypoint.sh in the suite was occasionally landing just past the old 5s window — always passed on rerun once warm.
2026-08-26 15:58:36 +02:00
Djeex 4acab3e3c6 CI/CD hardening: lint, secret scan, coverage gate, auto CVE-fix PRs, GHCR + GitHub mirror publishing (#6)
CI / build-and-scan (push) Failing after 1m23s
- release changelog: commits rendered as description (link), divider lines dropped
- gitleaks secret scan and hadolint on every push/PR
- ruff lint/format gate (Python repos) with a pytest --cov-fail-under gate
- scheduled CRITICAL Trivy failures attempt an apk upgrade rebuild and open a follow-up PR if it clears the finding, instead of just failing red
- images also published to ghcr.io/djeex/<repo>
- a matching GitHub Release is created on the GitHub mirror, with a notice pointing back to this repo as the source of truth
2026-08-26 15:42:38 +02:00
Djeex 11eb12cc6e Merge pull request 'Release notes: list commits instead of changed files' (#5) from dev-v1.1 into main
CI / build-and-scan (push) Successful in 1m12s
Reviewed-on: #5
2026-08-23 23:35:40 +02:00
Djeex c94da17686 Link each commit in the release changelog to its own commit page
CI / build-and-scan (pull_request) Successful in 2m11s
COMMIT_LIST only rendered the bare subject line per commit, with no
way to jump to that specific commit — only the triggering commit
(Source:) had a link. Each line now reads
"- [<short-sha>](<repo>/commit/<sha>) <subject>", matching the same
link style already used for Source.
2026-08-23 23:22:44 +02:00
Djeex 4903484aa4 Release notes: list commits instead of changed files 2026-08-23 23:22:44 +02:00
Djeex db405d24e9 Merge pull request 'Run as non-root by default via PUID/PGID' (#4) from dev-v1.1 into main
CI / build-and-scan (push) Successful in 1m11s
Reviewed-on: #4
1.1.0
2026-08-23 15:18:11 +02:00
Djeex fff6e49350 Run as non-root by default via PUID/PGID
CI / build-and-scan (pull_request) Successful in 1m7s
2026-08-23 15:10:17 +02:00
socat-proxy-ci ac1addca14 Bump build version to 1.0.1 [skip ci] 1.0.1 2026-08-22 22:13:27 +00:00
Djeex 01a863deed Merge pull request 'Update alpine Docker tag to v3.24.1' (#2) from renovate/alpine-3.x into main
CI / build-and-scan (push) Successful in 1m36s
Reviewed-on: #2
2026-08-23 00:08:24 +02:00
Djeex 769462a028 Update alpine Docker tag to v3.24.1
CI / build-and-scan (pull_request) Successful in 2m42s
2026-08-22 22:05:22 +00:00
Djeex ea467474d0 Merge pull request 'Dev ci' (#1) from dev-ci into main
CI / build-and-scan (push) Failing after 40s
Reviewed-on: #1
2026-08-23 00:04:45 +02:00
DjeexandClaude Sonnet 5 373dbfce2e Add Renovate config
CI / build-and-scan (pull_request) Failing after 40s
Same policy as adguard-cidre: patch-level Dockerfile bumps automerge,
minor/major get a labeled PR, vulnerability alerts labeled bug. No
pip_requirements rule — this repo has no Python dependencies to manage.

Still needed on the Gitea/Renovate side (manual, not done here):
uncomment socat-proxy in the shared ~/renovate/config.js repositories
array on stockeex, and create the bot/major/minor/bug labels in this
repo's Issues → Labels (Renovate silently drops labels that don't
already exist).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-23 00:02:11 +02:00
DjeexandClaude Sonnet 5 d75172dd62 Add Gitea Actions CI workflow
CI / build-and-scan (pull_request) Failing after 1m19s
Adapted from adguard-cidre's pipeline: build, syntax smoke-test, bats
unit tests, shellcheck lint, Trivy critical/high scans, then on push to
main a versioned publish (VERSION auto-bump, :latest/:X.Y/:X.Y.Z tags
retagged from the already-scanned image, and a categorized Gitea
Release). Requires the REGISTRY_TOKEN and CI_PUSH_TOKEN repo secrets
and branch protection on main (not yet configured on the Gitea side).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-22 23:50:47 +02:00
DjeexandClaude Sonnet 5 b825dec8be Multi-stage Dockerfile: pin base image, add test/lint stages
Pin alpine:latest to the full patch-level tag alpine:3.22.1 so Renovate
can classify patch/minor/major bumps on it. Add a `test` stage (bats)
and a `lint` stage (shellcheck, severity=error) that build from `base`
before ENTRYPOINT is set, so CI can run them without an --entrypoint
override. A trailing `FROM base` keeps the lean prod image as the
default `docker build .` target despite the extra stages.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-22 23:50:40 +02:00
DjeexandClaude Sonnet 5 f6b27fe51c Add bats test suite for entrypoint.sh
Covers env-var validation, socket path preparation, target connectivity
messaging, DEBUG_LEVEL to socat-flag mapping, and graceful shutdown vs.
crash detection — run against the real socat/nc binaries rather than
mocks, since UNIX-LISTEN binds without needing the TCP target reachable.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-22 23:50:32 +02:00
Djeex 1f27f306a5 Fixed illustration 2025-09-26 15:35:35 +00:00
Djeex b93ff1d89f Illustration 2025-09-26 15:31:12 +00:00
Djeex 3494e69c9f Better README.MD + clean up entrypoint.sh 2025-09-24 23:52:20 +02:00
Djeex 4ac6cd0634 Mirror 2025-09-24 17:00:38 +02:00
Djeex 167e80c583 v1.0 v1.0 2025-09-24 16:10:19 +02:00
Djeex f98e5f0333 Debug mode 2025-09-24 15:43:35 +02:00
Djeex 4714570953 test-ok 2025-09-24 12:58:39 +00:00
Djeex 4b0a28ef21 debug 2025-09-24 14:46:34 +02:00
Djeex 51f771e0d7 Fixed typo 2025-09-24 12:23:10 +00:00
Djeex 1444c24b0d Fixed log 2025-09-24 14:03:42 +02:00
Djeex 0800c8f700 Clean up 2025-09-24 11:54:34 +00:00
Djeex eee12f9651 Better logs and start 2025-09-24 11:46:34 +00:00
Djeex 0cdeaa5ce8 Fixed folder trailing slash if exist 2025-09-24 13:19:58 +02:00
Djeex b020a30429 Fixed logic and added variables 2025-09-24 13:10:27 +02:00
Djeex 5176ddeae9 Fixed variable order and better log 2025-09-24 12:48:28 +02:00
Djeex 444571c311 Fixer wrong variable usage + better logs 2025-09-24 12:32:33 +02:00
Djeex 7adc49f5b0 Keeping script alive + better logs and sigterm 2025-09-24 12:16:25 +02:00
Djeex b3b45380a2 Fixed script shell 2025-09-24 12:06:52 +02:00
Djeex e1ab5f8d8c 1st commit 2025-09-24 11:48:44 +02:00