Skip to content

Fix comparing current version and new version #20

Fix comparing current version and new version

Fix comparing current version and new version #20

Workflow file for this run

# This file is autogenerated by maturin v1.5.0
# To update, run
#
# maturin generate-ci github
#
---
name: Distribution
on: # yamllint disable-line rule:truthy
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [ x86_64, x86, aarch64, armv7, s390x, ppc64le ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist
sccache: 'true'
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.target }}
path: dist
windows:
runs-on: windows-latest
strategy:
matrix:
target: [ x64, x86 ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-windows-${{ matrix.target }}
path: dist
macos:
runs-on: macos-latest
strategy:
matrix:
target: [ x86_64, aarch64 ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-macos-${{ matrix.target }}
path: dist
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: dist
should-publish:
name: Should Publish
runs-on: ubuntu-latest
outputs:
result: ${{ steps.determine.outputs.result }}
steps:
- uses: actions/checkout@v4
- name: Install yq
run: pipx install yq
- name: Compare current version to released tags
id: determine
env:
GH_TOKEN: ${{ github.token }}
run: |
current_version=$(tomlq -r .package.version Cargo.toml)
new_version=$( \
gh api repos/:owner/:repo/git/refs/tags \
| jq --arg current_version $current_version \
'[ .[].ref | ltrimstr("refs/tags/v") ] | contains([$current_version]) | not' \
)
echo "result=$new_version" >> "$GITHUB_OUTPUT"
publish:
name: Publish
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' && needs.should-publish.outputs.result }}
needs: [ should-publish, linux, windows, macos, sdist ]
environment:
name: pypi
url: https://pypi.org/p/antsi
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --non-interactive --skip-existing wheels-*/*
release:
name: Release
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' && needs.should-publish.outputs.result }}
needs: [ publish ]
permissions:
contents: write
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
path: artifacts/
- name: Relocate distribution files
run: >-
mkdir ./dist
mv ./artifacts/*/*
- uses: sigstore/gh-action-sigstore-python@v2.1.1
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Create release
run: >-
gh release create
'${{ github.ref_name }}'
--repo '${{ github.repository }}'
--generate-notes
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Upload assets
run: >-
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'