Skip to content

ci: CI/CD Pipeline with GitHub Actions - #3

Open
devbydaniel wants to merge 9 commits into
mainfrom
auto-claude/003-ci-cd-pipeline
Open

devbydaniel wants to merge 9 commits into
mainfrom
auto-claude/003-ci-cd-pipeline

Conversation

@devbydaniel

Copy link
Copy Markdown
Owner

Set up a GitHub Actions CI/CD pipeline that runs linting, tests, and builds on every push and pull request. Include automated Docker image building and publishing.

devbydaniel and others added 9 commits January 31, 2026 19:48
…kend

Configure golangci-lint with comprehensive linter settings for Go 1.24:
- Required linters: gofmt, govet, errcheck, staticcheck, unused, gosimple, ineffassign
- Additional production linters: goimports, misspell, revive, goconst, gosec, bodyclose
- Reasonable defaults with 5m timeout
- Test-specific exclusions for less critical checks
- UK spelling exception for 'organisation' used in codebase

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created .github/workflows/backend-ci.yml with:

- Triggers on push to main/develop and PRs affecting backend code

- Uses Go 1.24.0 (matching go.mod)

- Caches Go modules and build cache for faster runs

- Runs golangci-lint with project's .golangci.yml config

- Executes go test with race detector and coverage

- Builds backend binary to verify compilation

- Uploads coverage to Codecov (optional, won't fail CI)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…image publishing

Created .github/workflows/docker-publish.yml with multi-platform builds, GHCR/Docker Hub support, and proper caching

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added GitHub Actions status badges to README.md for Backend CI, Widget CI, and Docker Build workflows
- Updated .gitignore to exclude .auto-claude/ directory
- Created comprehensive VERIFICATION_GUIDE.md (internal) with step-by-step instructions for manual verification
- All CI/CD workflows are ready for testing on GitHub Actions

Manual verification steps documented:
1. Create test branch and push changes
2. Open PR and verify backend-ci and widget-ci workflows run
3. Merge to main and verify docker-publish workflow runs
4. Verify Docker images are published with correct tags
5. Test published Docker image functionality
6. Verify status badges display correctly

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixes:

- Add workflow_run trigger to docker-publish to ensure CI passes first

- Add comprehensive CI/CD setup documentation to README

- Create user-accessible verification guide in docs/

Verified:

- docker-publish.yml has workflow_run trigger with success condition

- README.md has comprehensive CI/CD section with setup instructions

- docs/ci-cd-verification.md exists with detailed verification steps

- All issues verified locally

QA Fix Session: 1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Widget CI: set VITE_BACKEND_URL env var for production build
- Backend CI: install libwebp-dev for go-webp CGO dependency
- Backend CI: build frontend assets before Go lint/build (fixes go:embed dist/* pattern)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant