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>
This commit is contained in:
Anael Mobilia
2025-12-01 16:02:47 +01:00
committed by GitHub
parent 55dbf8e3db
commit a51f945305
4 changed files with 38 additions and 22 deletions

View File

@@ -24,11 +24,11 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v5
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v3 uses: docker/metadata-action@v5
with: with:
images: | images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
@@ -40,16 +40,14 @@ jobs:
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
- name: Log in to the Container registry - name: Log in to the Container registry
# https://github.com/docker/login-action/releases/tag/v2.0.0 uses: docker/login-action@v3
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b
with: with:
registry: ${{ env.REGISTRY }} registry: ${{ env.REGISTRY }}
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image - name: Build and push Docker image
# https://github.com/docker/build-push-action/releases/tag/v3.0.0 uses: docker/build-push-action@v6
uses: docker/build-push-action@e551b19e49efd4e98792db7592c17c09b89db8d8
with: with:
context: . context: .
push: ${{ github.event_name == 'release' }} push: ${{ github.event_name == 'release' }}

View File

@@ -15,7 +15,7 @@ jobs:
services: services:
elasticsearch: elasticsearch:
image: elasticsearch:8.18.2 image: elasticsearch:8.19.7
env: env:
discovery.type: single-node discovery.type: single-node
cluster.name: parsedmarc-cluster cluster.name: parsedmarc-cluster
@@ -30,18 +30,19 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: 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: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install system dependencies - name: Install system dependencies
run: | run: |
sudo apt-get update sudo apt-get -q update
sudo apt-get install -y libemail-outlook-message-perl sudo apt-get -qy install libemail-outlook-message-perl
- name: Install Python dependencies - name: Install Python dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
@@ -65,6 +66,6 @@ jobs:
run: | run: |
hatch build hatch build
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v4 uses: codecov/codecov-action@v5
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -23,11 +23,10 @@ ProofPoint Email Fraud Defense, and Valimail.
## Help Wanted ## Help Wanted
This project is maintained by one developer. Please consider This project is maintained by one developer. Please consider reviewing the open
reviewing the open [issues](https://github.com/domainaware/parsedmarc/issues) to see how you can
[issues](https://github.com/domainaware/parsedmarc/issues) to see how contribute code, documentation, or user support. Assistance on the pinned
you can contribute code, documentation, or user support. Assistance on issues would be particularly helpful.
the pinned issues would be particularly helpful.
Thanks to all Thanks to all
[contributors](https://github.com/domainaware/parsedmarc/graphs/contributors)! [contributors](https://github.com/domainaware/parsedmarc/graphs/contributors)!
@@ -42,6 +41,24 @@ Thanks to all
- Consistent data structures - Consistent data structures
- Simple JSON and/or CSV output - Simple JSON and/or CSV output
- Optionally email the results - Optionally email the results
- Optionally send the results to Elasticsearch, Opensearch, and/or Splunk, for use - Optionally send the results to Elasticsearch, Opensearch, and/or Splunk, for
with premade dashboards use with premade dashboards
- Optionally send reports to Apache Kafka - 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 |

View File

@@ -1,6 +1,6 @@
services: services:
elasticsearch: elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.3.1 image: docker.elastic.co/elasticsearch/elasticsearch:8.19.7
environment: environment:
- network.host=127.0.0.1 - network.host=127.0.0.1
- http.host=0.0.0.0 - http.host=0.0.0.0
@@ -28,7 +28,7 @@ services:
retries: 24 retries: 24
opensearch: opensearch:
image: opensearchproject/opensearch:2.18.0 image: opensearchproject/opensearch:2
environment: environment:
- network.host=127.0.0.1 - network.host=127.0.0.1
- http.host=0.0.0.0 - http.host=0.0.0.0