Skip to content

QAX Build

QAX Build #15

Workflow file for this run

name: QAX Build
on:
push:
branches:
- 'master'
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
pull_request:
branches:
- 'develop'
- 'master'
workflow_dispatch:
jobs:
build:
# whilst we might never need it, it does however fleshout the idea of multiple os and py builds
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["windows-latest", "ubuntu-latest"]
python-version: ["3.11"]
env:
# mostly used as helpers for retrieving as env vars within inno setup
WORKDIR: ${{ github.workspace }}
CONDA_ENV: "qax"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Establish Env
uses: ./.github/actions/environment
with:
env-name: "${{ env.CONDA_ENV }}"
- name: Build QAX
id: qax-build
uses: ./.github/actions/build-qax
with:
env-name: "${{ env.CONDA_ENV }}"
- name: Build Docs Linux
if: matrix.os == 'ubuntu-latest'
uses: ./.github/actions/docs-linux
with:
env-name: "${{ env.CONDA_ENV }}"
- name: Build Docs Windows
if: matrix.os == 'windows-latest'
uses: ./.github/actions/docs-windows
with:
env-name: "${{ env.CONDA_ENV }}"
- name: Windows Distributions
if: matrix.os == 'windows-latest'
uses: ./.github/actions/windows
with:
env-name: "${{ env.CONDA_ENV }}"
qax-version: "${{ steps.qax-build.outputs.version }}"
- name: Upload
if: matrix.os == 'windows-latest'
uses: ./.github/actions/upload-qax-windows
with:
dist-name: "qax_dist_v${{ steps.qax-build.outputs.version }}"
dist-path: "qax_dist_v${{ steps.qax-build.outputs.version }}.zip"
setup-name: "qax_setup_v${{ steps.qax-build.outputs.version }}"
setup-path: "qax_setup_v${{ steps.qax-build.outputs.version }}.exe"
- name: Upload PDF Doc
if: matrix.os == 'ubuntu-latest'
uses: ./.github/actions/upload-pdf-doc
with:
pdf-name: "HydrOfficeQAX.pdf"
pdf-path: "docs/_build/latex/HydrOfficeQAX.pdf"
# as we need to provide windows builds, only release from matrix op running windows
- name: Release
if: |
matrix.os == 'windows-latest' &&
startsWith(github.ref, 'refs/tags/v') &&
github.repository_owner == 'ausseabed'
uses: ./.github/actions/release
with:
dist-path: "qax_dist_v${{ steps.qax-build.outputs.version }}.zip"
setup-path: "qax_setup_v${{ steps.qax-build.outputs.version }}.exe"
# pdf-path: "docs/_build/latex/HydrOfficeQAX.pdf"