wheels/.forgejo/workflows/pycairo.yaml

48 lines
1.4 KiB
YAML

name: Build pycairo
on:
workflow_dispatch:
schedule:
- cron: "0 10 * * 0"
env:
REPOSITORY_URL: https://cmwedding-bot:${{ secrets.FORGEJO_TOKEN }}@git.weddingfactory.eu/api/packages/cmwedding/pypi
jobs:
check-version-exists:
uses: .forgejo/workflows/check-version-exists.yaml
with:
pypi-base-url: ${{ env.REPOSITORY_URL }}
pypi-package: pycairo
github-repository: "pygobject/pycairo"
build:
name: Build wheels on ${{ matrix.os }}
needs: check-version-exists
if: needs.check-version-exists.outputs.version != ""
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- run: git clone --depth=1 https://github.com/pygobject/pycairo --branch ${{ needs.check-version-exists.outputs.version }} .
- name: Build wheels
uses: https://github.com/pypa/cibuildwheel@v2.23.3
env:
CIBW_BEFORE_ALL_LINUX: "dnf install -y cairo-devel"
CIBW_BUILD: "cp31{0..3}-manylinux_{x86_64,aarch64}"
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
- name: Publish package distributions to Forgejo
run: |
pip3 install twine
python3 -m twine upload ./wheelhouse/*
env:
TWINE_REPOSITORY_URL: ${{ env.REPOSITORY_URL }}
TWINE_NON_INTERACTIVE: 1