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
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ jobs:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

# --- SETUP ---
- name: Install Rust toolchain
# Required for the 'clippy' environment and maturin builds
uses: dtolnay/rust-toolchain@stable

- 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 uv and tools
uses: astral-sh/setup-uv@v3
uses: astral-sh/setup-uv@v7

- name: Install tox and plugins
# Install tox and the tox-gh-actions plugin into the base environment
Expand Down Expand Up @@ -90,7 +90,7 @@ jobs:
echo "Benchmark JSON generated: benchmark-results.json"
- name: 📦 Upload Benchmark Artifact
if: matrix.python-version == '3.12' && env.RUN_BENCHMARKS == 'true'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-results
path: benchmark-results.json
Expand All @@ -102,18 +102,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Rust toolchain (for potential extension build)
uses: dtolnay/rust-toolchain@stable

- name: Set up Python 3.11
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Install uv
uses: astral-sh/setup-uv@v3
uses: astral-sh/setup-uv@v7

- name: Install docs dependencies
run: |
Expand All @@ -134,7 +134,7 @@ jobs:
echo "Documentation build warnings detected"; exit 1; fi

- name: Upload built docs artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: site-docs
path: docs/build/html
Expand Down
36 changes: 18 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ jobs:
version_changed: ${{ steps.bump.outputs.version_changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
# Fetch depth 0 needed for full history access for version bump logic
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.12"

Expand Down Expand Up @@ -135,12 +135,12 @@ jobs:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: v${{ needs.version-bump.outputs.new_version }}
- name: Setup QEMU for ARM builds 🖥️
# Enables cross-compilation for aarch64 (ARM) systems like AWS Graviton
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4
with:
platforms: all

Expand All @@ -153,7 +153,7 @@ jobs:
manylinux: auto # Use the best manylinux tag available

- name: Upload Linux Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: linux-wheels-py${{ matrix.python-version }}
path: target/wheels
Expand All @@ -171,13 +171,13 @@ jobs:
python-version: ["3.9", "3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: v${{ needs.version-bump.outputs.new_version }}
- uses: dtolnay/rust-toolchain@stable

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -194,7 +194,7 @@ jobs:
run: maturin build --release --sdist

- name: Upload OS Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.os }}-wheel-py${{ matrix.python-version }}
path: target/wheels
Expand All @@ -209,10 +209,10 @@ jobs:
if: needs.version-bump.outputs.version_changed == 'true'

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Download all wheels and sdist
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
path: dist # Downloads all artifacts from the two build jobs

Expand All @@ -221,10 +221,10 @@ jobs:
run: find dist -type f \( -name "*.whl" -o -name "*.tar.gz" \) -exec mv {} dist/ \;

- name: Install uv and tools
uses: astral-sh/setup-uv@v3
uses: astral-sh/setup-uv@v7

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}

Expand All @@ -237,13 +237,13 @@ jobs:

# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v5
# with:
# # Fetch the latest commit which contains the version bump and tag
# ref: main

# - name: Set up Python
# uses: actions/setup-python@v5
# uses: actions/setup-python@v6
# with:
# python-version: "3.12"

Expand Down Expand Up @@ -295,13 +295,13 @@ jobs:
# contents: write
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v5
# - name: Set up Python
# uses: actions/setup-python@v5
# uses: actions/setup-python@v6
# with:
# python-version: "3.12"
# - name: Install uv and tools
# uses: astral-sh/setup-uv@v3
# uses: astral-sh/setup-uv@v7
# - name: Sync dependencies (dev + extras)
# run: |
# uv sync --all-extras --dev
Expand All @@ -323,7 +323,7 @@ jobs:

# # Optional: Upload the badge as an artifact so you can download it from the CI run
# - name: Upload Coverage Badge Artifact
# uses: actions/upload-artifact@v4
# uses: actions/upload-artifact@v6
# with:
# name: coverage-badge
# path: |
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Checkout latest version tag (post-release)
if: github.event_name == 'workflow_run'
Expand All @@ -51,12 +51,12 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- name: Set up Python 3.11
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Install uv
uses: astral-sh/setup-uv@v3
uses: astral-sh/setup-uv@v7

- name: Install docs dependencies
run: |
Expand Down Expand Up @@ -93,13 +93,13 @@ jobs:
make docs

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v5
with:
path: "docs/build/html"

- name: Setup Pages
uses: actions/configure-pages@v5
uses: actions/configure-pages@v6

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
26 changes: 13 additions & 13 deletions .github/workflows/tag-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
linux-wheels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Setup QEMU for ARM builds
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4
with:
platforms: all

Expand All @@ -31,39 +31,39 @@ jobs:
manylinux: auto

- name: Upload Linux Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: linux-wheels
path: target/wheels

windows-wheels:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- run: pip install maturin
- name: Build wheels
run: maturin build --release
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: windows-wheels
path: target/wheels

macos-wheels:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- run: pip install maturin
- name: Build wheels
run: maturin build --release
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: macos-wheels
path: target/wheels
Expand All @@ -74,21 +74,21 @@ jobs:
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Download all wheels
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
path: dist

- name: Find and Move Wheels to root
run: find dist -type f -name "*.whl" -exec mv {} dist/ \;

- name: Install uv
uses: astral-sh/setup-uv@v3
uses: astral-sh/setup-uv@v7

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}

Expand Down
9 changes: 9 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,12 @@ dev = [
authors = ["Ben Smith"]
license = "MIT"
repository = "https://github.com/Bnjam/eo-processor"

[tool.ruff]
line-length = 100
extend-exclude = ["target", ".venv"]

[tool.ruff.lint]
# Ruff 0.16 expanded the default rule set (59 -> 413 rules). Pin the classic
# defaults the project's CI was green with until the codebase is migrated.
select = ["E4", "E7", "E9", "F"]
Loading