mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2024-07-30 21:27:34 +00:00
102 lines
3.1 KiB
YAML
102 lines
3.1 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v[0-9]+.[0-9]+.[0-9]+*
|
|
|
|
jobs:
|
|
linux:
|
|
strategy:
|
|
matrix:
|
|
build-type: ['', portable]
|
|
include:
|
|
- build-type: ''
|
|
build-flag: ''
|
|
suffix: ''
|
|
- build-type: portable
|
|
build-flag: --portable
|
|
suffix: _portable
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- run: pip install -Ur requirements.txt pyinstaller
|
|
- run: pyinstaller tagstudio.spec -- ${{ matrix.build-flag }}
|
|
- run: tar czfC dist/tagstudio_linux_x86_64${{ matrix.suffix }}.tar.gz dist tagstudio
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: tagstudio_linux_x86_64${{ matrix.suffix }}
|
|
path: dist/tagstudio_linux_x86_64${{ matrix.suffix }}.tar.gz
|
|
|
|
macos:
|
|
strategy:
|
|
matrix:
|
|
os-version: ['11', '14']
|
|
include:
|
|
- os-version: '11'
|
|
arch: x86_64
|
|
- os-version: '14'
|
|
arch: aarch64
|
|
runs-on: macos-${{ matrix.os-version }}
|
|
env:
|
|
MACOSX_DEPLOYMENT_TARGET: '11.0'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- run: pip install -Ur requirements.txt pyinstaller
|
|
- run: pyinstaller tagstudio.spec
|
|
- run: tar czfC dist/tagstudio_macos_${{ matrix.arch }}.tar.gz dist TagStudio.app
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: tagstudio_macos_${{ matrix.arch }}
|
|
path: dist/tagstudio_macos_${{ matrix.arch }}.tar.gz
|
|
|
|
windows:
|
|
strategy:
|
|
matrix:
|
|
build-type: ['', portable]
|
|
include:
|
|
- build-type: ''
|
|
build-flag: ''
|
|
suffix: ''
|
|
file-end: ''
|
|
- build-type: portable
|
|
build-flag: --portable
|
|
suffix: _portable
|
|
file-end: .exe
|
|
runs-on: windows-2019
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- run: pip install -Ur requirements.txt pyinstaller
|
|
- run: PyInstaller tagstudio.spec -- ${{ matrix.build-flag }}
|
|
- run: Compress-Archive -Path dist/TagStudio${{ matrix.file-end }} -DestinationPath dist/tagstudio_windows_x86_64${{ matrix.suffix }}.zip
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: tagstudio_windows_x86_64${{ matrix.suffix }}
|
|
path: dist/tagstudio_windows_x86_64${{ matrix.suffix }}.zip
|
|
|
|
publish:
|
|
needs: [linux, macos, windows]
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/download-artifact@v4
|
|
- uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
tagstudio_linux_x86_64/*
|
|
tagstudio_linux_x86_64_portable/*
|
|
tagstudio_macos_x86_64/*
|
|
tagstudio_macos_aarch64/*
|
|
tagstudio_windows_x86_64/*
|
|
tagstudio_windows_x86_64_portable/*
|