Skip to content

Bump rustix from 0.38.13 to 0.38.44 in the cargo group #50

Bump rustix from 0.38.13 to 0.38.44 in the cargo group

Bump rustix from 0.38.13 to 0.38.44 in the cargo group #50

Workflow file for this run

# Creates a new version by:
# 1. bumping the version number in the changelog and cargo
# 2. Creates a new branch for this version
# 3. makes a new commit
# 4. Opens a PR for the new version
# 5. Pulls that branch and builds it for different platforms
# 6. Once all those build, makes a release
# 7. Creates a tag for that release
# 7. merges that PR when tests pass and removes the branch
# This seperates the release process from the test process, so we can still release if we need to and tests are failing
name: Bump Version
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
inputs:
type:
description: "Release type"
required: true
default: "major"
type: choice
options:
- major
- minor
- patch
jobs:
bump:
runs-on: ubuntu-latest
permissions: write-all
if: github.event_name == 'workflow_dispatch'
outputs:
version: ${{ steps.bump.outputs.version }}
steps:
- uses: actions/checkout@v4
- run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
VERSION=$(python increment_version.py $TYPE)
git checkout -b "version-$VERSION"
git commit -am "Version $VERSION"
git push -u origin HEAD
gh pr create --fill
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
id: bump
env:
TYPE: ${{ inputs.type }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
linux-cross:
name: build linux
runs-on: ubuntu-latest
strategy:
matrix:
target: [aarch64, ppc64]
needs: [bump]
if: ${{ always() }}
steps:
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'success' }}
with:
ref: version-${{ needs.bump.outputs.version }}
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'skipped' }}
- uses: PyO3/maturin-action@v1.47.3
with:
target: ${{ matrix.target }}
manylinux: auto
command: build
args: --release --sdist -o dist --find-interpreter
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.target }}
path: dist
linux:
name: build linux
runs-on: ubuntu-latest
needs: [bump]
if: ${{ always() }}
steps:
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'success' }}
with:
ref: version-${{ needs.bump.outputs.version }}
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'skipped' }}
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- uses: PyO3/maturin-action@v1.47.3
with:
manylinux: auto
command: build
args: --release --sdist -o dist --find-interpreter
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-linux
path: dist
windows:
name: build windows
runs-on: windows-latest
needs: [bump]
if: ${{ always() }}
steps:
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'success' }}
with:
ref: version-${{ needs.bump.outputs.version }}
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'skipped' }}
- uses: PyO3/maturin-action@v1.47.3
with:
command: build
args: --release -o dist --find-interpreter
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-windows
path: dist
macos:
name: build macos
runs-on: macos-latest
needs: [bump]
if: ${{ always() }}
steps:
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'success' }}
with:
ref: version-${{ needs.bump.outputs.version }}
- uses: actions/checkout@v4
if: ${{ needs.bump.result == 'skipped' }}
- uses: PyO3/maturin-action@v1.47.3
with:
command: build
target: universal2-apple-darwin
args: --release -o dist --find-interpreter
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-macos
path: dist
release:
name: Release
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')
needs: [macos, windows, linux, linux-cross, bump]
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
- name: Publish to PyPI
uses: PyO3/maturin-action@v1.47.3
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --skip-existing *
tag-and-merge:
runs-on: ubuntu-latest
permissions: write-all
needs: [release, bump]
steps:
- uses: actions/checkout@v4
with:
ref: version-${{ needs.bump.outputs.version }}
- run: |
git tag "v$VERSION"
git push --tags
gh pr merge --delete-branch --merge --admin
env:
VERSION: ${{ needs.bump.outputs.version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}