Merge pull request #301 from livMatS/dependabot/pip/pyinstaller/pyasn… #505
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-22.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.12 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.12 | |
- 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 build | |
pip install -r requirements.txt | |
- name: Package distribution | |
run: | | |
python -m build --sdist --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 "sha=$(git rev-parse origin/master)" >> $GITHUB_OUTPUT | |
- 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.12 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.12 | |
- name: Fix setuptools_scm-generated version | |
id: fix_version | |
run: | | |
pip install setuptools_scm | |
version=$(SETUPTOOLS_SCM_DEBUG=1 python -m setuptools_scm) | |
echo "version=$version" >> $GITHUB_OUTPUT | |
- 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 "sha=$(git rev-parse origin/master)" >> $GITHUB_OUTPUT | |
- 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 |