Files
2026-01-17 20:00:44 +01:00

1.9 KiB

GitHub Actions Workflows

Ce répertoire contient les workflows CI/CD pour navaltoolbox-lib.

Workflows

🔄 ci.yml - Intégration Continue

Déclencheurs: push et pull_request sur main

Job Description Plateforme
lint-rust cargo fmt --check + cargo clippy Ubuntu
test-rust cargo test Ubuntu
build-wheels Build wheels Python Linux, macOS, Windows
test-python Tests pytest Python 3.9-3.14

📚 docs.yml - Documentation

Déclencheurs: push et pull_request sur main

Job Description
build Build Sphinx avec PyData theme
deploy Déploiement sur GitHub Pages (main seulement)

📦 publish.yml - Publication

Déclencheurs:

  • Tags v*.*.*
  • workflow_dispatch (manuel)
Job Destination Déclencheur
build-wheels - Toujours
build-sdist - Toujours
publish-testpypi TestPyPI Manuel
publish-pypi PyPI Tag v*.*.* ou manuel
publish-cratesio crates.io Tag v*.*.* ou manuel

Secrets requis

Secret Description Utilisé par
CARGO_REGISTRY_TOKEN Token crates.io publish-cratesio

Note

: La publication sur PyPI utilise le Trusted Publishing (OIDC), aucun token requis.

Plateformes supportées

  • 🐧 Linux (ubuntu-latest)
  • 🍎 macOS (macos-latest)
  • 🪟 Windows (windows-latest)

Versions Python

  • Python 3.9
  • Python 3.10
  • Python 3.11
  • Python 3.12
  • Python 3.13
  • Python 3.14 (prerelease)

Usage manuel

# Déclencher la publication sur TestPyPI
gh workflow run publish.yml -f environment=testpypi

# Déclencher la publication sur PyPI
gh workflow run publish.yml -f environment=pypi

# Déclencher la publication sur crates.io
gh workflow run publish.yml -f environment=cratesio