Skip to content

Commit

Permalink
Drop support for 3.7 and fix tests (#356)
Browse files Browse the repository at this point in the history
  • Loading branch information
kezhenxu94 authored Nov 5, 2024
1 parent 1ce6910 commit ff1f6a2
Show file tree
Hide file tree
Showing 16 changed files with 1,658 additions and 1,422 deletions.
19 changes: 14 additions & 5 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix: # may support pypy in the future
python-version: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
python-version: [ "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
fail-fast: false
env:
BASE_PYTHON_IMAGE: ${{ matrix.python-version }}
Expand Down Expand Up @@ -157,7 +157,7 @@ jobs:
timeout-minutes: 20
strategy:
matrix:
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
python-version: [ "3.8", "3.9", "3.10", "3.11" ]
test-path: ${{fromJson(needs.prep-plugin-and-unit-tests.outputs.matrix)}}
fail-fast: false
env:
Expand All @@ -167,6 +167,15 @@ jobs:
uses: actions/checkout@v3
with:
submodules: true
- name: Install docker-compose
shell: bash
if: runner.os != 'Windows'
run: |
if ! command docker-compose 2>&1 > /dev/null; then
echo "Installing docker-compose"
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
- name: Pull SkyWalking Python agent base image
uses: actions/download-artifact@v3
with:
Expand Down Expand Up @@ -195,7 +204,7 @@ jobs:
timeout-minutes: 10
strategy:
matrix:
python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
python-image-variant: [ "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
fail-fast: false
env:
BASE_PYTHON_IMAGE: ${{ matrix.python-image-variant }}
Expand Down Expand Up @@ -226,7 +235,7 @@ jobs:
timeout-minutes: 20
strategy:
matrix:
python-image-variant: [ "3.7-slim", "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
python-image-variant: [ "3.8-slim", "3.9-slim", "3.10-slim", "3.11-slim" ]
case:
- name: gRPC-single-process
path: tests/e2e/case/grpc/single/e2e.yaml
Expand Down Expand Up @@ -264,7 +273,7 @@ jobs:
- name: Load docker images
run: find docker-images -name "*.tar" -exec docker load -i {} \;
- name: Run E2E Tests
uses: apache/skywalking-infra-e2e@2f20482135ba3a933bc0bb48c41f538ad1aa3048
uses: apache/skywalking-infra-e2e@cf589b4a0b9f8e6f436f78e9cfd94a1ee5494180
with:
log-dir: /tmp/e2e-logs
e2e-file: ${{ matrix.case.path }}
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ license: clean
.PHONY: test
test: env
sudo apt-get -y install jq
docker build --build-arg BASE_PYTHON_IMAGE=3.7-slim -t apache/skywalking-python-agent:latest-plugin --no-cache . -f tests/plugin/Dockerfile.plugin
docker build --build-arg BASE_PYTHON_IMAGE=3.8-slim -t apache/skywalking-python-agent:latest-plugin --no-cache . -f tests/plugin/Dockerfile.plugin
poetry run pytest -v $(bash tests/gather_test_paths.sh)

.PHONY: package
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

## Installation Requirements

SkyWalking Python Agent requires [Apache SkyWalking 8.0+](https://skywalking.apache.org/downloads/#SkyWalkingAPM) and Python 3.7+.
SkyWalking Python Agent requires [Apache SkyWalking 8.0+](https://skywalking.apache.org/downloads/#SkyWalkingAPM) and Python 3.8+.

> If you would like to try out the latest features that are not released yet, please refer to this [guide](docs/en/setup/faq/How-to-build-from-sources.md) to build from sources.
Expand Down
8 changes: 1 addition & 7 deletions docker/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,36 +21,30 @@ D := docker

P := grpc http kafka

TARGETS := py3.7 py3.8 py3.9 py3.10 py3.7-slim py3.8-slim py3.9-slim py3.10-slim
TARGETS := py3.8 py3.9 py3.10 py3.8-slim py3.9-slim py3.10-slim

py3.7: BASE_PYTHON_IMAGE = python:3.7
py3.8: BASE_PYTHON_IMAGE = python:3.8
py3.9: BASE_PYTHON_IMAGE = python:3.9
py3.10: BASE_PYTHON_IMAGE = python:3.10
py3.11: BASE_PYTHON_IMAGE = python:3.11
py3.7-slim: BASE_PYTHON_IMAGE = python:3.7-slim
py3.8-slim: BASE_PYTHON_IMAGE = python:3.8-slim
py3.9-slim: BASE_PYTHON_IMAGE = python:3.9-slim
py3.10-slim: BASE_PYTHON_IMAGE = python:3.10-slim
py3.11-slim: BASE_PYTHON_IMAGE = python:3.11-slim

push-py3.7: BASE_PYTHON_IMAGE = python:3.7
push-py3.8: BASE_PYTHON_IMAGE = python:3.8
push-py3.9: BASE_PYTHON_IMAGE = python:3.9
push-py3.10: BASE_PYTHON_IMAGE = python:3.10
push-py3.11: BASE_PYTHON_IMAGE = python:3.11
push-py3.7-slim: BASE_PYTHON_IMAGE = python:3.7-slim
push-py3.8-slim: BASE_PYTHON_IMAGE = python:3.8-slim
push-py3.9-slim: BASE_PYTHON_IMAGE = python:3.9-slim
push-py3.10-slim: BASE_PYTHON_IMAGE = python:3.10-slim
push-py3.11-slim: BASE_PYTHON_IMAGE = python:3.11-slim

push-py3.7: BUILDER_PYTHON_IMAGE = python:3.7
push-py3.8: BUILDER_PYTHON_IMAGE = python:3.8
push-py3.9: BUILDER_PYTHON_IMAGE = python:3.9
push-py3.10: BUILDER_PYTHON_IMAGE = python:3.10
push-py3.11: BUILDER_PYTHON_IMAGE = python:3.11
push-py3.7-slim: BUILDER_PYTHON_IMAGE = python:3.7
push-py3.8-slim: BUILDER_PYTHON_IMAGE = python:3.8
push-py3.9-slim: BUILDER_PYTHON_IMAGE = python:3.9
push-py3.10-slim: BUILDER_PYTHON_IMAGE = python:3.10
Expand Down
4 changes: 2 additions & 2 deletions docs/en/contribution/Developer.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Once you have `make` ready, run `make env`, this will automatically install the
Note: Make sure you have `python3` aliased to `python` available on Windows computers instead of pointing to the Microsoft app store.

### Switching between Multiple Python Versions
Do not develop/test on Python < 3.7, since Poetry and some other functionalities we implement rely on Python 3.7+
Do not develop/test on Python < 3.8, since Poetry and some other functionalities we implement rely on Python 3.8+

If you would like to test on multiple Python versions, run the following to switch and recreate virtual environment:
#### Without Python Version Tools
Expand All @@ -48,4 +48,4 @@ Or try: `virtualenvs.prefer-active-python`, which is an experimental poetry feat
automatically follow environment.

# Next
Refer to the [Plugin Development Guide](How-to-develop-plugin.md) to learn how to build a new plugin for a library.
Refer to the [Plugin Development Guide](How-to-develop-plugin.md) to learn how to build a new plugin for a library.
2 changes: 1 addition & 1 deletion docs/en/setup/Container.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
source**

This image hosts the SkyWalking Python agent package on top of official Python base images (full & slim) providing support from
Python 3.7 - 3.11.
Python 3.8 - 3.11.

## How to use this image

Expand Down
2 changes: 1 addition & 1 deletion docs/en/setup/Installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Installation

**SkyWalking Python agent requires SkyWalking 8.0+ and Python 3.7+**
**SkyWalking Python agent requires SkyWalking 8.0+ and Python 3.8+**

You can install the SkyWalking Python agent via various ways described next.

Expand Down
2 changes: 1 addition & 1 deletion docs/en/setup/Plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)
### Plugin Support Table
| Library | Python Version - Lib Version | Plugin Name |
| :--- | :--- | :--- |
| [aiohttp](https://docs.aiohttp.org) | Python >=3.7 - ['3.7.*']; | `sw_aiohttp` |
| [aiohttp](https://docs.aiohttp.org) | Python >=3.8 - NOT SUPPORTED YET; | `sw_aiohttp` |
| [aioredis](https://aioredis.readthedocs.io/) | Python >=3.7 - ['2.0.*']; | `sw_aioredis` |
| [aiormq](https://pypi.org/project/aiormq/) | Python >=3.7 - ['6.3', '6.4']; | `sw_aiormq` |
| [amqp](https://pypi.org/project/amqp/) | Python >=3.7 - ['2.6.1']; | `sw_amqp` |
Expand Down
2 changes: 1 addition & 1 deletion docs/en/setup/faq/How-to-build-from-sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**Download the source tar from the [official website](http://skywalking.apache.org/downloads/),
and run the following commands to build from source**

**Make sure you have Python 3.7+ and the `python3` command available**
**Make sure you have Python 3.8+ and the `python3` command available**

```shell
$ tar -zxf skywalking-python-src-<version>.tgz
Expand Down
Loading

0 comments on commit ff1f6a2

Please sign in to comment.