Commit Graph

472 Commits

Author SHA1 Message Date
GitHub Actions
add4e8e8a5 chore: fix CI/CD workflow linter config and documentation
Linter Configuration Updates:

Add version: 2 to .golangci.yml for golangci-lint v2 compatibility
Scope errcheck exclusions to test files only via path-based rules
Maintain production code error checking while allowing test flexibility
CI/CD Documentation:

Fix CodeQL action version comment in security-pr.yml (v3.28.10 → v4)
Create workflow modularization specification (docs/plans/workflow_modularization_spec.md)
Document GitHub environment protection setup for releases
Verification:

Validated linter runs successfully with properly scoped rules
Confirmed all three workflows (playwright, security-pr, supply-chain-pr) are properly modularized
2026-01-15 20:35:43 +00:00
GitHub Actions
21d6b71d8f fix(ci): remove environment configuration from goreleaser job 2026-01-15 19:49:20 +00:00
GitHub Actions
753b694dbd fix(ci): skip SBOM/Trivy in docker-build for feature branch pushes 2026-01-15 19:44:52 +00:00
GitHub Actions
cd0385d770 fix(ci): load docker image locally for feature branch pushes
Feature branch pushes were failing to save artifacts because the image
was pushed to GHCR but not loaded locally. Multi-platform builds
cannot use load:true, so feature branch pushes now build single-platform.
2026-01-15 16:50:46 +00:00
Jeremy
3b9502ebc5 Merge pull request #539 from Wikid82/renovate/feature/beta-release-github-codeql-action-4.x
chore(deps): update github/codeql-action action to v4 (feature/beta-release)
2026-01-15 11:49:32 -05:00
Jeremy
14f8d0f91b Merge branch 'feature/beta-release' into renovate/feature/beta-release-node-24.x 2026-01-15 11:48:49 -05:00
Jeremy
6cf7aecec3 Merge pull request #537 from Wikid82/renovate/feature/beta-release-node-22.x
chore(deps): update dependency node to v22 (feature/beta-release)
2026-01-15 11:48:18 -05:00
Jeremy
1f51bd718f Merge branch 'feature/beta-release' into renovate/feature/beta-release-anchore-scan-action-7.x 2026-01-15 11:47:46 -05:00
Jeremy
30e5cc8e98 Merge branch 'feature/beta-release' into renovate/feature/beta-release-anchore-scan-action-6.x 2026-01-15 11:47:07 -05:00
Jeremy
2b94cd99fd Merge pull request #534 from Wikid82/renovate/feature/beta-release-anchore-scan-action-5.x
chore(deps): update anchore/scan-action action to v5 (feature/beta-release)
2026-01-15 11:46:43 -05:00
Jeremy
ae33cffb1a Merge branch 'feature/beta-release' into renovate/feature/beta-release-actions-setup-node-6.x 2026-01-15 11:46:08 -05:00
Jeremy
6f8d345e5b Merge branch 'feature/beta-release' into renovate/feature/beta-release-actions-setup-node-5.x 2026-01-15 11:45:11 -05:00
Jeremy
6447901820 Merge pull request #531 from Wikid82/renovate/feature/beta-release-actions-setup-go-6.x
chore(deps): update actions/setup-go action to v6 (feature/beta-release)
2026-01-15 11:44:38 -05:00
renovate[bot]
b27134dacc chore(deps): update actions/download-artifact action to v7 2026-01-15 16:43:26 +00:00
Jeremy
ef1f10b082 Merge pull request #528 from Wikid82/renovate/feature/beta-release-major-5-github-artifact-actions
chore(deps): update actions/download-artifact action to v5 (feature/beta-release)
2026-01-15 11:41:57 -05:00
renovate[bot]
29e577b976 chore(deps): update github/codeql-action action to v4 2026-01-15 16:40:59 +00:00
renovate[bot]
c6064f9bc0 chore(deps): update dependency node to v24 2026-01-15 16:40:53 +00:00
renovate[bot]
04b76329c4 chore(deps): update dependency node to v22 2026-01-15 16:40:48 +00:00
renovate[bot]
08bebd5f6f chore(deps): update actions/setup-node action to v6 2026-01-15 16:40:41 +00:00
renovate[bot]
3e50b26a1f chore(deps): update actions/setup-node action to v5 2026-01-15 16:40:35 +00:00
renovate[bot]
1497336d11 chore(deps): update actions/setup-go action to v6 2026-01-15 16:40:29 +00:00
renovate[bot]
79a5f27272 chore(deps): update actions/download-artifact action to v5 2026-01-15 16:40:10 +00:00
renovate[bot]
d31a5fd3b8 chore(deps): update actions/checkout action to v6 2026-01-15 16:40:03 +00:00
renovate[bot]
e1c6c6dcf9 chore(deps): update anchore/scan-action action to v7 2026-01-15 16:35:55 +00:00
renovate[bot]
028233f378 chore(deps): update anchore/scan-action action to v6 2026-01-15 16:35:48 +00:00
renovate[bot]
e9648ca058 chore(deps): update anchore/scan-action action to v5 2026-01-15 16:35:41 +00:00
renovate[bot]
7a55cb0be9 fix(deps): update weekly-non-major-updates 2026-01-15 16:34:35 +00:00
GitHub Actions
07796bf610 fix(ci): enable workflow_run triggers for all push branches
Update branch triggers and downstream workflow logic to support all
branches defined in docker-build.yml (main, development, feature/**).

Changes:

docker-build.yml: Expand branch glob to feature/**, use branch-based tags
playwright.yml: Replace is_beta_push with generic is_push detection
security-pr.yml: Same branch-agnostic pattern
supply-chain-pr.yml: Same pattern, skip PR comments for push events
The workflows now support any push that triggers docker-build:

main branch → tag: latest
development branch → tag: dev
feature/* branches → tag: {branch-name}
Pull requests → tag: pr-{number}
Dynamic artifact naming:

Push events: push-image (shared across all branches)
Pull requests: pr-image-{number}
This ensures CI/CD pipelines work for stable releases, bug fixes,
and new feature development without hardcoded branch names.
2026-01-15 16:07:40 +00:00
GitHub Actions
3590553519 chore(ci): comprehensive CI/CD audit fixes per best practices
Implements all 13 fixes identified in the CI/CD audit against
github-actions-ci-cd-best-practices.instructions.md

Critical fixes:

Remove hardcoded encryption key from playwright.yml (security)
Fix artifact filename mismatch in supply-chain-pr.yml (bug)
Pin GoReleaser to ~> v2.5 instead of latest (supply chain)
High priority fixes:

Upgrade CodeQL action from v3 to v4 in supply-chain-pr.yml
Add environment protection for release workflow
Fix shell variable escaping ($$ → $) in release-goreleaser.yml
Medium priority fixes:

Add timeout-minutes to playwright.yml (20 min)
Add explicit permissions to quality-checks.yml
Add timeout-minutes to codecov-upload.yml jobs (15 min)
Fix benchmark.yml permissions (workflow-level read, job-level write)
Low priority fixes:

Add timeout-minutes to docs.yml jobs (10/5 min)
Add permissions block to docker-lint.yml
Add timeout-minutes to renovate.yml (30 min)
2026-01-15 15:25:58 +00:00
GitHub Actions
0892637164 chore(ci): modularize post-build testing into independent workflows
Separate PR-specific tests from docker-build.yml into dedicated workflows
that trigger via workflow_run. This creates a cleaner CI architecture where:

playwright.yml: E2E tests triggered after docker-build completes
security-pr.yml: Trivy binary scanning for PRs
supply-chain-pr.yml: SBOM generation + Grype vulnerability scanning
2026-01-15 15:00:55 +00:00
GitHub Actions
9b3c7eaeae fix(ci): detect beta-release branch correctly for PR events
The skip condition used github.ref to detect the beta-release branch,
but for PRs github.ref is "refs/pull/N/merge", not the branch name.

Added github.head_ref to env variables for PR branch detection
Updated condition to check both REF and HEAD_REF
This ensures E2E tests run for PRs from feature/beta-release branch
2026-01-15 06:18:35 +00:00
GitHub Actions
19a34201bf fix(ci): use valid 32-byte base64 encryption key for E2E tests
The DNS provider API endpoints were returning 404 in CI because the
encryption service failed to initialize with an invalid key.

Changed CHARON_ENCRYPTION_KEY from plain text to valid base64 string
Key "dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItY2ktMzJieXQ=" decodes to 32 bytes
Without valid encryption key, DNS provider routes don't register
This was causing all dns-provider-types.spec.ts tests to fail
Root cause: AES-256-GCM requires exactly 32 bytes for the key
2026-01-15 06:02:42 +00:00
GitHub Actions
a0314066cd fix: update Renovate token configuration to fallback on GITHUB_TOKEN 2026-01-15 03:24:51 +00:00
GitHub Actions
bb14a5a1e3 fix(tests): change console.error to console.log for login failure messages
feat(tests): update Playwright configuration to include GitHub reporter and adjust base URL handling
2026-01-15 03:19:59 +00:00
GitHub Actions
4adcd9eda1 feat: add nightly branch workflow 2026-01-13 22:11:35 +00:00
Jeremy
3424b7745f Merge pull request #519 from Wikid82/renovate/feature/beta-release-actions-setup-go-6.x
chore(deps): update actions/setup-go action to v6.2.0 (feature/beta-release)
2026-01-13 15:30:15 -05:00
Jeremy
74f32c70ab Merge pull request #518 from Wikid82/renovate/feature/beta-release-actions-setup-go-digest
chore(deps): update actions/setup-go digest to 7a3fe6c (feature/beta-release)
2026-01-13 15:30:00 -05:00
Jeremy
809d40e431 Merge pull request #509 from Wikid82/renovate/feature/beta-release-github-codeql-action-4.x
chore(deps): update github/codeql-action action to v4.31.10 (feature/beta-release)
2026-01-13 15:28:25 -05:00
Jeremy
3157fee8c3 Merge pull request #508 from Wikid82/renovate/feature/beta-release-github-codeql-action-digest
chore(deps): update github/codeql-action digest to cdefb33 (feature/beta-release)
2026-01-13 15:27:21 -05:00
renovate[bot]
e72e864a23 chore(deps): update actions/setup-go action to v6.2.0 2026-01-13 08:59:32 +00:00
renovate[bot]
8ec2c73048 chore(deps): update actions/setup-go digest to 7a3fe6c 2026-01-13 08:59:25 +00:00
renovate[bot]
5a56d4a3ed chore(deps): update github/codeql-action action to v4.31.10 2026-01-12 20:29:11 +00:00
renovate[bot]
39d1db93a5 chore(deps): update github/codeql-action digest to cdefb33 2026-01-12 20:29:07 +00:00
GitHub Actions
4907efc876 fix(ci): remove specific Chromium project reference from Playwright test commands 2026-01-12 20:16:53 +00:00
GitHub Actions
c909525bcf fix(tests): specify Chromium project for Playwright E2E tests 2026-01-12 20:13:09 +00:00
GitHub Actions
b1b7defaae feat(ci): integrate Playwright E2E tests into Docker build workflow 2026-01-12 20:10:16 +00:00
GitHub Actions
4e23a63d8f fix(ci): build Docker image before Playwright tests
- Add Docker image build step before docker compose up
- Optimize Playwright browser installation (chromium only)
- Add frontend dependency installation with logging
- Fixes workflow hanging on missing charon:local image

Previous workflow assumed image existed but CI doesn't pre-build it.
Now builds image from Dockerfile before starting application stack.
2026-01-12 19:55:56 +00:00
GitHub Actions
df5befb840 fix(tests): improve context setup for audit logging in DNS provider service tests
- Updated context key definitions in dns_provider_service_test.go to use string constants instead of custom types for user_id, client_ip, and user_agent.
- Ensured proper context values are set in audit logging tests to avoid defaulting to "system" or empty values.
- Enhanced in-memory SQLite database setup in credential_service_test.go to use WAL mode and busy timeout for better concurrency during tests.
2026-01-12 07:27:00 +00:00
renovate[bot]
9d25ca7f09 chore(deps): update github artifact actions to v6 2026-01-12 06:11:30 +00:00
Jeremy
e4d3acf3c1 Merge branch 'feature/beta-release' into renovate/feature/beta-release-major-5-github-artifact-actions 2026-01-12 01:09:21 -05:00