97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
name: Continuous Building
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
build-and-upload:
|
|
name: Build & upload 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: Prepare the artifact'
|
|
if: ${{ startsWith(matrix.os, 'ubuntu-') }}
|
|
run: |
|
|
mkdir ericw-tools-linux
|
|
unzip build-linux/*-Linux.zip -d ericw-tools-linux
|
|
- name: 'Linux: Upload the artifact'
|
|
if: ${{ startsWith(matrix.os, 'ubuntu-') && matrix.use-asan == 'NO' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: ericw-tools-linux/
|
|
name: ericw-tools-${{ github.sha }}-linux
|
|
if-no-files-found: error
|
|
|
|
- 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: Prepare the artifact'
|
|
if: ${{ startsWith(matrix.os, 'macos-') }}
|
|
run: |
|
|
mkdir ericw-tools-macos
|
|
unzip build-osx/*-Darwin.zip -d ericw-tools-macos
|
|
- name: 'macOS: Upload the artifact'
|
|
if: ${{ startsWith(matrix.os, 'macos-') && matrix.use-asan == 'NO' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: ericw-tools-macos/
|
|
name: ericw-tools-${{ github.sha }}-macos
|
|
if-no-files-found: error
|
|
|
|
- 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: Prepare the artifact'
|
|
if: ${{ startsWith(matrix.os, 'windows-') }}
|
|
run: |
|
|
7z x build-windows\*-win64.zip -o"ericw-tools-windows\" -y
|
|
shell: pwsh
|
|
- name: 'Windows: Upload the artifact'
|
|
if: ${{ startsWith(matrix.os, 'windows-') && matrix.use-asan == 'NO' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: ericw-tools-windows/
|
|
name: ericw-tools-${{ github.sha }}-windows
|
|
if-no-files-found: error
|