mirror of
https://github.com/domainaware/parsedmarc.git
synced 2026-02-17 07:03:58 +00:00
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:
10
.github/workflows/docker.yml
vendored
10
.github/workflows/docker.yml
vendored
@@ -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' }}
|
||||||
|
|||||||
15
.github/workflows/python-tests.yml
vendored
15
.github/workflows/python-tests.yml
vendored
@@ -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 }}
|
||||||
|
|||||||
31
README.md
31
README.md
@@ -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 |
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user