Skip to content

Commit

Permalink
Merge pull request #10 from SNEWS2/JostMigenda/PublishingWorkflow
Browse files Browse the repository at this point in the history
Publish releases to PyPI
  • Loading branch information
JostMigenda authored Aug 13, 2024
2 parents d022011 + f0e98a5 commit d6ee73e
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 5 deletions.
41 changes: 37 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
name: Build BEMEWS

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
# Workflow that builds and tests the BEMEWS package on every pull request
# and on every push to the main branch. If a new version tag is pushed, the
# workflow will also publish the package to PyPI.

on:
push:
branches: [ main ]
tags: # Sequence of patterns matched against refs/tags
- 'v*' # Any tag matching v*, e.g. v1.0, v1.2b1
pull_request:
branches: [ main ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
fail-fast: false
matrix:
os: [macos-latest] # [macos-latest, ubuntu-latest, windows-latest]
python-version: ['3.12'] # ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12']
runs-on: ${{ matrix.os }}

steps:
Expand Down Expand Up @@ -52,3 +55,33 @@ jobs:
- name: Run example script
run: |
python BEMEWS_example.py
- name: Upload distributions
uses: actions/upload-artifact@v4
with:
path: dist/
name: release-dists-${{ matrix.os }}-${{ matrix.python-version }}
if-no-files-found: error

publish_to_pypi:
# Only run if a new tag was created …
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
# … and if all builds above were successful
needs: build

runs-on: ubuntu-latest
permissions:
# See https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#adding-permissions-settings
id-token: write
contents: read

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
with:
path: dist/
pattern: release-dists-*
merge-multiple: true

- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ authors = [
{name="Anne Graf"},
]

version = "1.0"
version = "1.0a1"
requires-python = ">=3.9" # TODO: Also update classifiers below!
dependencies = [
"numpy >= 1.16",
Expand Down

0 comments on commit d6ee73e

Please sign in to comment.