Commit Graph

116 Commits

Author SHA1 Message Date
Haitao Pan
19ab008c30 deployment with GitHub Actions, Stunnel for TLS database connections, and dynamic configuration injection. 2026-01-20 21:05:30 +08:00
4b83e483c8 Add XControl image readiness check workflow (#778) 2025-12-12 16:05:50 +08:00
7a83d195ae Fix xcontrol-init build context in workflow (#776) 2025-12-12 15:07:55 +08:00
c55dcb7f64 Adjust xcontrol-init build context (#775) 2025-12-12 14:58:39 +08:00
Haitao Pan
fa8d4b3e73 feat: add Dockerfile for XControl Init service 2025-12-11 16:09:19 +08:00
Haitao Pan
61cd126fe8 chore(ci): update default Docker Hub namespace to "cloudneutral" 2025-12-08 17:18:45 +08:00
Haitao Pan
1f7c14cbe9 refactor(ci): simplify DockerHub push logic to always publish using 'latest' tag 2025-12-06 23:11:09 +08:00
Haitao Pan
183fe971c4 fix(ci): add fallback to 'latest' when TAG_NAMES is empty in DockerHub push logic 2025-12-06 23:00:57 +08:00
Haitao Pan
56308f75cc ci: unify DockerHub retag/push logic across base and service image workflows 2025-12-06 22:50:28 +08:00
Haitao Pan
ec6f66087c build(ci): unify push_images logic and add global PUSH_IMAGES env 2025-12-06 22:31:46 +08:00
Haitao Pan
605720c265 refactor(ci): unify build job names and split security stage for base and service workflows 2025-12-06 22:26:35 +08:00
Haitao Pan
2e3b372559 feat(ci): add Docker Hub namespace support and push steps to base image workflow 2025-12-06 22:11:21 +08:00
Haitao Pan
e6d5a8d5e3 feat(ci): add Docker Hub namespace support and push workflow 2025-12-06 22:03:02 +08:00
Haitao Pan
c176f3bbcf deploy: remove init service and drop unused workspace volume bindings 2025-12-06 21:21:40 +08:00
Haitao Pan
7ab9c496b7 ci: force GHCR images to public; update docker-compose to use postgres-runtime 2025-12-06 20:48:53 +08:00
Haitao Pan
ccb367d558 ci(build-service): switch base images to official Node/Golang for consistent builds
Replaced legacy GHCR base-image fallbacks with the official upstream images:
- node:22-bookworm (builder)
- node:22-slim (runtime)
- golang:1.25 (Go services)
2025-12-06 20:27:09 +08:00
Haitao Pan
89f3c5006a chore(ci): remove unused Go/Node base images from build matrix 2025-12-06 19:28:53 +08:00
Haitao Pan
faa87a7e2b ci(base-images): fix Trivy scan ref (matrix.service → matrix.image) 2025-12-06 19:03:30 +08:00
Haitao Pan
8fb3da7ed0 ci(service-images): switch default base images to upstream node/go 2025-12-06 18:59:43 +08:00
Haitao Pan
e4ec3aa1e9 ci(base-images): add Trivy vuln scan for built images 2025-12-06 18:52:18 +08:00
Haitao Pan
365af9f9d8 ci(build-service-images): switch base images to public upstream defaults
Replaced internal GHCR base images with upstream Node and Go images
(node:22-bookworm, node:22-slim, golang:1.25) to avoid auth failures
and unblock builds on fresh runners. Downstream logic unchanged.
2025-12-06 16:41:38 +08:00
Haitao Pan
cb291a0868 fix(ci): add checkout step for local actions and rename pipeline to XControl Unified CI/CD Pipeline 2025-12-04 22:15:49 +08:00
Haitao Pan
a4ecb7be6f ci: simplify image fallback logic with non-empty defaults 2025-12-04 21:17:38 +08:00
Haitao Pan
a03be0e1ff ci(build-service-images): add default node/go runtime image values 2025-12-04 21:09:56 +08:00
Haitao Pan
b6ab6f8ded ci(service-images): remove image-ref indirection and simplify build args 2025-12-04 20:58:53 +08:00
Haitao Pan
15a9c9bb69 ci: simplify service image workflow by removing prepare-image-refs indirection 2025-12-04 20:52:03 +08:00
Haitao Pan
0c3b3a612d ci(workflow): rename base-image inputs and simplify service build
Replaces the old *_digest inputs with clearer *_image references that
accept full repo URLs. Cleans up the service matrix and switches the
build step to proper context/file usage. Removes unused base image args
to match current service needs.
2025-12-04 20:42:33 +08:00
a5c30bade1 Adjust workflow build directories (#749) 2025-12-04 20:28:44 +08:00
Haitao Pan
e4869b9ed5 fix(account,ci): adjust image digests and simplify account config handling 2025-12-04 20:21:57 +08:00
Haitao Pan
5f6f8e2b3a ci(pipeline): fix CD job dependency to wait for service image build 2025-12-04 19:54:33 +08:00
789e5eac3d Extract base image preparation script (#748) 2025-12-04 19:48:46 +08:00
5870f573af Update service build workflow inputs (#747) 2025-12-04 16:14:19 +08:00
Haitao Pan
9344c7bf19 chore: workflow tweaks + go-runtime rename + Dockerfile fixes 2025-12-04 15:07:23 +08:00
Haitao Pan
5c92bebc2c merged: go-runtime.Dockerfile & go-builder.Dockerfile -> go-base.Dockerfile 2025-12-04 14:52:33 +08:00
6132704d04 Use default registry for base image workflow (#746) 2025-12-04 14:39:51 +08:00
Haitao Pan
f84a23997c reverted: build-base-images.yml 2025-12-04 14:17:03 +08:00
Haitao Pan
0edcbf5b05 ci(build-base-images): correct workflow name to 'Build Base Images' 2025-12-04 14:09:13 +08:00
Haitao Pan
650b72dd97 ci(build-service-images): remove illegal GITHUB_TOKEN declaration 2025-12-04 14:07:41 +08:00
Haitao Pan
71137e118a ci: rewrite base-image workflow into service-image builder 2025-12-04 14:04:39 +08:00
fa6aae2e1b Fix build-service workflow secrets declaration (#744) 2025-12-04 13:53:38 +08:00
833f7876a5 Fix workflow syntax issues (#743) 2025-12-04 13:43:43 +08:00
01ea6fb0cb Fix workflow secrets inheritance usage (#742) 2025-12-04 13:39:04 +08:00
27a39568a2 Fix pipeline workflow syntax (#741) 2025-12-04 13:33:36 +08:00
Haitao Pan
3ac729e651 ci: replace composite actions with reusable workflows and extract scripts 2025-12-04 13:20:52 +08:00
Haitao Pan
629e5baf17 ci(build): move image build steps out of build action into main pipeline 2025-12-04 11:59:36 +08:00
Haitao Pan
64bba74dd1 ci(pipeline): split CI and CD stages; remove env from CI jobs
CI jobs no longer carry environment vars and depend only on branches.
Deploy remains environment-aware and runs only on workflow_dispatch.
2025-12-04 11:34:29 +08:00
65eb04cb1f Fix workflow environment handling (#739) 2025-12-04 11:10:25 +08:00
Haitao Pan
97389b92a6 ci(pipeline): refactor GitHub Actions to simplify matrix and unify environment control 2025-12-04 11:03:31 +08:00
Haitao Pan
cb2105ade1 ci(pipeline): replace YAML anchors with global matrix env vars
GitHub Actions does not support YAML anchors (`x-matrix`), so the
pipeline has been updated to use JSON-based global matrix variables
(MATRIX_PLATFORM / MATRIX_SERVICE / MATRIX_ENVIRONMENT) and
fromJson() inside each job's strategy.

No logic changed: the 5-stage pipeline (code-quality → build → test
→ security → deploy) keeps the same matrix behaviour with a single
source of truth.
2025-12-04 10:54:50 +08:00
0810d76a0b Refactor CI pipeline with matrix stages (#737) 2025-12-04 10:40:18 +08:00