🤖 feat: implement trunk-based CI/CD with local testing

- Designed trunk-based development workflow with branch protection
- Added workflow validation job to prevent main branch breaks
- Integrated act (GitHub Actions runner) for local Gitea workflow testing
- Created unified CI/CD script interface (scripts/cicd.sh)
- Added YAML lint configuration with practical limits (400 chars)
- Organized all CI/CD scripts under scripts/cicd/ directory
- Confirmed Gitea/GitHub Actions compatibility via local testing
- Updated ADR 0017 with implementation details and test results
- Enhanced documentation with local development workflow

See ADR-0017 for complete trunk-based development workflow documentation.
See ADR-0016 for CI/CD pipeline design.
This commit is contained in:
2026-04-05 23:07:32 +02:00
parent e55c92735d
commit b391534f2d
25 changed files with 2347 additions and 13 deletions

25
config/runner.example Normal file
View File

@@ -0,0 +1,25 @@
# Gitea Runner Configuration Example
# This file should be copied to config/runner and filled with actual values
# The config/runner file should be gitignored
# Runner configuration format:
# {
# "id": 1,
# "uuid": "runner-uuid-here",
# "name": "local-test-runner",
# "token": "registration-token-here",
# "labels": ["ubuntu-latest", "docker"],
# "runner_type": "act"
# }
# To generate this file:
# 1. Go to your Gitea instance: https://gitea.arcodange.lab/arcodange/DanceLessonsCoach/settings/actions/runners
# 2. Create a new runner
# 3. Download the configuration
# 4. Save it as config/runner
# Environment variables for docker-compose:
# GITEA_INSTANCE_URL=https://gitea.arcodange.lab/
# GITEA_RUNNER_REGISTRATION_TOKEN=your-registration-token
# GITEA_RUNNER_NAME=local-test-runner
# GITEA_RUNNER_LABELS=ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://gitea/act_runner:latest