Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/workflows/application-signals-e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,6 @@ jobs:
# DEFAULT SETTING: {Python Version}, EC2, AMD64, AL2
#

default-py38-amd64:
needs: [ upload-main-build ]
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ec2-default-test.yml@main
secrets: inherit
with:
aws-region: us-east-1
caller-workflow-name: 'main-build'
python-version: '3.8'
cpu-architecture: 'x86_64'
staging-wheel-name: ${{ inputs.staging-wheel-name }}

default-py39-amd64:
needs: [ upload-main-build ]
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ec2-default-test.yml@main
Expand Down Expand Up @@ -106,16 +95,6 @@ jobs:
# DEFAULT SETTING: {Python Version}, EKS, AMD64, AL2
#

eks-py38-amd64:
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-eks-test.yml@main
secrets: inherit
with:
aws-region: us-east-1
test-cluster-name: 'e2e-python-adot-test'
adot-image-name: ${{ inputs.adot-image-name }}
caller-workflow-name: 'main-build'
python-version: '3.8'

eks-py39-amd64:
if: ${{ always() }}
needs: eks-py38-amd64
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Checkout Repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4
Expand Down
14 changes: 1 addition & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,7 @@ ADD aws-opentelemetry-distro/ ./aws-opentelemetry-distro/
# * https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/recover-python-functions.md#troubleshoot-cannot-import-cygrpc
RUN sed -i "/opentelemetry-exporter-otlp-proto-grpc/d" ./aws-opentelemetry-distro/pyproject.toml

# urllib3 recently made a release that drops support for Python 3.8
# Our sdk depends on botocore which pulls in the version of urllib3 based Python runtime it detects.
# The rule is that if current pip command version is > 3.9 botocore will pick up the latest urllib3,
# otherwise it picks up the older urllib3 that is compatible with Python 3.8.
# https://github.com/boto/botocore/blob/develop/requirements-docs.txt
# Since this Dockerfile currently uses the fixed Python 3.11 base image to pull the required dependencies,
# EKS and ECS applications will encounter a runtime error for Python 3.8 compatibility.
# Our fix is to temporarily restrict the urllib3 version to one that works for all supported Python versions
# that we currently commit to support (notably 3.8).
# We also pin the setuptools version for similar issues with the library dropping 3.8 support.
# https://github.com/pypa/setuptools/blame/main/pkg_resources/__init__.py#L24
# TODO: Remove these temporary workarounds once we deprecate Python 3.8 support since it has reached end-of-life.
RUN mkdir workspace && pip install setuptools==75.2.0 urllib3==2.2.3 --target workspace ./aws-opentelemetry-distro
RUN mkdir workspace && pip install --target workspace ./aws-opentelemetry-distro

# Stage 2: Build the cp-utility binary
FROM public.ecr.aws/docker/library/rust:1.82 as builder
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ This project is licensed under the Apache-2.0 License.
## Notices

### Python Version Support
This project ensures compatibility with the following supported Python versions: 3.8, 3.9, 3.10, 3.11, 3.12
This project ensures compatibility with the following supported Python versions: 3.9, 3.10, 3.11, 3.12

### Note on Amazon CloudWatch Application Signals
[Amazon CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html) components are designed to seamlessly work with all library instrumentations offered by [OpenTelemetry Python auto-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/README.md). While upstream OpenTelemetry Python instrumentations are in beta, Application Signals components are stable, production ready and have also been tested for popular libraries/frameworks such as [Django, Boto3, and others](https://github.com/aws-observability/aws-otel-python-instrumentation/tree/main/contract-tests/images/applications). We will prioritize backward compatibility for Application Signals components, striving to ensure that they remain functional even in the face of potential breaking changes introduced by OpenTelemetry upstream libraries. Please [raise an issue](https://github.com/aws-observability/aws-otel-python-instrumentation/blob/main/CONTRIBUTING.md#reporting-bugsfeature-requests) if you notice Application Signals doesn't work for a particular OpenTelemetry supported library.
Expand Down
3 changes: 1 addition & 2 deletions aws-opentelemetry-distro/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ dynamic = ["version"]
description = "AWS OpenTelemetry Python Distro"
readme = "README.rst"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
authors = [
{ name = "Amazon Web Services" },
]
Expand All @@ -18,7 +18,6 @@ classifiers = [
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "botocore-server"
description = "Simple server that relies on botocore library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
2 changes: 1 addition & 1 deletion contract-tests/images/applications/django/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "django-server"
description = "Simple server that relies on django library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "mysql-connector-server"
description = "Simple server that relies on mysql-connector library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "mysqlclient-server"
description = "Simple server that relies on mysqlclient library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "psycopg2-server"
description = "Simple server that relies on psycopg2 library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "pymysql-server"
description = "Simple server that relies on pymysql library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name = "requests-server"
description = "Simple server that relies on requests library"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"
2 changes: 1 addition & 1 deletion contract-tests/images/mock-collector/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "mock-collector"
description = "Mock Collector used by contract tests for AWS OTEL Python Instrumentation"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"

dependencies = [
"grpcio ~= 1.60.0",
Expand Down
4 changes: 2 additions & 2 deletions contract-tests/tests/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "contract-tests"
description = "Contract tests for AWS OTEL Python Instrumentation"
version = "1.0.0"
license = "Apache-2.0"
requires-python = ">=3.8"
requires-python = ">=3.9"

dependencies = [
"opentelemetry-proto==1.25.0",
Expand All @@ -32,4 +32,4 @@ packages = ["test/amazon"]
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
Loading