Commit Graph

142 Commits

Author SHA1 Message Date
renovate[bot]
d7c067385e chore(deps): update golangci/golangci-lint-action action to v4.0.1 2025-11-19 16:47:37 +00:00
renovate[bot]
0474c83782 chore(deps): update actions/checkout digest to 34e1148 2025-11-19 16:47:32 +00:00
renovate[bot]
e5b9ae8a90 chore(deps): pin dependencies 2025-11-19 16:47:27 +00:00
Wikid82
3537dc0084 ci: add GitHub Actions workflow for building and pushing Docker images 2025-11-19 10:19:15 -05:00
Wikid82
b297585df3 ci: fix propagation logic (main->dev, dev->feature/**) 2025-11-19 10:14:21 -05:00
Wikid82
7ca6d8f606 ci: streamline workflows, consolidate docker build/publish, add quality checks 2025-11-19 10:13:41 -05:00
Wikid82
de484db648 ci(secrets): migrate GITHUB_TOKEN references to PROJECT_TOKEN secret 2025-11-19 10:07:18 -05:00
Wikid82
c055a7676f fix(ci): use ADD_TO_PROJECT_PAT for project access (user projects require PAT) 2025-11-19 10:07:18 -05:00
Wikid82
069e8112c3 fix(ci): correct indentation for skip summary step in docker-build 2025-11-19 10:03:45 -05:00
Wikid82
1cf07a892a ci: skip heavy docker build/publish for renovate bot and chore(deps)/chore commits 2025-11-19 10:03:40 -05:00
Wikid82
939847e6af ci: robust health check with retries; normalize IMAGE_NAME in publish workflow 2025-11-19 10:03:15 -05:00
Wikid82
6bf9fba474 chore(ci): skip add-to-project when PROJECT_URL secret absent 2025-11-19 10:02:47 -05:00
Wikid82
0d6fb54370 fix(ci): normalize IMAGE_NAME to lowercase for registry compliance 2025-11-19 10:02:20 -05:00
Wikid82
eec702a335 fix(ci): lowercase IMAGE_NAME in workflows; fix Renovate packageRule (remove matchUpdateTypes from allowedVersions rule) 2025-11-19 09:58:32 -05:00
Wikid82
e3e6c75354 ci: add checkout step to Renovate workflow so config file is available 2025-11-19 09:54:13 -05:00
Wikid82
ae4f03e26e CI: Show Trivy table output before SARIF upload; always upload SARIF; fail late on CRITICAL/HIGH 2025-11-19 09:53:57 -05:00
Wikid82
778854473a CI: Add Renovate automation and Caddy v3 monitor; fix CADDY_IMAGE ARG scope 2025-11-19 09:52:10 -05:00
Wikid82
3111421b92 CI: Pin Caddy base by digest in builds; enforce Trivy fail on CRITICAL/HIGH; pass CADDY_IMAGE build-arg 2025-11-19 09:52:10 -05:00
Wikid82
d65b55144d CI: Generate PR tag via ref_name; skip push & security scan on PR 2025-11-19 09:52:09 -05:00
Wikid82
ffa1bd9af7 CI: Fix Trivy scan refs and guard SARIF upload; use metadata tags for docker-build scan; add outcome gating 2025-11-19 09:52:09 -05:00
Wikid82
8434121dd1 CI: Add CodeQL analysis workflow with security-events permissions and skip fork PRs 2025-11-19 09:52:08 -05:00
Wikid82
f14b0f3978 fix: Remove SHA-based Docker tags causing invalid format errors
- Remove type=sha tags that were producing invalid formats like ':-f0d0654'
- Keep latest/dev tags for branches and semver tags for releases
- SHA is still tracked via image digest and labels
2025-11-19 09:52:07 -05:00
Wikid82
8716919e22 fix: Correct Docker tag format in metadata action
- Add format=short to SHA tags to prevent malformed tags
- Standardize dev tag naming across workflows (was 'development')
- Ensure branch name is properly included in SHA prefix
2025-11-19 09:52:07 -05:00
Wikid82
95823204a6 feat: Add Trivy security scanning to Docker workflows
- Add Trivy vulnerability scanner after image build
- Upload SARIF results to GitHub Security tab
- Display critical/high severity issues in workflow logs
- Add security-events permission for SARIF upload
- Skip scanning on pull requests to save time
2025-11-19 09:51:58 -05:00
Wikid82
6273aa32a1 fix: Remove legacy Python lint job from CI workflow
- Remove ruff/flake8/pre-commit steps (legacy Python scaffold)
- Remove needs dependencies on non-existent lint job
- Backend and frontend tests now run independently
2025-11-19 09:50:59 -05:00
Wikid82
8e641b01bd fix: Eliminate act() warnings in frontend tests and resolve Docker arm64 build
- Wrap async mutations in act() across useImport, useProxyHosts, useRemoteServers tests
- Add npm_config_rollup_skip_nodejs_native=1 in Dockerfile to bypass native binary for arm64
- Enable Go module caching in CI via cache-dependency-path on setup-go action
- All frontend tests now pass cleanly (49/49) without React Testing Library warnings
2025-11-19 09:50:08 -05:00
Wikid82
a87b7cebb8 fix: replace Python tests with Go and React tests in CI
This is a Go + React project, not Python. Updated CI workflow to:
- Run Go tests (backend)
- Run frontend tests with npm (React)
- Remove Python test coverage requirement
2025-11-19 09:49:56 -05:00
Wikid82
76f937d947 fix: add missing frontend dependencies and remove trailing whitespace
- Add @tanstack/react-query, axios, and clsx to frontend dependencies
- Remove trailing whitespace from multiple files to pass pre-commit hooks
- These were required but missing from package.json
2025-11-19 09:48:37 -05:00
Wikid82
0a7442d703 fix: update ruff version requirement and use GITHUB_TOKEN for GHCR auth
- Change ruff>=0.15 to ruff>=0.6.0 (0.15 doesn't exist yet)
- Replace CPMP_GHCR_TOKEN with GITHUB_TOKEN for GHCR authentication
- GITHUB_TOKEN is automatically provided by GitHub Actions with correct permissions
2025-11-19 09:47:55 -05:00
Wikid82
cabf57df86 fix: Update CI configuration to prevent failure on Codecov errors and clean up condition syntax in branch propagation workflow 2025-11-19 09:45:43 -05:00
renovate[bot]
b23ad2a8ab chore(deps): update actions/add-to-project action to v0.6.1 2025-11-19 14:12:23 +00:00
renovate[bot]
bac3e8126c chore(deps): pin dependencies 2025-11-19 14:02:16 +00:00
Wikid82
9431625d0b Merge branch 'development' into Database-Schema-&-Models
Resolved conflicts by keeping Database-Schema-&-Models version which contains:
- Complete Phase 7 documentation polish (ELI5 style)
- GitHub Actions CI/CD workflows (Docker + Pages)
- GHCR migration (replacing Docker Hub)
- All backend and frontend improvements
2025-11-18 13:20:20 -05:00
Wikid82
e58fcb714d docs: comprehensive documentation polish & CI/CD automation
Major Updates:
- Rewrote all docs in beginner-friendly 'ELI5' language
- Created docs index with user journey navigation
- Added complete getting-started guide for novice users
- Set up GitHub Container Registry (GHCR) automation
- Configured GitHub Pages deployment for documentation

Documentation:
- docs/index.md - Central navigation hub
- docs/getting-started.md - Step-by-step beginner guide
- docs/github-setup.md - CI/CD setup instructions
- README.md - Complete rewrite in accessible language
- CONTRIBUTING.md - Contributor guidelines
- Multiple comprehensive API and schema docs

CI/CD Workflows:
- .github/workflows/docker-build.yml - Multi-platform builds to GHCR
- .github/workflows/docs.yml - Automated docs deployment to Pages
- Supports main (latest), development (dev), and version tags
- Automated testing of built images
- Beautiful documentation site with dark theme

Benefits:
- Zero barrier to entry for new users
- Automated Docker builds (AMD64 + ARM64)
- Professional documentation site
- No Docker Hub account needed (uses GHCR)
- Complete CI/CD pipeline

All 7 implementation phases complete - project is production ready!
2025-11-18 13:11:11 -05:00
Wikid82
a04fad2b73 feat: update issue templates and workflows; add python compile check and sourcery integration 2025-11-18 10:57:03 -05:00
Wikid82
5dd5036661 feat: single-container deployment & automated semantic versioning; add release workflow, version injection, health endpoint metadata, documentation 2025-11-17 19:29:25 -05:00
Wikid82
b17e7d3d5f feat: implement Caddy integration with Docker-first approach (Issue #4)
- Add Caddy client package (client.go) with Load/GetConfig/Ping methods
- Implement config generator (config.go) transforming ProxyHost → Caddy JSON
- Add pre-flight validator (validator.go) catching config errors before reload
- Create manager (manager.go) with rollback capability using config snapshots
- Add CaddyConfig model for audit trail of configuration changes
- Update Config to include Caddy admin API and config dir settings
- Create comprehensive unit tests with 100% coverage for caddy package

Docker Infrastructure:
- Add docker-compose.yml with Caddy sidecar container
- Add docker-compose.dev.yml for development overrides
- Create .github/workflows/docker-publish.yml for GHCR publishing
- Update CI to build Docker images and run integration tests
- Add DOCKER.md with comprehensive deployment guide
- Update Makefile with docker-compose commands
- Update README with Docker-first deployment instructions

Configuration:
- Add CPM_CADDY_ADMIN_API and CPM_CADDY_CONFIG_DIR env vars
- Update .env.example with new Caddy settings
- Update AutoMigrate to include CaddyConfig model

All acceptance criteria met:
 Can programmatically generate valid Caddy JSON configs
 Can reload Caddy configuration via admin API
 Invalid configs caught by validator before reload
 Automatic rollback on failure via snapshot system
2025-11-17 19:03:59 -05:00
Wikid82
65944e3455 ci: fix go module cache key to use backend/go.sum 2025-11-17 18:33:00 -05:00
Wikid82
89e1850d73 fix: update auto-add-to-project workflow to use secret for project URL and add skip condition 2025-11-17 18:28:53 -05:00
Wikid82
6b0dfa7085 ci: add Go/Node CI, Docker multi-stage, Makefile, and pre-commit hooks; update README 2025-11-17 18:16:03 -05:00
Wikid82
4f3b7d8f99 feat: Initial project setup with CI/CD, Docker, and issue creation script
- Added Codecov configuration to enforce 75% coverage.
- Created .dockerignore to exclude unnecessary files from Docker context.
- Implemented GitHub Actions CI workflow for linting, testing, and coverage reporting.
- Added a workflow to propagate changes between main and development branches.
- Configured pre-commit hooks for code quality checks.
- Developed a multi-stage Dockerfile for a Python web backend.
- Added MIT License to the project.
- Created README.md with project overview and setup instructions.
- Implemented a script to create GitHub issues from project planning.
- Defined development and runtime requirements in requirements.txt and requirements.dev.txt.
2025-11-17 15:52:40 -05:00
Wikid82
d82defc555 Add GitHub workflows for auto-adding issues/PRs, auto-labeling, and creating project labels 2025-11-17 15:01:53 -05:00