zrok/.github/workflows/build-wheels.yml

79 lines
2.1 KiB
YAML
Raw Normal View History

2023-11-16 17:12:33 +01:00
name: build wheels
on:
release:
types: [released]
jobs:
build_wheels:
2023-12-04 22:50:09 +01:00
defaults:
run:
working-directory: sdk/python/sdk/zrok
2023-11-16 17:12:33 +01:00
strategy:
fail-fast: false
matrix:
spec:
- { name: 'linux x86_64', runner: ubuntu-20.04, target: manylinux_2_27_x86_64 }
2024-06-26 23:57:03 +02:00
- { name: 'macOS x86_64', runner: macos-12, target: macosx_10_14_x86_64 }
2023-11-16 17:12:33 +01:00
- { name: 'Windows x86_64', runner: windows-2019, target: win_amd64 }
name: building ${{ matrix.spec.name }}
runs-on: ${{ matrix.spec.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
2023-11-16 17:12:33 +01:00
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v5
2023-11-16 17:12:33 +01:00
with:
python-version: '3.x'
- name: Install Python Tools
run: python -m pip install -U pip setuptools
- name: Build distro
env:
ZROK_VERSION: ${{ github.event.release.tag_name }}
ZROK_PY_NAME: ${{ vars.ZROK_PY_NAME || null }}
2023-11-16 17:12:33 +01:00
run: |
python setup.py sdist
- uses: actions/upload-artifact@v4
2023-11-16 17:12:33 +01:00
if: startsWith(matrix.spec.name, 'linux')
with:
name: zrok_sdk_${{ matrix.spec.target }}
2023-12-04 22:50:09 +01:00
path: ${{ github.workspace }}/sdk/python/sdk/zrok/dist/*
2023-11-16 17:12:33 +01:00
publish:
runs-on: ubuntu-20.04
needs: [ build_wheels ]
2023-12-04 22:50:09 +01:00
permissions:
id-token: write
2023-11-16 17:12:33 +01:00
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
2023-11-16 17:12:33 +01:00
with:
path: ./download
merge-multiple: true
pattern: zrok_sdk_*
2023-11-16 17:12:33 +01:00
- name: check
run: |
ls -lR ./download/
2023-11-16 17:12:33 +01:00
mkdir dist
2024-06-26 23:44:20 +02:00
cp ./download/* ./dist/
2023-11-16 17:12:33 +01:00
- name: Publish wheels (TestPYPI)
uses: pypa/gh-action-pypi-publish@release/v1
with:
2023-12-04 22:50:09 +01:00
repository-url: https://test.pypi.org/legacy/
2023-11-16 17:12:33 +01:00
packages_dir: dist
skip_existing: true
verbose: true
- name: Publish wheels (PyPI)
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages_dir: dist
verbose: true