Skip to content

Update workflow actions versions #46

Update workflow actions versions

Update workflow actions versions #46

Workflow file for this run

name: Windows (msys2) CI Build
on:
workflow_dispatch:
push:
branches:
- msys2-ci
jobs:
# We use msys2 for the following reasons:
#
# * Building pygobject isn't supported on MSVC, and they've no
# intention of ever supporting it
#
# * Building pyliblo is broken on MSVC
# - https://github.com/dsacre/pyliblo/issues/25
build-msys:
name: Windows Build (msys2)
runs-on: windows-2019
defaults:
run:
shell: msys2 {0}
strategy:
fail-fast: false
matrix:
include:
- { sys: mingw64, cc: gcc }
- { sys: mingw64, cc: clang }
- { sys: mingw32, cc: gcc }
- { sys: mingw32, cc: clang }
- { sys: ucrt64, cc: gcc }
- { sys: ucrt64, cc: clang }
- { sys: clang64, cc: clang }
- { sys: clang32, cc: clang }
steps:
# The `:p` suffix tells pacboy to use the version for the current shell
# (Saves having to change suffixes if we wish to try alternate shells.)
- name: Install and Configure Msys2
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
update: true
install: >
git
pacboy: >
cairo:p
${{ matrix.cc }}:p
gobject-introspection:p
gstreamer:p
gst-plugins-good:p
liblo:p
ninja:p
pkgconf:p
python-gobject:p
python-pip:p
python-pyqt5:p
qt5-svg:p
rtmidi:p
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 1
# The `export CC=...` is only needed on builds using clang as distutils
# assumes a default compiler of `gcc` for all environments, but doesn't
# harm the other builds.
#
# According to the known issues (https://www.msys2.org/docs/python/#known-issues),
# setuptools >= 60.0 is not compatible with MSys2 (or vice-versa). The
# `SETUPTOOLS_USE_DISTUTILS=stdlib` is the recommended work-around.
- name: Build/Install via pip
run: |
export CC=${{ matrix.cc }}
export SETUPTOOLS_USE_DISTUTILS=stdlib
pip install .
- name: Test run LiSP
run: |
cd ~
linux-show-player --help
- name: Build a wheel
id: wheel
run: |
pip wheel --no-deps .
echo "filename=`ls *.whl`" >> $GITHUB_OUTPUT
# There's no difference between wheels created by the different
# environments, so only save one.
- name: Upload wheel
if: ${{ matrix.sys == 'mingw64' && matrix.cc == 'gcc' }}
uses: actions/upload-artifact@v4
with:
name: ${{ steps.wheel.outputs.filename }}
path: ${{ steps.wheel.outputs.filename }}