Skip to content

chore: use pathlib for path manipulations #683

chore: use pathlib for path manipulations

chore: use pathlib for path manipulations #683

Workflow file for this run

name: Distribution
on: [push, pull_request]
permissions:
contents: read
jobs:
linux:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
- uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1
- name: Install Gammu
run: |
sudo apt-get update
sudo apt-get install -y libgammu-dev libdbd-sqlite3
- name: build
run: uv build --sdist
- name: Store the binary wheel
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: dist-linux
path: dist
windows:
runs-on: windows-latest
strategy:
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: ${{ matrix.python-version }}
- name: Install Gammu x64
run: |
C:/msys64/usr/bin/wget.exe -O gammu-setup.exe https://dl.cihar.com/gammu/releases/windows/Gammu-1.41.0-Windows-64bit.exe
./gammu-setup.exe /S /D=C:/Gammu
- uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1
- name: build
run: uv build --wheel
- name: Store the binary wheel
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: dist-windows-${{ matrix.python-version }}
path: dist
check:
needs:
- linux
- windows
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.14'
- uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1
with:
version: 0.9.30
- name: Install gammu
run: |
sudo apt-get update
sudo apt-get install -y libgammu-dev libdbd-sqlite3
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
with:
path: dist
merge-multiple: true
- run: uvx twine check --strict dist/*
- run: uvx abi3audit dist/*abi3*.whl
- run: uvx pydistcheck --inspect dist/*
- run: uvx check-wheel-contents dist/*.whl
- run: uvx check-manifest -v
publish:
runs-on: ubuntu-24.04
permissions:
# this permission is mandatory for trusted publishing
id-token: write
needs:
- check
- linux
- windows
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'gammu/python-gammu'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Download all the dists
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: dist/
merge-multiple: true
- name: Publish package
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
release_github:
runs-on: ubuntu-24.04
name: Create release on GitHub
needs:
- check
- linux
- windows
permissions:
contents: write
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'gammu/python-gammu'
steps:
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
with:
path: dist/
merge-multiple: true
- uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
with:
generateReleaseNotes: true
artifacts: dist/*