[release] AntChainTrustSDK v1.1.0 - #1
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR strengthens AntChainTrustSDK’s lifecycle concurrency controls, improves synchronization error handling in core/queue primitives, and formalizes test labeling/reporting to support clearer CI quality gates.
Changes:
- Add a process-wide lifecycle gate in the adapter layer and use it to serialize core API init/deinit and job submission.
- Refine queue/job-queue semantics to preserve adapter timeout/would-block errors and make rollback safer around semaphore posting.
- Expand CTest label taxonomy, update test labels, add a CTest label-time summarizer, and introduce a Linux quality GitHub Actions workflow.
Reviewed changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/ctest_summary.awk | New AWK script to summarize CTest label counts/times from logs. |
| tests/README.md | Document expanded CTest label taxonomy and CI gate behavior. |
| tests/core/core_unit_test.c | Add concurrency and job-queue error-preservation unit tests. |
| tests/core/CMakeLists.txt | Tag core smoke tests with integration/aws/pki labels. |
| tests/components/tls/CMakeLists.txt | Tag TLS smoke tests with integration/aws/pki labels. |
| tests/components/queue/queue_unit_test.c | Add timeout-path tests for queue push/pop. |
| tests/components/ntp/CMakeLists.txt | Label NTP smoke test as network-dependent. |
| tests/components/mqtt/CMakeLists.txt | Tag MQTT smoke tests with integration/aws/pki labels. |
| tests/components/cloud/CMakeLists.txt | Tag cloud smoke tests with integration/aws/pki labels. |
| tests/common/actrust_test.h | Harden test file loader (zeroing, truncation detection). |
| tests/common/actrust_test_unit_test.c | New unit tests for actrust_test_load_file(). |
| tests/CMakeLists.txt | Add shared helper unit test target and label guidance. |
| tests/adapter/system_unit_test.c | Add lifecycle gate tests for serialization/reuse. |
| tests/adapter/network_smoke_test.c | Convert external-network failures to Unity skips. |
| tests/adapter/CMakeLists.txt | Label network adapter smoke test as network-dependent. |
| source/core/source/core_job.c | Adjust enqueue/dequeue error handling and ordering. |
| source/core/source/core_api.c | Introduce lifecycle-gated job submission and harden init/deinit admission. |
| source/core/include/core/core_job.h | Update job-queue API docs to reflect expanded error returns. |
| source/components/queue/source/queue.c | Preserve adapter timeout/would-block errors and make semaphore posting rollback-safe. |
| source/components/queue/include/queue/queue.h | Update queue API docs to reflect timeout and adapter error returns. |
| source/components/mqtt/source/mqtt.c | Add NULL guard in mqtt_set_state(). |
| source/adapter/platform/simcom/a7606e/system.c | Implement lifecycle gate using a process-wide pthread mutex. |
| source/adapter/platform/simcom/a7606e/CMakeLists.txt | Fail-fast on missing SIMCom dependencies. |
| source/adapter/platform/linux/system.c | Implement lifecycle gate using a process-wide pthread mutex. |
| source/adapter/platform/android/system.c | Implement lifecycle gate using a process-wide pthread mutex. |
| source/adapter/include/adapter/system.h | Declare and document lifecycle gate API. |
| CMakeLists.txt | Require generated config files and cache a build-platform marker. |
| cmake/toolchain-simcom-a7606e.cmake | Add stronger SIMCom toolchain/sysroot validation. |
| build.sh | Add platform/config validation, cache marker enforcement, and test reports. |
| 3rdparts/CMakeLists.txt | Add submodule presence checks before adding third-party deps. |
| .github/workflows/linux-quality.yml | New Linux quality workflow (format, doxygen, tests, sanitizers). |
Suppressed comments (1)
build.sh:200
validate_platform_config()also has no explicit success return. When the platform config is valid, the trailingifcondition evaluates false and the function returns a non-zero status, causing the laterif ! validate_platform_config ...check to fail even for correct configs. Addreturn 0on the success path.
if [[ $(config_enabled_platform_count) -ne 1 ]] ||
! config_enabled "$expected_symbol" ||
[[ $(config_cmake_enabled_platform_count) -ne 1 ]] ||
! config_cmake_enabled "$expected_symbol"; then
log_error "Configuration platform mismatch for '$platform'"
log_error "Expected only $expected_symbol=y in $CONFIG_FILE"
log_error "Expected only set($expected_symbol ON) in $CONFIG_CMAKE"
return 1
fi
}
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Charles-Zhong <98209000+Charles-Zhong@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.