Commit Graph

75 Commits

Author SHA1 Message Date
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
7253dd4f5b fix(runtime): remove invalid Caddy --adapter json; use native JSON config 2025-11-19 10:03:16 -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
renovate[bot]
65740e941b chore(deps): update dependency sqlalchemy to >=2.0.44 2025-11-19 09:58:23 -05:00
renovate[bot]
b78c87ccbd chore(deps): update dependency python-multipart to >=0.0.20 2025-11-19 09:55:05 -05:00
renovate[bot]
77b8b0cee3 chore(deps): update dependency pytest to >=7.4.4 2025-11-19 09:55:05 -05:00
renovate[bot]
6761f0f8f0 chore(deps): update dependency passlib to >=1.7.4 2025-11-19 09:54:56 -05:00
Wikid82
59202c172b chore(ci): fix Renovate config and workflow; ensure checkout and valid packageRules 2025-11-19 09:54:14 -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
54881764ad chore(deps): bump golang.org/x/crypto to v0.31.0 (fix CVE-2024-45337) 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
e3134a2ad7 Reduce Trivy findings: drop bash, switch to /bin/sh entrypoint, pin to caddy:2-alpine, upgrade runtime packages 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
37cef06634 Docker: build frontend on BUILDPLATFORM to avoid arm64 Rollup native module; keep Rollup native skipped 2025-11-19 09:52:08 -05:00
Wikid82
f2ea164717 fix(docker): set ROLLUP_SKIP_NODEJS_NATIVE=1 to avoid arm64 native Rollup error 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
c979e3d417 chore: test workflows after enabling all actions 2025-11-19 09:51:28 -05:00
Wikid82
46d14cd827 chore: trigger workflows with updated action permissions 2025-11-19 09:51:28 -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
6392ef318b chore: comprehensive update to ignore files
Updated .gitignore, .dockerignore, and .codecov.yml to properly exclude:
- Python artifacts (__pycache__, .venv, coverage)
- Node artifacts (node_modules, dist, coverage, .vite)
- Go artifacts (*.out, coverage files)
- Database files (*.db, *.sqlite)
- IDE files (.vscode, .idea)
- Build artifacts and temporary files
- Documentation and scripts from Docker context
- Test files from codecov analysis
2025-11-19 09:50:08 -05:00
Wikid82
3401757a10 feat: add Dockerfile validation to pre-commit hooks
Added custom Dockerfile validation script that detects mismatches between
base image OS (Debian vs Alpine) and package managers (apt vs apk).

This will catch errors like:
- Using golang:latest (Debian) with apk commands
- Using alpine images with apt commands

The hook runs automatically on commit and would have caught the recent
golang:latest + apk mismatch that caused Docker build failures.
2025-11-19 09:50:08 -05:00
Wikid82
08db82d92a fix: use golang:alpine base image for backend builder
The backend-builder stage was using golang:latest (Debian) but trying to
run Alpine's apk package manager, causing build failures with 'apk: not
found'. Changed to golang:alpine for consistency with the RUN commands.

Fixes Docker build workflow failures in GitHub Actions.
2025-11-19 09:50:07 -05:00
Wikid82
be2b99f7e4 feat: update docker-compose to use GHCR images and fix test failures
- Update docker-compose.yml to use ghcr.io/wikid82/caddyproxymanagerplus:latest
- Update docker-compose.dev.yml to use ghcr.io/wikid82/caddyproxymanagerplus:dev
- Fix backend test database isolation (remove shared cache mode)
- Add testConnection and enabledServers to useRemoteServers hook
- Fix frontend test assertions to wait for async state updates
- Wrap mutation assertions in waitFor for proper async handling

Backend tests:  ALL PASSING (22 tests)
Frontend tests: ⚠️ 45/49 passing (4 useImport tests need mock refinement)
2025-11-19 09:50:07 -05:00
Wikid82
e6f8b15e05 fix: remove duplicate type declarations and update package-lock
- Remove duplicate CaddyConfig in proxy_host.go (exists in caddy_config.go)
- Remove duplicate HealthHandler in proxy_host_handler.go
- Fix version variable names in health_handler.go (SemVer→Version, BuildDate→BuildTime)
- Update frontend package-lock.json to sync with package.json dependencies
- Backend now compiles successfully (1 test fails but will be fixed later)
2025-11-19 09:50:06 -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
9bd1604386 fix: exclude generated frontend files from pre-commit hooks
Generated files (coverage/, dist/, .vite/, *.tsbuildinfo) should not be
checked by trailing-whitespace or end-of-file-fixer hooks.
2025-11-19 09:48:37 -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
b570e4c025 docs: simplify GitHub setup guide - no manual token needed
GitHub Actions automatically provides GITHUB_TOKEN with correct permissions
for GHCR, so users don't need to create PATs anymore.
2025-11-19 09:48:36 -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]
54fcc18ae1 chore(deps): update dependency black to >=24.10.0 2025-11-19 09:45:43 -05:00
renovate[bot]
5a600ac846 chore(deps): update dependency httpx to >=0.28.1 2025-11-19 09:45:42 -05:00
Jeremy
8bb7cbbf89 Merge pull request #84 from Wikid82/renovate/bandit-1.x
chore(deps): update dependency bandit to >=1.9.1
2025-11-19 09:13:04 -05:00
Jeremy
4280a7ddf5 Merge pull request #83 from Wikid82/renovate/alembic-1.x
chore(deps): update dependency alembic to >=1.17.2
2025-11-19 09:12:48 -05:00
Jeremy
9323ef2d15 Merge pull request #82 from Wikid82/renovate/actions-add-to-project-0.x
chore(deps): update actions/add-to-project action to v0.6.1
2025-11-19 09:12:33 -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
Jeremy
49464e7538 Merge pull request #81 from Wikid82/renovate/pin-dependencies
chore(deps): pin dependencies
2025-11-19 09:11:48 -05:00
renovate[bot]
a030545bfb chore(deps): update dependency alembic to >=1.17.2 2025-11-19 14:04:43 +00:00
renovate[bot]
bac3e8126c chore(deps): pin dependencies 2025-11-19 14:02:16 +00:00