Skip to content

Test

Test #661

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'
# buildArch: 'X64'
# - runner: 'macos-14'
# qtVersion: '6.7.3'
# qtModules: 'qtimageformats'
# buildArch: 'Universal'
# - runner: 'macos-14'
# qtVersion: '5.15.2'
# osSuffix: '_legacy'
# buildArch: 'X64'
# - runner: 'windows-2022'
# qtVersion: '6.7.3'
# qtArch: 'win64_msvc2019_64'
# osSuffix: '_64'
# qtModules: 'qtimageformats'
# buildArch: 'X64'
- 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 "buildArch=${{ matrix.buildArch }}" >> $GITHUB_ENV
if [ "${{ inputs.isRelease }}" != "true" ]; then
buildNum=$(date '+%Y-%m-%d').${GITHUB_SHA::7}
echo "nightlyDefines=NIGHTLY=$buildNum" >> $GITHUB_ENV
echo "buildNumString=$buildNum" >> $GITHUB_ENV
fi
- name: Checkout
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 == 'true' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }}
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 }} ${{ matrix.osSuffix }}
} else {
bash dist/scripts/linuxdeployqt.sh ${{ env.buildNumString }}
}
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: qView-JDP${{ env.buildNumString != '' && '-' || '' }}${{ env.buildNumString }}-${{ runner.os }}${{ matrix.osSuffix }}
path: bin