Skip to content

github: workflows: tests: add python 3.13 to the test matrix #411

github: workflows: tests: add python 3.13 to the test matrix

github: workflows: tests: add python 3.13 to the test matrix #411

Workflow file for this run

name: builds
on: [push, pull_request]
jobs:
builds:
name: ${{ matrix.platform }} | ${{ matrix.architecture }} | ${{ matrix.type }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
python-version: '3.11'
architecture: x64
platform: Linux
type: AppImage
appimage: true
- os: ubuntu-22.04
python-version: '3.11'
architecture: x64
platform: Linux
type: Standalone
archive: true
- os: macos-13
python-version: '3.11'
architecture: x64
platform: macOS
type: DMG
dmg: true
- os: windows-2019
python-version: '3.11'
architecture: x86
platform: Windows
type: Installer
innosetup: true
- os: windows-2019
python-version: '3.11'
architecture: x86
platform: Windows
type: Standalone
archive: true
- os: windows-2019
python-version: '3.11'
architecture: x64
platform: Windows
type: Installer
innosetup: true
- os: windows-2019
python-version: '3.11'
architecture: x64
platform: Windows
type: Standalone
archive: true
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}
- name: Bundle JRE
shell: bash
run: |
python ./scripts/getjdk.py --binary --arch ${{ matrix.architecture }} --feature-version 11 --image-type jre --extract-to resources
mv resources/jdk* resources/java
- name: Install python dependencies
shell: bash
run: |
python -m pip install -U pip setuptools wheel
python -m pip install -U -r requirements/in/dev.in
# Fix for InvalidVersion error in appimage-builder 1.1.0
if [[ ${{ matrix.platform }} == 'Linux' ]]; then
python -m pip install -U git+https://github.com/AppImageCrafters/appimage-builder.git@9733877eed75aea0fa8e9a1cd26c22d77a10aa4a
fi
- name: Package application
shell: bash
run: |
if [[ x${{ matrix.archive }} == 'xtrue' ]]; then
if [[ ${{ matrix.platform }} == 'Linux' ]]; then
# Remove GTK3 Platform theme on linux before freezing as it mostly causes
# ABI incompatibility issues when run on other distributions.
find "$RUNNER_TOOL_CACHE/Python" -type f -name libqgtk3.so -delete
fi
python setup.py standalone
elif [[ x${{ matrix.appimage }} == 'xtrue' ]]; then
sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
sudo chmod +x /usr/local/bin/appimagetool
python setup.py appimage --skip-tests
elif [[ x${{ matrix.dmg }} == 'xtrue' ]]; then
python setup.py createdmg
elif [[ x${{ matrix.innosetup }} == 'xtrue' ]]; then
export ISCC_EXE="C:\Program Files (x86)\Inno Setup 6\ISCC.exe"
python setup.py innosetup
fi
- name: Prepare artifact metadata
id: artifact-metadata
shell: bash
run: |
SHA="$(git rev-parse --short "$GITHUB_SHA")"
PLATFORM="${{ matrix.platform }}"
ARCH="${{ matrix.architecture }}"
TYPE="${{ matrix.type }}"
NAME="Eddy-$PLATFORM-$ARCH-$TYPE-$SHA"
echo "name=$(echo "$NAME")" >> $GITHUB_OUTPUT
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ steps.artifact-metadata.outputs.name }}
path: dist/*
- name: Upload release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
files: dist/*