Skip to content

Make the EOS syntax highlighter a bit more comprehensive #63

Make the EOS syntax highlighter a bit more comprehensive

Make the EOS syntax highlighter a bit more comprehensive #63

Workflow file for this run

name: CMake CI
on:
push:
pull_request:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: 'linux-x86'
os: 'ubuntu-latest'
target: 'desktop'
generator: 'Ninja'
- name: 'linux-arm'
os: 'ubuntu-24.04-arm'
target: 'desktop'
generator: 'Ninja'
- name: 'windows-x86'
os: 'windows-latest'
arch: 'win64_mingw'
target: 'desktop'
generator: 'Ninja'
- name: 'macos-arm'
os: 'macos-latest'
target: 'desktop'
generator: 'Ninja'
steps:
- name: Checkout
uses: actions/[email protected]
with:
submodules: true
- name: Install Qt
uses: jurplel/install-qt-action@d325aaf2a8baeeda41ad0b5d39f84a6af9bcf005
with:
cache: true
arch: ${{ matrix.arch }}
target: ${{ matrix.target }}
- name: Update and install MSYS2 (64bit)
if: ${{ runner.os == 'Windows' }}
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
release: true
update: false
path-type: inherit
install: >-
zip
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gcc-libs
mingw-w64-x86_64-cmake
- name: Generate build files
if: ${{ runner.os != 'Windows' }}
run: qt-cmake -G "${{ matrix.generator }}" -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output
- name: Generate build files for Windows
if: ${{ runner.os == 'Windows' }}
shell: msys2 {0}
run: cmake -G "${{ matrix.generator }}" -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output
- name: Build with CMake
if: ${{ runner.os != 'Windows' }}
run: cmake --build build --target install
- name: Build with CMake on Windows
if: ${{ runner.os == 'Windows' }}
shell: msys2 {0}
run: cmake --build build --target install
- name: Prepare Linux bundle for distribution
if: ${{ runner.os == 'Linux' }}
run: |
cd output/bin
tar -czf ../universal-focus-remote-${{ matrix.name }}.tar.gz *
cd ..
rm -rf bin
- name: Prepare MacOS bundle for distribution
if: ${{ runner.os == 'macOS' }}
run: |
mkdir -p output/universal-focus-remote.app/Contents/Frameworks
cp build/include/QOsc/src/libQOsc.dylib output/universal-focus-remote.app/Contents/Frameworks
macdeployqt output/universal-focus-remote.app -dmg
rm -rf output/universal-focus-remote.app
- name: Prepare Windows executable for distribution
if: ${{ runner.os == 'Windows' }}
shell: msys2 {0}
run: |
cd output
windeployqt bin/universal-focus-remote.exe
cd bin
zip -r ../universal-focus-remote-${{ matrix.name }}.zip .
cd ..
rm -rf bin
- name: Upload build artifacts
uses: actions/[email protected]
with:
name: build-${{ matrix.name }}
path: output
if-no-files-found: error
publish:
needs: [build]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download build artifacts
uses: actions/[email protected]
with:
path: dist
merge-multiple: true
- name: Create release
uses: softprops/[email protected]
with:
files: dist/*
fail_on_unmatched_files: true