Unit tests for main window actions #500
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-and-publish | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- '*' | |
pull_request: | |
jobs: | |
build-on-ubuntu: | |
uses: livMatS/dtool-lookup-gui/.github/workflows/build-on-ubuntu.yml@master | |
build-on-windows: | |
uses: livMatS/dtool-lookup-gui/.github/workflows/build-on-windows.yml@master | |
build-installer-on-windows: | |
uses: livMatS/dtool-lookup-gui/.github/workflows/build-installer-on-windows.yml@master | |
build-on-macos: | |
uses: livMatS/dtool-lookup-gui/.github/workflows/build-on-macos.yml@master | |
publish-on-pypi: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get history and tags for SCM versioning to work | |
run: | | |
git fetch --prune --unshallow | |
git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update -qy | |
sudo apt-get install -y \ | |
libgirepository1.0-dev \ | |
libcairo2-dev \ | |
pkg-config \ | |
python3-dev \ | |
gir1.2-gtk-3.0 \ | |
libgtksourceview-4-0 | |
- name: Install pythonic dependencies | |
run: | | |
pip install --upgrade pip | |
pip install wheel | |
pip install -r requirements.txt | |
- name: Build and install | |
run: | | |
python setup.py build | |
python setup.py install | |
- name: Package distribution | |
run: | | |
python setup.py sdist bdist_wheel | |
ls -1 dist/ | |
- name: Get master HEAD SHA | |
id: get_master_sha | |
run: | | |
git fetch --depth 1 origin master | |
echo "Commit that triggered this workflow: ${{ github.sha }}" | |
echo "HEAD at master: $(git rev-parse origin/master)" | |
echo "::set-output name=sha::$(git rev-parse origin/master)" | |
- name: Publish package | |
if: >- | |
github.event_name == 'push' && | |
startsWith(github.ref, 'refs/tags') && | |
steps.get_master_sha.outputs.sha == github.sha | |
uses: pypa/[email protected] | |
with: | |
user: __token__ | |
password: ${{ secrets.pypi_password }} | |
verbose: true | |
publish-on-github: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-on-ubuntu | |
- build-on-macos | |
- build-on-windows | |
- build-installer-on-windows | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get history and tags for SCM versioning to work | |
run: | | |
git fetch --prune --unshallow | |
git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
- name: Get version | |
id: get_version | |
uses: battila7/get-version-action@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Fix setuptools_scm-generated version | |
id: fix_version | |
run: | | |
pip install setuptools_scm | |
version=$(SETUPTOOLS_SCM_DEBUG=1 python setup.py --version) | |
echo "::set-output name=version::$(echo $version)" | |
- name: Download Linux build | |
uses: actions/download-artifact@v3 | |
with: | |
name: dtool-lookup-gui-linux-release | |
- name: Download Windows build | |
uses: actions/download-artifact@v3 | |
with: | |
name: dtool-lookup-gui-windows-release | |
- name: Download Windows installer build | |
uses: actions/download-artifact@v3 | |
with: | |
name: dtool-lookup-gui-windows-installer-release | |
- name: Download MacOS build | |
uses: actions/download-artifact@v3 | |
with: | |
name: dtool-lookup-gui-macos-release | |
- name: List release builds | |
run: | | |
ls -lhv . | |
- name: Get master HEAD SHA | |
id: get_master_sha | |
run: | | |
git fetch --depth 1 origin master | |
echo "Commit that triggered this workflow: ${{ github.sha }}" | |
echo "HEAD at master: $(git rev-parse master)" | |
echo "::set-output name=sha::$(git rev-parse origin/master)" | |
- name: Make release | |
if: >- | |
github.event_name == 'push' && | |
startsWith(github.ref, 'refs/tags') && | |
steps.get_master_sha.outputs.sha == github.sha | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
dtool-lookup-gui-${{ steps.fix_version.outputs.version }}-linux.tar.gz | |
dtool-lookup-gui-${{ steps.fix_version.outputs.version }}-macos.dmg | |
dtool-lookup-gui-${{ steps.fix_version.outputs.version }}-windows.zip | |
dtool-lookup-gui-${{ steps.fix_version.outputs.version }}-windows-installer.exe | |
draft: true |