Release v1.0.3 (#145) #374
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests, lint, and build docs | |
# This run for every pull request | |
name: Tests and Lint | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
KETE_CACHE_DIR: ${{ github.workspace }}/docs/data | |
RUSTFLAGS: "-D warnings" | |
RUSTDOCFLAGS: "-D warnings" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Test with cargo | |
run: | | |
cargo test | |
- name: Cargo Docs | |
run: | | |
cargo doc | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip setuptools black mypy types-requests numpy | |
- name: Black Formatting | |
run: | | |
python3 -m black . --check | |
- name: Lint with mypy | |
run: | | |
python3 -m mypy src/kete/ | |
# Build and run pytest | |
- name: Build kete | |
run: | | |
python3 -m pip install '.[dev]' -v | |
- name: Test with pytest | |
run: | | |
python3 -m pytest --cov-report term-missing --cov=kete | |
# Build documentation and push artifact | |
- name: Build Docs | |
run: | | |
cd docs | |
make clean | |
make doctest | |
make html | |
- name: Fix permissions | |
run: | | |
chmod -c -R +rX "docs/" | while read line; do | |
echo "::warning title=Invalid file permissions automatically fixed::$line" | |
done | |
- name: Upload Docs artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "docs" | |
path: | |
docs/html/ | |
- name: Upload Pages artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
name: "github-pages" | |
path: | |
docs/html/ | |
deploy: | |
needs: build | |
if: success() && github.ref == 'refs/heads/main' | |
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment | |
permissions: | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
# Deploy to the github-pages environment | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
# Specify runner + deployment step | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |