chore: Update python-package.yml #37
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 do Continous Integration (CI) and Continous Deployment (CD). | |
# It will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: | |
# https://py-pkgs.org/08-ci-cd | |
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: ci-cd | |
# Controls when the workflow will run | |
on: [push, pull_request] | |
# A workflow run is made up of one or more jobs that can run | |
# sequentially or in parallel | |
jobs: | |
ci: | |
# Set up operating system | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: ["3.12"] #, "3.11", "3.10", "3.9"] | |
os: [ubuntu-latest] #, macOS-latest, windows-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up PDM | |
uses: pdm-project/setup-pdm@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
pdm install -dG test | |
- name: Run Tests | |
run: | | |
pdm run pytest | |
pypi-publish: | |
needs: ci | |
# Only run this job if new work is pushed to the "master" branch | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
name: upload release to PyPI | |
runs-on: ubuntu-latest | |
permissions: | |
# This permission is needed for private repositories. | |
contents: read | |
# IMPORTANT: this permission is mandatory for trusted publishing | |
id-token: write | |
# Dedicated environments with protections for publishing are strongly recommended. | |
environment: | |
name: pypi | |
# OPTIONAL: uncomment and update to include your PyPI project URL in the deployment status: | |
url: https://pypi.org/p/nvector | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pdm-project/setup-pdm@v4 | |
- name: Build package distributions | |
run: pdm build | |
- name: Publish release distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 |