Commit Graph
40 Commits
Author SHA1 Message Date
pnoker a32354c602 chore(git): rewrite tag.sh to semver on main with dry-run 2026-06-26 14:26:04 +08:00
Vickey 74feecdaf4 feat(auth): annotate all endpoints with x-dc3-ai and add ratchet annotation gate 2026-06-19 09:05:59 +08:00
pnoker d828b57a03 feat(agentic): annotate all endpoints with x-dc3-ai and add ratchet annotation gate 2026-06-19 08:39:52 +08:00
pnoker 44fa6ac4da feat(data): annotate all endpoints with x-dc3-ai and add ratchet annotation gate 2026-06-19 08:33:08 +08:00
pnoker 04313eb9f8 feat(manager): annotate all endpoints with x-dc3-ai and add ratchet annotation gate 2026-06-19 08:22:07 +08:00
pnoker 12d611d315 feat(registrar): add controller annotation gate and make target 2026-06-19 07:48:42 +08:00
pnoker 35d985e2f3 build: add compose shortcut targets and drop commit-msg lint hook
Generate <op>-<stack>[-<registry>] compose shortcuts and test/coverage
targets in the Makefile, remove the install-hooks target and the
.githooks commit-msg linter, and document the design.
2026-06-18 18:42:20 +08:00
Vickey 88284e4a86 chore(build): trim Makefile targets and phony list
Remove the test/coverage, app/dev, and compose-* alias targets along
with their check-* guards, and drop the matching .PHONY and MVN_SUB
entries. Reorder deploy and install-hooks under the trimmed target set.
2026-06-18 15:45:56 +08:00
pnoker 7a2cc9b8fa chore(compose): streamline environment defaults 2026-06-11 15:04:01 +08:00
Vickey 8a2a87f96c docs(openapi): add API documentation guide, export tooling, and conventions
- Add docs/development/api-documentation.md describing the Swagger UI layout,
  per-center grouping, auth headers, and production exposure.
- Add a `make openapi` target + dc3/bin/export_openapi.sh to snapshot each
  center's OpenAPI JSON from a running stack.
- Update AGENTS.md: OpenAPI/Swagger conventions, and correct the enum-suffix
  examples (multi-valued sets use *TypeEnum, not *FlagEnum).
2026-06-09 15:52:46 +08:00
pnoker b256be7098 fix(build): default MVN_SETTINGS to .mvn/settings.xml and repair test compilation
Makefile now defaults MVN_SETTINGS to .mvn/settings.xml (Aliyun mirror) so
`make package` works without manual settings override. Also fix pre-existing
test compilation errors where service method signatures gained tenantId
parameters but the corresponding test mocks were not updated.

- Makefile: MVN_SETTINGS ?= .mvn/settings.xml
- pom.xml: re-apply dependency version bumps (surefire 3.5.6, jacoco 0.8.15,
  tools.jackson 3.1.4, jaxb 4.0.9, jna 5.19.0, graalvm 1.1.1,
  maven-dependency-plugin 3.11.0)
- Fix 7 test files with missing tenantId parameters in service mock calls
2026-06-07 01:31:09 +08:00
pnoker 5a3ab1440a test: improve backend test coverage governance 2026-05-19 18:19:12 +08:00
pnoker 83ee84773a build: refactor Dockerfile, Makefile and compose files
Parametrize JDK/JRE base images via build args in Dockerfile, replace
hardcoded GC/dump env vars with per-service path variables, fix APM
port. Simplify Makefile registry options to global|cn, add SERVICES
and GROUP selectors for targeted compose operations.
2026-05-17 22:16:30 +08:00
pnoker a9c1908797 build: refine Dockerfile comments and dockerignore scope
Exclude Docker/compose/CI files from builder stage context to avoid
unnecessary cache invalidation. Update Dockerfile comments for
Podman compatibility. Remove package dependency from build target.
2026-05-17 19:18:24 +08:00
pnoker addbeea20b build: update Makefile and Maven settings
Update Makefile help text to reflect consolidated optional compose
stack. Remove Aliyun mirror from Maven settings.
2026-05-17 19:03:33 +08:00
pnoker 9123b480f4 test(e2e): stabilize infrastructure harness 2026-05-14 21:29:08 +08:00
pnoker 1f30422a07 test(public): cover arithmetic, codec, decode, json and key utilities
Add the first batch of unit tests under dc3-common-public covering the
core "stateless function" surface used everywhere else in the platform:

- ArithmeticUtilTest: precise add/subtract/multiply/divide/round across
  BigDecimal/float/double overloads, plus scale-bound rejections and
  division by zero.
- DecodeUtilTest: UTF-8 round-trips, MD5 stability and salting,
  Base64 byte/string round-trips and hex en/decoding.
