/// Build - Scan - Deploy - Repeat /// Pushing to prod on a Friday since 2026 /// All tests green, ship it ///
/// Build - Scan - Deploy - Repeat /// Pushing to prod on a Friday since 2026 /// All tests green, ship it ///
/// Pipeline Run #42
Checkout
>
Semgrep
>
Deploy
>
Verify
$ git push origin main
Enumerating objects: 7, done.
Compressing objects: 100% (4/4)
[main 9cd7733] ship it
$ forgejo-runner exec
[PASS] checkout
[PASS] semgrep scan
[RUN ] deploy...
$
Forgejo Actions
Self-hosted CI running on bare metal. No cloud middlemen. No YAML nightmares. Okay, maybe a little YAML.
Operational
Semgrep Scan
Static analysis on every push. Finding bugs before they find you. Security is not optional.
Scanning
Rsync Deploy
No containers. No orchestration. Just rsync doing what rsync does best since 1996.
Synced
What's Next
More tests. More scans. Maybe a database. Maybe not. The pipeline decides.
Planned
Deployed with █ via Forgejo Actions
No frameworks were harmed in the making of this page
* we're not counting the ones we don't know about