Skip to content

chore(deps): lock file maintenance #247

chore(deps): lock file maintenance

chore(deps): lock file maintenance #247

Workflow file for this run

# This file is autogenerated by maturin v1.9.4
# To update, run
#
# maturin generate-ci github
#
name: CI
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
# Determine the next version of the codebase.
get-next-version:
uses: semantic-release-action/next-release-version/.github/workflows/next-release-version.yml@3afa0258b980a53b23f8e18a388981dff12d8888 # v4
permissions:
contents: write
# Calculate the version to set the package to.
calculate-version:
needs: get-next-version
runs-on: ubuntu-latest
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- name: Set version
id: set-version
run: echo "version=$PACKAGE_VERSION" >> $GITHUB_OUTPUT
env:
PACKAGE_VERSION: ${{ needs.get-next-version.outputs.new-release-published == 'true' && needs.get-next-version.outputs.new-release-version || format('0.0.{0}', github.run_number) }}
tests:
runs-on: ubuntu-latest
needs: calculate-version
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- name: Set up Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: '3.14'
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Install build tooling
run: |
python -m pip install --upgrade pip
pip install maturin
- name: Install project with test extras
run: pip install .[test]
- name: Run pytest
run: pytest -s
linux:
needs: calculate-version
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: ubuntu-22.04
target: x86_64
- runner: ubuntu-22.04
target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
- runner: ubuntu-22.04
target: s390x
- runner: ubuntu-22.04
target: ppc64le
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.x
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Build wheels
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
# ring/aws-lc require a newer version of manylinux on some architectures
manylinux: ${{ (matrix.platform.target == 'aarch64' || matrix.platform.target == 'ppc64le') && '2_28' || 'auto' }}
- name: Upload wheels
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: wheels-linux-${{ matrix.platform.target }}
path: dist
musllinux:
needs: calculate-version
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: ubuntu-22.04
target: x86_64
- runner: ubuntu-22.04
target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.x
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Build wheels
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
manylinux: musllinux_1_2
- name: Upload wheels
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: wheels-musllinux-${{ matrix.platform.target }}
path: dist
windows:
needs: calculate-version
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: windows-latest
target: x64
- runner: windows-latest
target: x86
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.x
architecture: ${{ matrix.platform.target }}
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Build wheels
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
- name: Upload wheels
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: wheels-windows-${{ matrix.platform.target }}
path: dist
macos:
needs: calculate-version
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: macos-14
target: aarch64
- runner: macos-15
target: x86_64
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.x
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Build wheels
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
- name: Upload wheels
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: wheels-macos-${{ matrix.platform.target }}
path: dist
sdist:
needs: calculate-version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- name: Set Cargo.toml package version
uses: colt-1/toml-editor@da6b46ee7779ed730d2160393ed95fb20e82696d # 1.1.1
with:
file: Cargo.toml
key: package.version
value: ${{ needs.calculate-version.outputs.version }}
- name: Build sdist
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
command: sdist
args: --out dist
sccache: false
- name: Upload sdist
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: wheels-sdist
path: dist
release:
name: Release
needs: [get-next-version, sdist, linux, musllinux, windows, macos]
runs-on: ubuntu-latest
if: needs.get-next-version.outputs.new-release-published == 'true'
permissions:
# Use to sign the release artifacts
id-token: write
# Used to upload release artifacts
contents: write
# Used to generate artifact attestation
attestations: write
# Used to comment on pull requests
pull-requests: write
environment:
name: pypi
url: https://pypi.org/p/gitpure
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with:
fetch-depth: 0
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
- name: Generate artifact attestation
uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4
with:
subject-path: 'wheels-*/*'
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 'lts/*'
- name: Install npm dependencies
run: npm ci
- name: Run semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release
- name: Publish to PyPI
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1
with:
command: upload
args: --non-interactive --skip-existing wheels-*/*
sccache: false
success:
name: Success
runs-on: ubuntu-latest
needs: [tests, linux, musllinux, windows, macos, sdist]
if: ${{ !cancelled() && !failure() }}
steps:
- name: Mark success
run: echo "All required jobs completed successfully."