Skip to content

Merge pull request #19 from eman/blocking #14

Merge pull request #19 from eman/blocking

Merge pull request #19 from eman/blocking #14

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
lint-format-test:
name: Pre-release Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff
pip install -e ".[testing]"
- name: Run ruff linter
run: ruff check src/ tests/ examples/
- name: Check code formatting
run: ruff format --check src/ tests/ examples/
- name: Run tests
run: pytest
build-and-publish:
name: Build and Publish to PyPI
runs-on: ubuntu-latest
needs: lint-format-test
environment:
name: pypi
url: https://pypi.org/p/nwp500-python
permissions:
id-token: write # Required for trusted publishing
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Required for setuptools_scm
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package
run: python -m build
- name: Check distribution
run: twine check dist/*
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
github-release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: build-and-publish
steps:
- uses: actions/checkout@v4
- name: Create Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
draft: false
prerelease: false