Fix three critical CI issues:
1. SWAG TOOL: Install swag before go generate
- Adds 'Install swag' step to build-test job
- Prevents 'command not found' errors
- Ensures swagger docs can be generated
2. GO VET REDUNDANCY: Remove duplicate go vet
- Removes go vet from lint-format job
- Keeps go vet only in build-test job
- Reduces CI execution time
3. WORKFLOW VALIDATION: Fix yamllint path
- Updates validate-workflow.sh to use absolute paths
- Fixes .yamllint.yaml file not found error
- Makes path resolution more robust
These fixes address the root causes of:
- Job 350 failure (missing swag)
- Redundant validation (duplicate go vet)
- Workflow validation failures (wrong paths)
Tested locally and ready for CI.
Fix CI/CD workflow failure by adding swagger documentation generation
step before building packages.
The workflow was failing with:
pkg/server/server.go:30:12: pattern docs/swagger.json: no matching files found
Root cause: The //go:embed directive requires generated swagger docs
but the workflow didn't generate them before building.
Solution: Added 'Generate Swagger Docs' step:
- name: Generate Swagger Docs
run: cd pkg/server && go generate
Also generated the missing docs locally to fix immediate issue:
cd pkg/server && go generate
This ensures swagger.json, swagger.yaml, and docs.go are created
before the build step, preventing the embed directive from failing.
- Rename ci-cd.yaml to go-ci-cd.yaml for clarity
- Add dockerimage.yaml workflow for Docker builds
- Create Dockerfile for production deployment
- Add comprehensive CI/CD documentation
- Create contributor-quickstart.sh for easy validation
- Update all scripts to handle both workflow files
- Fix event triggers to run on all relevant pushes
- Remove redundant YAML syntax validation
- Improve workflow validation for Arcodange conventions
BREAKING CHANGE: ci-cd.yaml renamed to go-ci-cd.yaml
See scripts/cicd/README.md for complete documentation.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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.