Skip to content

Release

Release #1

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
tags:
-v*
jobs:
rsess_tests:
uses: ./.github/workflows/rsess-ci.yml
pyrsess_tests:
uses: ./.github/workflows/pyrsess-ci.yml
linux:
name: Linux build
runs-on: ubuntu-latest
needs: [rsess_tests, pyrsess_tests]
steps:
- uses: actions/checkout@v3
- uses: PyO3/maturin-action@v1
with:
manylinux: auto
command: build
args: --release --sdist -o dist --find-interpreter
working-directory: ./pyrsess
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: pyrsess/dist
windows:
name: Windows build
runs-on: windows-latest
needs: [rsess_tests, pyrsess_tests]
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git diffutils make m4 mingw-w64-x86_64-rust mingw-w64-x86_64-gcc mingw-w64-x86_64-python-maturin
- uses: actions/checkout@v3
- name: Run maturin
run: |
maturin build --release -o dist --find-interpreter
working-directory: ./pyrsess
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: pyrsess/dist
macos:
name: macOS build
runs-on: macos-latest
needs: [rsess_tests, pyrsess_tests]
steps:
- uses: actions/checkout@v3
- uses: PyO3/maturin-action@v1
with:
command: build
args: --release -o dist --find-interpreter
working-directory: ./pyrsess
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: pyrsess/dist
release:
name: Upload to PyPI
runs-on: ubuntu-latest
needs: [ macos, windows, linux ]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --skip-existing *
docs:
name: Publish documentation
uses: ./.github/workflows/docs.yml
needs: [macos, windows, linux]