- HmacAuthSignerTest: enabled/disabled state derivation from the secret,
  hex digest stability, mismatched-payload + mismatched-secret behavior,
  null-payload guards and constant-time verification on length mismatch.
- JsonUtilTest: parseObject/parseArray from String/byte[]/InputStream/
  TypeReference, isJson validation, toJsonString/Bytes round-trip and
  unknown-property tolerance.
- KeyUtilTest: AES and RSA encrypt/decrypt round-trips, JWT signing
  followed by salt/subject/tenant rejection paths.

The Makefile test/test-it/test-e2e/coverage targets get an explicit
-Dmaven.test.skip=false override because .mvn/maven.config sets the
flag globally so `mvn package` does not run tests; without the override
the new targets would silently produce empty reports.

dc3-common-public/pom.xml declares spring-boot-starter-test test-scope.

Verified locally: 77 new test cases run via `make test`, all green.
2026-05-13 14:01:26 +08:00
Vickey efd26c645b ci: add unit, integration and e2e workflows with makefile targets
Wire the test toolchain into developer-facing entry points and CI:

- Makefile gains test, test-it, test-e2e and coverage targets; the help
  banner advertises them alongside the existing build commands so
  contributors do not need to memorise the underlying mvn invocations.
- A new Test workflow runs three sequenced jobs: unit (mvn test, skipping
  the integration phase), integration (mvn verify, skipping unit phase,
  running with TESTCONTAINERS_REUSE_ENABLE=true), and a final coverage
  job that downloads both jacoco .exec artifacts and rebuilds the
  aggregate report from dc3-coverage.
- A new E2E workflow runs make test-e2e on develop/release/main pushes
  and on manual dispatch, with a 90 minute timeout that accommodates
  cold compose start-up plus the full critical path battery.
- The existing CI workflow keeps its fast-fail compile job unchanged so
  PR feedback latency stays low; tests are now owned exclusively by
  the new Test workflow.
2026-05-13 13:08:28 +08:00
pnoker 4b04c4f7da build(git): add commit message validation hook 2026-05-09 21:17:28 +08:00
pnoker 6ba1fed607 feat(release): generate changelog from git commits 2026-05-09 20:44:53 +08:00
pnoker 35685a5987 refactor(container): remove redundant podman scripts 2026-05-09 18:49:52 +08:00
pnoker 8fa1f0c152 refactor(container): deduplicate aliyun compose stacks 2026-05-09 18:49:52 +08:00
pnoker e47299a327 chore: remove format and format-check targets from Makefile 2026-05-07 23:55:32 +08:00
pnoker 19ba57f430 chore(build): add format and format-check targets to Makefile 2026-05-07 16:44:09 +08:00
pnoker ca38651909 feat: add .env file for Docker Compose configuration and update usage instructions 2026-04-21 01:11:59 +08:00
pnoker ea17c86387 chore: update version to 2026.4.19 across all modules and adjust branch settings in codeql.yml 2026-04-19 13:45:21 +08:00
Vickey 64c6f911fe chore: replace Apache-2.0 license headers with AGPL-3.0 in compose files and gateway config 2025-08-26 22:03:42 +08:00
pnoker d85c477ec5 feat: config makefile 2024-06-19 01:14:34 +08:00
pnoker 85d2becd26 refactor: move driver SDK into dc3-common module to simplify dependency configuration 2024-01-03 00:27:33 +08:00
pnoker 721add4497 refactor(auth): extract token controller request/response into dedicated VO classes 2023-09-19 23:25:58 +08:00
pnoker f0703d85a2 chore: update copyright headers across all modules to honor open-source contributors 2023-03-13 23:48:52 +08:00
pnoker c2a15d73e9 chore: reorganize api files into idea/ subdirectory and remove obsolete bin scripts 2023-03-09 02:03:31 +08:00
pnoker d113db8cb1 refactor: migrate base package from com.dc3 to io.github.pnoker 2022-11-18 21:14:54 +08:00
pnoker 206e7e7121 feat: control dev node ip via environment variables and add prod/test compose files 2022-10-23 12:32:56 +08:00
pnoker fb299e4ee2 refactor: restructure feign clients, add driver command client, and reorganize sdk 2022-05-23 00:09:07 +08:00
pnoker 2e3f2c6202 chore: add travis ci config and clean up feign client imports across all api modules 2021-04-11 10:03:27 +08:00
pnoker 1aba2d626b build: add Makefile targets and shell scripts for build, compose, and deploy workflows 2020-12-25 09:27:39 +08:00
pnoker 6f847cb500 feat(auth): add gateway IP restriction and black-ip feature 2020-06-08 17:04:37 +08:00
pnoker 39f8b7fb1e chore: update license headers across all pom.xml and Dockerfile files 2020-01-25 21:57:48 +08:00
pnoker de77c0b277 refactor(common): flatten dto/model packages, rename Response to R, and add Makefile 2020-01-12 12:41:24 +08:00