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.
The repository has default CodeQL enabled in GitHub settings, which
conflicts with an advanced configuration workflow and causes SARIF
upload failures.
Enhanced the Docker CI workflow by including an example usage line in the output, demonstrating how to pull a Docker image from the registry. This addition improves clarity and usability for users interacting with the generated documentation.
Enhanced the Docker CI workflow by introducing a step to generate release notes. This includes collecting changes since the last tag, listing Docker images for both Docker Hub and Aliyun Container Registry, and providing usage instructions. The release notes are then used to create a GitHub release, improving documentation and visibility for each release.
Added multiple steps to print workflow, Java, cache, service configuration, and build information during the Docker CI process. Included a final summary of the services built and pushed to registries, improving visibility and traceability of the CI pipeline.
This change aligns the CI workflow with the current development branch naming convention, ensuring that the Docker image is built and pushed for development tags.
Add Logstash Logback dependency to enable JSON logging and update the logback.xml configuration to include a JSON encoder. Also, update the CI workflow to cache Maven packages and improve build performance by disabling transfer progress.
The Dockerfile paths in the CI workflow were updated to use the correct service-specific paths instead of the default `./Dockerfile`. This ensures that the correct Dockerfile is used for each service during the build process, avoiding potential errors in multi-service builds.
Removed TDEngine-related files, configurations, and dependencies to streamline the codebase and improve maintainability. This includes deleting TDEngine-specific classes, YAML files, Mapper XML, and removing TDEngine references from the POM files and constant classes. Additionally, updated the Docker CI workflow to ensure consistency.
This commit simplifies the COPY paths in multiple Dockerfiles to use a more consistent and concise format. Additionally, it fixes a typo in the CI workflow and updates the context paths for Docker builds to ensure proper execution.
The commit corrects the variable reference from `steps.version.outputs.varsiables.version` to `steps.varsiables.outputs.version` in the Docker image tagging process. This ensures the correct version is used for tagging images across all services.
Update the JDK setup step to use `actions/setup-java@v4` with the Liberica distribution. Fix the version variable references in docker image tags to correctly use `steps.version.outputs.varsiables.version` instead of `steps.version.outputs.varsiables`.
The build cache configuration (`cache-from` and `cache-to`) has been removed to simplify the Docker build process and reduce dependency on external cache registries. This change aims to streamline the CI workflow and improve build reliability.
Reordered environment variable assignments for better readability and replaced Maven cache step with JDK 21 setup to ensure compatibility with the latest Java version.