Skip to content

Commit

Permalink
Rework packages workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Benoit Donneaux <[email protected]>
  • Loading branch information
Benoit Donneaux committed Nov 4, 2024
1 parent b6fed3b commit 115cea2
Showing 1 changed file with 97 additions and 4 deletions.
101 changes: 97 additions & 4 deletions .github/workflows/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,98 @@
# DO NOT EDIT! This file was automatically generated.
# Generated at: 2021-03-18T11:48:26.807049
# Generated by: '.github/workflows/generate-workflow' '.github/workflows/packages.yaml'
name: Build Python Packages

{"on": {"push": {"tags": ["v*"]}}, "jobs": {"check-workflow": {"container": {"image": "python:3.7-slim"}, "steps": [{"uses": "actions/checkout@v2", "name": "Checkout Source"}, {"run": "pip install pyyaml\nif ./.github/workflows/generate-workflow ./.github/workflows/packages.yaml; then\n echo \"Workflow configuration is not up to date with template!\"\n exit 1\nfi\n", "name": "Check"}], "name": "Check Github Actions Workflow Configuration", "runs-on": "ubuntu-latest"}, "windows-packages": {"needs": ["check-workflow"], "strategy": {"matrix": {"python-version": ["pypy3"], "os": ["windows-latest"]}}, "steps": [{"run": "git config --global core.autocrlf false"}, {"uses": "actions/checkout@9a3a9ade8222dcdf9d3c77710b10df47ee7c7c89", "with": {"fetch-depth": 0, "submodules": "recursive"}}, {"run": "# We need tags to compute a version number.\ngit fetch --tags\n", "name": "Finish Checkout"}, {"run": "pip install wheel twine\n", "name": "Get Packaging Dependencies"}, {"run": "python setup.py bdist_wheel\n", "name": "Build Packages"}, {"run": "python -m twine upload --repository pypi dist/*\n", "name": "Upload Packages", "env": {"TWINE_USERNAME": "__token__", "TWINE_PASSWORD": "${{ secrets.exarkun_pypi_api_key }}"}}], "name": "Build Windows Packages", "runs-on": "${{ matrix.os }}"}, "manylinux2010-packages": {"needs": ["check-workflow"], "strategy": {"matrix": {"python-version": ["pypy3"], "os": ["ubuntu-18.04"]}}, "steps": [{"uses": "actions/checkout@9a3a9ade8222dcdf9d3c77710b10df47ee7c7c89", "with": {"fetch-depth": 0, "submodules": "recursive"}}, {"run": "# We need tags to compute a version number.\ngit fetch --tags\n", "name": "Finish Checkout"}, {"run": "pip install wheel twine\n", "name": "Get Packaging Dependencies"}, {"uses": "LeastAuthority/python-wheels-manylinux-build@master", "with": {"python-versions": "cp37-cp37m", "install-extra-requirements": ".github/workflows/install-rust.sh"}, "name": "Build a binary wheel and a source tarball"}, {"run": "mkdir -p dist\ncp wheelhouse/*manylinux2010*.whl dist/\n", "name": "Put packages where they can be found"}, {"run": "python -m twine upload --repository pypi dist/*\n", "name": "Upload Packages", "env": {"TWINE_USERNAME": "__token__", "TWINE_PASSWORD": "${{ secrets.exarkun_pypi_api_key }}"}}], "name": "Build manylinux2010 Packages", "runs-on": "${{ matrix.os }}"}}, "name": "Build Python Packages"}
on:
push:
# tags:
# - "v*"

jobs:
windows-packages:
name: "Build Windows Packages"

strategy:
matrix:
os:
- "windows-latest"
python-version:
- "pypy3"

runs-on: "${{ matrix.os }}"

steps:
# Avoid letting Windows newlines confusing milksnake.
- run: "git config --global core.autocrlf false"

- name: Checkout
uses: actions/checkout@v4
with:
# Fetch all history
fetch-depth: 0
submodules: "recursive"
fetch-tags: true

- name: Get Packaging Dependencies
run: |
pip install wheel twine
- name: Build Packages
run: |
python setup.py bdist_wheel
- name: Upload Packages
env:
TWINE_USERNAME: "__token__"
# Secret PyPI API key configured in the GitHub web interface. Visit
# the project Settings page, find Secrets beneath it.
TWINE_PASSWORD: "${{ secrets.exarkun_pypi_api_key }}"
run: |
python -m twine upload --repository pypi dist/*
if: startsWith(github.ref, 'refs/tags/v')

manylinux2010-packages:
# Build manylinux2010 packages because the tooling for building
# manylinux2014 packages does not support Python 2.7.
name: "Build manylinux2010 Packages"

strategy:
matrix:
os:
- "ubuntu-24.04"
python-version:
- "pypy3"

runs-on: "${{ matrix.os }}"

steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch all history
fetch-depth: 0
submodules: "recursive"
fetch-tags: true

# wheel isn't required but twine is
- name: Get Packaging Dependencies
run: |
pip install wheel twine
- name: Build a binary wheel and a source tarball
uses: LeastAuthority/python-wheels-manylinux-build@master
with:
python-versions: "cp37-cp37m"
install-extra-requirements: ".github/workflows/install-rust.sh"

- name: Put packages where they can be found
run: |
mkdir -p dist
cp wheelhouse/*manylinux2010*.whl dist/
- name: Upload Packages
env:
TWINE_USERNAME: "__token__"
# Secret PyPI API key configured in the GitHub web interface. Visit
# the project Settings page, find Secrets beneath it.
TWINE_PASSWORD: "${{ secrets.exarkun_pypi_api_key }}"
run: |
python -m twine upload --repository pypi dist/*
if: startsWith(github.ref, 'refs/tags/v')

0 comments on commit 115cea2

Please sign in to comment.