Merge pull request #7 from TotallyNotRobots/fix-windows-config-path #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: push | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Install Linux packages | |
if: ${{ runner.os == 'Linux' }} | |
run: | | |
sudo apt-get update -qq | |
sudo apt-get install -y -qq \ | |
libxcb-render-util0-dev \ | |
libxcb-keysyms1-dev \ | |
libxcb-shape0-dev \ | |
libxcb-xinerama0-dev \ | |
libxcb-icccm4-dev \ | |
libxcb-image0-dev \ | |
libxkbcommon-x11-dev \ | |
libxcb-util-dev | |
- name: Check-out repository | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" # Version range or exact version of a Python version to use, using SemVer's version range syntax | |
architecture: "x64" # optional x64 or x86. Defaults to x64 if not specified | |
cache: "pip" | |
cache-dependency-path: | | |
**/requirements*.txt | |
- name: Install Dependencies | |
run: | | |
pip install -U pip wheel | |
pip install -Ur requirements.txt | |
pip install -Ur build-requirements.txt | |
- name: Set build vars | |
id: build-vars | |
run: echo "version=$(cat version)" >> "$GITHUB_OUTPUT" | |
- name: Build Executable | |
run: | | |
pyinstaller describealign.spec | |
env: | |
APP_VERSION: ${{ steps.build-vars.outputs.version }} | |
- name: Build artifacts | |
if: ${{ runner.os == 'macOS' }} | |
id: build-artifacts-mac | |
run: | | |
pkgbuild \ | |
--install-location /Applications \ | |
--scripts Package/scripts \ | |
--component dist/describealign.app \ | |
/tmp/describealign-component.pkg | |
productbuild \ | |
--package /tmp/describealign-component.pkg \ | |
--product Package/product.plist \ | |
--version '${{steps.build-vars.outputs.version}}' \ | |
dist/describealign.pkg | |
- name: Build artifacts | |
if: ${{ runner.os == 'Linux' }} | |
id: build-artifacts-linux | |
working-directory: dist | |
run: | | |
tar cvzf describealign.tar.gz describealign | |
- name: Archive Release | |
if: ${{ runner.os == 'Windows' }} | |
uses: thedoctor0/zip-release@0.7.5 | |
with: | |
type: 'zip' | |
directory: dist | |
path: describealign | |
filename: 'describealign.zip' | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ runner.os }} Build | |
path: | | |
dist/*.pkg | |
dist/*.tar.gz | |
dist/*.zip | |
if-no-files-found: error |