From a51f9453058ac51d89ed873d77cb694557c315fa Mon Sep 17 00:00:00 2001 From: Anael Mobilia Date: Mon, 1 Dec 2025 16:02:47 +0100 Subject: [PATCH] Clearly define supported Python versions policy (#633) * Clearly define supported Python versions. Support policy based on author's comment on https://github.com/domainaware/parsedmarc/pull/458#issuecomment-2002516299 #458 * Compile Python 3.6 as Ubuntu latest run against Ubuntu 24.04 which haven't Python3.6 + 20.04 is no longer available https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json * Use latest versions of GH Actions * Silent some technicals GH Actions steps * Elasticsearch / opensearch: use supported versions + align used versions * Delete .github/workflows/python-tests-3.6.yml Drop Python 3.6 test * Update Python 3.6 support status in README --------- Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com> --- .github/workflows/docker.yml | 10 ++++------ .github/workflows/python-tests.yml | 15 ++++++++------- README.md | 31 +++++++++++++++++++++++------- docker-compose.yml | 4 ++-- 4 files changed, 38 insertions(+), 22 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 15797ae..4512571 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -24,11 +24,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v5 - name: Docker meta id: meta - uses: docker/metadata-action@v3 + uses: docker/metadata-action@v5 with: images: | ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} @@ -40,16 +40,14 @@ jobs: type=semver,pattern={{major}}.{{minor}} - name: Log in to the Container registry - # https://github.com/docker/login-action/releases/tag/v2.0.0 - uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker image - # https://github.com/docker/build-push-action/releases/tag/v3.0.0 - uses: docker/build-push-action@e551b19e49efd4e98792db7592c17c09b89db8d8 + uses: docker/build-push-action@v6 with: context: . push: ${{ github.event_name == 'release' }} diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index ba3b46c..afbb3ff 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -15,7 +15,7 @@ jobs: services: elasticsearch: - image: elasticsearch:8.18.2 + image: elasticsearch:8.19.7 env: discovery.type: single-node cluster.name: parsedmarc-cluster @@ -30,18 +30,19 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + # Python 3.6 run on a previous Ubuntu + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install system dependencies run: | - sudo apt-get update - sudo apt-get install -y libemail-outlook-message-perl + sudo apt-get -q update + sudo apt-get -qy install libemail-outlook-message-perl - name: Install Python dependencies run: | python -m pip install --upgrade pip @@ -65,6 +66,6 @@ jobs: run: | hatch build - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/README.md b/README.md index 2401ba8..c3867dc 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,10 @@ ProofPoint Email Fraud Defense, and Valimail. ## Help Wanted -This project is maintained by one developer. Please consider -reviewing the open -[issues](https://github.com/domainaware/parsedmarc/issues) to see how -you can contribute code, documentation, or user support. Assistance on -the pinned issues would be particularly helpful. +This project is maintained by one developer. Please consider reviewing the open +[issues](https://github.com/domainaware/parsedmarc/issues) to see how you can +contribute code, documentation, or user support. Assistance on the pinned +issues would be particularly helpful. Thanks to all [contributors](https://github.com/domainaware/parsedmarc/graphs/contributors)! @@ -42,6 +41,24 @@ Thanks to all - Consistent data structures - Simple JSON and/or CSV output - Optionally email the results -- Optionally send the results to Elasticsearch, Opensearch, and/or Splunk, for use - with premade dashboards +- Optionally send the results to Elasticsearch, Opensearch, and/or Splunk, for + use with premade dashboards - Optionally send reports to Apache Kafka + +## Python Compatibility + +This project supports the following Python versions, which are either actively maintained or are the default versions +for RHEL or Debian. + +| Version | Supported | Reason | +|---------|-----------|------------------------------------------------------------| +| < 3.6 | ❌ | End of Life (EOL) | +| 3.6 | ❌ | Not supported by project dependencies | +| 3.7 | ❌ | End of Life (EOL) | +| 3.8 | ❌ | End of Life (EOL) | +| 3.9 | ✅ | Supported until August 2026 (Debian 11); May 2032 (RHEL 9) | +| 3.10 | ✅ | Actively maintained | +| 3.11 | ✅ | Actively maintained; supported until June 2028 (Debian 12) | +| 3.12 | ✅ | Actively maintained; supported until May 2035 (RHEL 10) | +| 3.13 | ✅ | Actively maintained; supported until June 2030 (Debian 13) | +| 3.14 | ✅ | Actively maintained | diff --git a/docker-compose.yml b/docker-compose.yml index 7cf04fb..d60a3f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:8.3.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.19.7 environment: - network.host=127.0.0.1 - http.host=0.0.0.0 @@ -28,7 +28,7 @@ services: retries: 24 opensearch: - image: opensearchproject/opensearch:2.18.0 + image: opensearchproject/opensearch:2 environment: - network.host=127.0.0.1 - http.host=0.0.0.0