Skip to content

Test

Test #702

Workflow file for this run

name: Build qView
on:
push:
pull_request:
workflow_dispatch:
inputs:
isRelease:
type: boolean
description: 'Is this a release build?'
required: false
default: false
appleNotarize:
type: boolean
description: 'Notarize with Apple?'
required: false
default: false
jobs:
build:
strategy:
matrix:
include:
- runner: 'ubuntu-20.04'
qtVersion: '5.15.2'
- runner: 'ubuntu-20.04'
qtVersion: '5.9'
osSuffix: '_qt5.9'
skipPlugins: 'true'
- runner: 'macos-14'
qtVersion: '6.7.3'
qtModules: 'qtimageformats'
buildArch: 'Universal'
- runner: 'macos-13'
qtVersion: '5.15.2'
osSuffix: '_legacy'
- runner: 'windows-2022'
qtVersion: '6.7.3'
qtArch: 'win64_msvc2019_64'
osSuffix: '_64'
qtModules: 'qtimageformats'
- runner: 'windows-2022'
qtVersion: '6.7.3'
qtArch: 'win64_msvc2019_arm64'
osSuffix: '_arm64'
qtModules: 'qtimageformats'
buildArch: 'Arm64'
- runner: 'windows-2022'
qtVersion: '5.15.2'
qtArch: 'win32_msvc2019'
osSuffix: '_32'
buildArch: 'X86'
runs-on: ${{ matrix.runner }}
steps:
- name: Set environment variables
shell: bash
run: |
echo "qtArch=${{ matrix.qtArch }}" >> $GITHUB_ENV
echo "buildArch=${{ matrix.buildArch }}" >> $GITHUB_ENV
if [ "${{ inputs.isRelease }}" != "true" ]; then
buildNum=$(date '+%Y-%m-%d').$GITHUB_RUN_ATTEMPT
echo "nightlyDefines=NIGHTLY=$buildNum" >> $GITHUB_ENV
echo "nightlyString=-nightly" >> $GITHUB_ENV
echo "buildNumString=$buildNum" >> $GITHUB_ENV
fi
- uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qtVersion }}
arch: ${{ matrix.qtArch }}
cache: true
modules: ${{ matrix.qtModules }}
- name: Build qView
shell: pwsh
run: dist/scripts/build.ps1
- name: Deploy qView
env:
APPLE_NOTARIZE_REQUESTED: ${{ inputs.appleNotarize }}
APPLE_DEVID_APP_CERT_DATA: ${{ secrets.APPLE_DEVID_APP_CERT_DATA }}
APPLE_DEVID_APP_CERT_PASS: ${{ secrets.APPLE_DEVID_APP_CERT_PASS }}
APPLE_ID_USER: ${{ secrets.APPLE_ID_USER }}
APPLE_ID_PASS: ${{ secrets.APPLE_ID_PASS }}
shell: pwsh
run: |
if ("${{ matrix.skipPlugins }}" -ne "true") {
Invoke-Expression "& 'dist/scripts/download-plugins.ps1'"
}
if ($IsWindows) {
Invoke-Expression "& 'dist/scripts/windeployqt.ps1' ${{ env.buildNumString }}"
} elseif ($IsMacOS) {
bash dist/scripts/macdeploy.sh ${{ env.buildNumString }}
} else {
bash dist/scripts/linuxdeployqt.sh ${{ env.buildNumString }}
}
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: qView${{ env.nightlyString }}-${{ runner.os }}${{ matrix.osSuffix }}-${{ env.buildNumString }}
path: bin