diff --git a/.github/scripts/tests/test_opentelemetry_conformance_workflow.py b/.github/scripts/tests/test_opentelemetry_conformance_workflow.py index d6c3a6f9..df97b780 100644 --- a/.github/scripts/tests/test_opentelemetry_conformance_workflow.py +++ b/.github/scripts/tests/test_opentelemetry_conformance_workflow.py @@ -4,12 +4,35 @@ WORKFLOW_PATH = ( Path(__file__).parents[2] / "workflows" / "opentelemetry-conformance-tests.yml" ) +ORCHESTRATOR_REVISION = "397d523d01bdf97ff8461ab749ddaa445bbf67ca" def test_opentelemetry_conformance_caller_uses_current_workflow_contract() -> None: workflow = WORKFLOW_PATH.read_text() - assert "otlp_endpoint:" not in workflow + orchestrator = ( + "uses: aws/aws-durable-execution-conformance-tests/.github/workflows/" + f"opentelemetry-orchestrator.yml@{ORCHESTRATOR_REVISION}" + ) + assert orchestrator in workflow + assert "python-opentelemetry.yml@" not in workflow + assert "\n otlp_endpoint:" not in workflow + + for configuration in ( + "language: python", + "resource_prefix: p", + "sdk_repository: aws/aws-durable-execution-sdk-python", + "sdk_ref: ${{ github.event.pull_request.head.sha || github.sha }}", + "conformance_test_ref: ${{ inputs.conformance_test_ref || 'main' }}", + "checkout_sdk: false", + "packages/aws-durable-execution-conformance-tests-otel/" + "tests/test_python_examples.py", + "adot_release_repository: aws-observability/aws-otel-python-instrumentation", + "collector_compatible_runtime: python3.13", + "collector_otlp_endpoint: http://localhost:4318", + "suite_timeout_minutes: 30", + ): + assert configuration in workflow for secret_name in ( "DATADOG_ACCESS_TOKEN", diff --git a/.github/workflows/opentelemetry-conformance-tests.yml b/.github/workflows/opentelemetry-conformance-tests.yml index 3e17a226..449da071 100644 --- a/.github/workflows/opentelemetry-conformance-tests.yml +++ b/.github/workflows/opentelemetry-conformance-tests.yml @@ -48,13 +48,24 @@ jobs: actions: write contents: read id-token: write - uses: aws/aws-durable-execution-conformance-tests/.github/workflows/python-opentelemetry.yml@397d523d01bdf97ff8461ab749ddaa445bbf67ca + uses: aws/aws-durable-execution-conformance-tests/.github/workflows/opentelemetry-orchestrator.yml@397d523d01bdf97ff8461ab749ddaa445bbf67ca with: + language: python + resource_prefix: p + sdk_repository: aws/aws-durable-execution-sdk-python + sdk_ref: ${{ github.event.pull_request.head.sha || github.sha }} + conformance_test_ref: ${{ inputs.conformance_test_ref || 'main' }} + checkout_sdk: false + contract_test_command: >- + hatch run test:all + packages/aws-durable-execution-conformance-tests-otel/tests/test_python_examples.py + adot_release_repository: aws-observability/aws-otel-python-instrumentation + collector_compatible_runtime: python3.13 + collector_otlp_endpoint: http://localhost:4318 + suite_timeout_minutes: 30 phase: ${{ inputs.phase || 'short' }} delay_seconds: ${{ inputs.delay_seconds || '82800' }} aws_region: ${{ inputs.aws_region || 'us-west-2' }} - conformance_test_ref: ${{ inputs.conformance_test_ref || 'main' }} - python_sdk_ref: ${{ github.event.pull_request.head.sha || github.sha }} secrets: CONFORMANCE_TEST_ROLE_ARN: ${{ secrets.TEST_ROLE_ARN }} CONFORMANCE_TEST_ACCOUNT_ID: ${{ secrets.TEST_ACCOUNT_ID }}