Skip to content

CI: Enable Qt5 + lightpreview #4

CI: Enable Qt5 + lightpreview

CI: Enable Qt5 + lightpreview #4

name: Continuous Building
on:
- push
- pull_request
jobs:
build:
name: Build the artifact
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- macos-12
- windows-2022
use-asan:
- YES
- NO
exclude:
- os: windows-2022
use-asan: YES
env:
USE_ASAN: ${{ matrix.use-asan }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: 'Linux: Install Qt5'
if: startsWith(matrix.os, 'ubuntu-')
run: |
sudo apt update
sudo apt install qtbase5-dev libqt5svg5-dev
- name: 'Linux: Build the artifact'
if: startsWith(matrix.os, 'ubuntu-')
run: ./build-linux-64.sh
- name: 'Linux: Upload the artifact'
if: ${{ startsWith(matrix.os, 'ubuntu-') && matrix.use-asan == 'NO' }}
uses: actions/upload-artifact@v4
with:
name: ericw-tools-${{ github.sha }}-linux
path: build-linux/*-Linux.zip
- name: 'macOS: Install Qt5'
if: ${{ startsWith(matrix.os, 'macos-') }}
uses: jurplel/install-qt-action@v3
with:
version: 5.15.2
- name: 'macOS: Build the artifact'
if: startsWith(matrix.os, 'macos-')
run: ./build-osx.sh
- name: 'macOS: Upload the artifact'
if: ${{ startsWith(matrix.os, 'macos-') && matrix.use-asan == 'NO' }}
uses: actions/upload-artifact@v4
with:
name: ericw-tools-${{ github.sha }}-macos
path: build-osx/*-Darwin.zip
- name: 'Windows: Setup MSVC environment'
if: startsWith(matrix.os, 'windows-')
uses: ilammy/msvc-dev-cmd@v1
- name: 'Windows: Install Qt5'
if: ${{ startsWith(matrix.os, 'windows-') }}
uses: jurplel/install-qt-action@v3
with:
version: 5.15.2
arch: win64_msvc2019_64
- name: 'Windows: Build the artifact'
if: startsWith(matrix.os, 'windows-')
run: .\build-windows.ps1
- name: 'Windows: Upload the artifact'
if: ${{ startsWith(matrix.os, 'windows-') && matrix.use-asan == 'NO' }}
uses: actions/upload-artifact@v4
with:
name: ericw-tools-${{ github.sha }}-windows
path: build-windows/*-win64.zip
- name: Create GitHub Release and upload builds
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.use-asan == 'NO' }}
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
build-osx/ericw-tools-*.zip
build-linux/ericw-tools-*.zip
build-windows/ericw-tools-*.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}