Skip to content

Merge pull request #7 from TotallyNotRobots/fix-windows-config-path #8

Merge pull request #7 from TotallyNotRobots/fix-windows-config-path

Merge pull request #7 from TotallyNotRobots/fix-windows-config-path #8

Workflow file for this run

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