Skip to content

wayland action

wayland action #28

Workflow file for this run

name: Publish to PyPI
on:
push:
branches-ignore: ['*']
tags: ['*']
release:
types: [published]
jobs:
build-wheel:
name: Build wheels
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_28_x86_64
strategy:
matrix:
python-version: ["cp3.9", "cp3.10", "cp3.11", "pp3.9"]
steps:
- name: Install dependencies
run: dnf install -y cairo-devel libffi-devel libxkbcommon-devel
- uses: actions/checkout@v2
- name: Install wayland
uses: m-col/setup-wlroots-action@master
with:
wayland-version: "1.22.0"
wayland-protocols-version: "1.31"
libdrm-version: "2.4.114"
seatd-version: "0.6.4"
pixman-version: "0.42.0"
hwdata-version: "0.364"
wlroots-version: "0.16.2"
- name: Set environment variables
run: |
PYTHON_ROOT=$(find /opt/python -name ${PYTHON_VERSION/./}-*)
echo "${PYTHON_ROOT}/bin" >> $GITHUB_PATH
shell: bash
env:
PYTHON_VERSION: ${{ matrix.python-version }}
- name: Build wheels
run: |
python -m pip install cffi build
python -m build --wheel .
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels-${{ matrix.python-version }}
path: dist/qtile*.whl
test-wheel:
name: Test wheels
runs-on: ubuntu-latest
needs: build-wheel
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
include:
- python-version: "pypy-3.9"
manual-version: "pp3.9"
steps:
- name: Download wheels
if: ${{ matrix.manual-version == '' }}
uses: actions/download-artifact@v2
with:
name: wheels-cp${{ matrix.python-version }}
- name: Download wheels (manual)
if: ${{ matrix.manual-version != '' }}
uses: actions/download-artifact@v2
with:
name: wheels-${{ matrix.manual-version }}
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install wheel
run: pip install qtile-*.whl
- name: Check installation
run: qtile -h
build-source:
name: Build source
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_28_x86_64
env:
python-version: "cp3.11"
steps:
- name: Install dependencies
run: dnf install -y cairo-devel libffi-devel libxkbcommon-devel
- uses: actions/checkout@v2
- name: Set environment variables
run: |
PYTHON_ROOT=$(find /opt/python -name ${PYTHON_VERSION/./}-*)
echo "${PYTHON_ROOT}/bin" >> $GITHUB_PATH
shell: bash
env:
PYTHON_VERSION: ${{ env.python-version }}
- name: Build source
run: |
python -m pip install build
python -m build --sdist .
- name: Upload source
uses: actions/upload-artifact@v2
with:
name: source
path: dist/*.tar.gz
upload-wheel:
name: Upload wheels
runs-on: ubuntu-latest
needs: [test-wheel, build-source]
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
include:
- python-version: "pypy-3.9"
manual-version: "pp3.9"
steps:
- name: Download wheels
if: ${{ matrix.manual-version == '' }}
uses: actions/download-artifact@v2
with:
name: wheels-cp${{ matrix.python-version }}
path: dist/
- name: Download wheels (manual)
if: ${{ matrix.manual-version != '' }}
uses: actions/download-artifact@v2
with:
name: wheels-${{ matrix.manual-version }}
path: dist/
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: github.event_name == 'release'
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Publish package to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: github.event_name == 'push'
with:
user: __token__
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
skip-existing: true
upload-source:
name: Upload source
runs-on: ubuntu-latest
needs: [test-wheel, build-source]
env:
python-version: "cp3.11"
steps:
- name: Download source
uses: actions/download-artifact@v2
with:
name: source
path: dist/
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: github.event_name == 'release'
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Publish package to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: github.event_name == 'push'
with:
user: __token__
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
skip-existing: true