1.5 KiB
1.5 KiB
workflows
Shared composite actions for the homelab CI/CD pipeline. (Composite
actions, not reusable workflows: Forgejo LTS 11 does not support
on: workflow_call.)
node-checks— npm ci + lint + test (each--if-present)build-push— docker build + push to the Forgejo registry (192.168.1.230:3000), tags<short-sha>+latestgitops-bump— set the image tag innholtware/gitopsviakustomize edit set image; ArgoCD deploys from there
A consuming app's .forgejo/workflows/ci.yaml (see nholtware/demo-app):
on:
push:
branches: [main]
jobs:
checks:
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: http://192.168.1.230:3000/nholtware/workflows/node-checks@main
deploy:
needs: checks
runs-on: host
steps:
- uses: actions/checkout@v4
- uses: http://192.168.1.230:3000/nholtware/workflows/build-push@main
with:
app-name: my-app
registry-user: ${{ secrets.REGISTRY_USER }}
registry-token: ${{ secrets.REGISTRY_TOKEN }}
- uses: http://192.168.1.230:3000/nholtware/workflows/gitops-bump@main
with:
app-name: my-app
gitops-token: ${{ secrets.GITOPS_TOKEN }}
Secrets are user-level Actions secrets on the repo owner: REGISTRY_USER,
REGISTRY_TOKEN (write:package), GITOPS_TOKEN (write on the gitops repo).
For a non-Node app, drop the checks job (or swap in your own) — deploy
is language-agnostic.