diff --git a/.github/workflows/otel-conformance-tests.yml b/.github/workflows/otel-conformance-tests.yml index 280dd2d41..96afa4848 100644 --- a/.github/workflows/otel-conformance-tests.yml +++ b/.github/workflows/otel-conformance-tests.yml @@ -49,6 +49,7 @@ on: conformance_test_ref: description: Optional conformance test commit SHA or branch name required: false + default: "05960beb6c81d7b24b53114f2581b3b6f9fef6d4" type: string permissions: {} @@ -70,13 +71,13 @@ jobs: id-token: write uses: aws/aws-durable-execution-conformance-tests/.github/workflows/opentelemetry-orchestrator.yml@d8b8399264628dae57b7a96bf4cbf3e39a99fd8d with: - case_count: 20 + case_count: 26 runs_on: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository && 'ubuntu-latest' || format('codebuild-github-actions-runner-{0}-{1}', github.run_id, github.run_attempt) }} language: java resource_prefix: j sdk_repository: aws/aws-durable-execution-sdk-java sdk_ref: ${{ github.event.pull_request.head.sha || github.sha }} - conformance_test_ref: ${{ inputs.conformance_test_ref || '02d6dca971a38c13d94d6233d12f687e55b2a572' }} + conformance_test_ref: ${{ inputs.conformance_test_ref || '05960beb6c81d7b24b53114f2581b3b6f9fef6d4' }} checkout_sdk: true # Build the handlers from this repo's checked-out module instead of the conformance repo's # bundled examples/java. Path is relative to the conformance workspace where the SDK is diff --git a/conformance-tests-otel/README.md b/conformance-tests-otel/README.md new file mode 100644 index 000000000..ad2e300af --- /dev/null +++ b/conformance-tests-otel/README.md @@ -0,0 +1,86 @@ +# Java OpenTelemetry conformance handlers + +The shared conformance repository owns the requirements and validators. This +module supplies public-API handlers and SAM resources for both tracing views. +Existing cases 1–20 and their resources are unchanged by the additions below. + +| Case | Scenario | Behavior | +| --- | --- | --- | +| 21 | `completed-step-replay` | Complete a step, suspend on a one-second durable wait, then complete another step. The first step body is skipped on replay. | +| 22 | `user-function-context` | Probe handler entry/restoration/resume, step, child, concurrent parallel branches and map iterations, and their nested steps. | +| 23 | `callback-function-context` | Probe step retry attempts, condition checks, callback submission, a wrapped retry helper's body and strategy, and a virtual child after the asynchronous work finishes. | +| 24 | `invocation-retry-status` | Throw the public retryable execution exception after a checkpointed step, then recover on replay. | +| 25 | `caught-callback-failure-replay` | Catch the expected public callback failure, checkpoint `caught`, then resume through two typed String callback barriers and return `caught/one/two`. The failed leaf stays `ERROR` without an exception event. | +| 26 | `external-callback-completion-replay` | Observe a root callback completion, checkpoint its result, then revisit it through two later callback barriers without duplicate terminal export. | + +Cases 22 and 23 require a valid active `SpanContext` and create/end ordinary +`conformance.