Skip to content

Enable SV Tourney stop button. #2596

Enable SV Tourney stop button.

Enable SV Tourney stop button. #2596

name: C++ CI Serial Programs
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, macos-12, ubuntu-22.04]
qt_version: ['5.12.12', '6.3.2', '6.5.2']
include:
# Windows / Qt 5.12.12
- os: windows-2022
qt_version: '5.12.12'
qt_version_major: '5'
host: 'windows'
cmake_args: '-G "Visual Studio 17 2022"'
qt_arch: 'win64_msvc2017_64'
qt_arch_path: 'msvc2017_64'
qt_modules: ''
# Windows / Qt 6.3.2
- os: windows-2022
qt_version: '6.3.2'
qt_version_major: '6'
host: 'windows'
cmake_args: '-G "Visual Studio 17 2022"'
qt_arch: 'win64_msvc2019_64'
qt_arch_path: 'msvc2019_64'
qt_modules: '-m qtmultimedia qtserialport'
# Windows / Qt 6.5.2
- os: windows-2022
qt_version: '6.5.2'
qt_version_major: '6'
host: 'windows'
cmake_args: '-G "Visual Studio 17 2022"'
qt_arch: 'win64_msvc2019_64'
qt_arch_path: 'msvc2019_64'
qt_modules: '-m qtmultimedia qtserialport'
# Mac / Qt 5.12.12
- os: macos-12
qt_version: '5.12.12'
qt_version_major: '5'
host: 'mac'
cmake_args: ''
qt_arch: 'clang_64'
qt_arch_path: 'clang_64'
qt_modules: ''
# Mac / Qt 6.3.2
- os: macos-12
qt_version: '6.3.2'
qt_version_major: '6'
host: 'mac'
cmake_args: ''
qt_arch: 'clang_64'
qt_arch_path: 'macos'
qt_modules: '-m qtmultimedia qtserialport'
# Mac / Qt 6.5.2
- os: macos-12
qt_version: '6.5.2'
qt_version_major: '6'
host: 'mac'
cmake_args: ''
qt_arch: 'clang_64'
qt_arch_path: 'macos'
qt_modules: '-m qtmultimedia qtserialport'
# Linux / Qt 5.12.12
- os: ubuntu-22.04
qt_version: '5.12.12'
qt_version_major: '5'
host: 'linux'
cmake_args: ''
qt_arch: gcc_64
qt_arch_path: gcc_64
qt_modules: ''
# Linux / Qt 6.3.2
- os: ubuntu-22.04
qt_version: '6.3.2'
qt_version_major: '6'
host: 'linux'
cmake_args: ''
qt_arch: gcc_64
qt_arch_path: gcc_64
qt_modules: '-m qtmultimedia qtserialport'
# Linux / Qt 6.5.2
- os: ubuntu-22.04
qt_version: '6.5.2'
qt_version_major: '6'
host: 'linux'
cmake_args: ''
qt_arch: gcc_64
qt_arch_path: gcc_64
qt_modules: '-m qtmultimedia qtserialport'
steps:
- uses: actions/checkout@v3
with:
path: Arduino-Source
- uses: actions/checkout@v3
with:
repository: 'PokemonAutomation/Packages'
path: Packages
- name: Add msbuild to PATH
if: startsWith(matrix.os, 'windows')
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install mesa-common-dev libglu1-mesa-dev libegl1 libpulse-dev libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libopencv-dev
- name: Install dependencies
if: startsWith(matrix.os, 'mac')
run: |
brew install opencv
- name: Install Qt
run: |
python3 -m pip install aqtinstall
python3 -m aqt install-qt ${{ matrix.host }} desktop ${{ matrix.qt_version }} ${{ matrix.qt_arch }} ${{ matrix.qt_modules }}
- name: Run cmake
run: |
cd Arduino-Source/SerialPrograms
mkdir bin
cd bin
cmake .. -DCMAKE_PREFIX_PATH=${{ github.workspace }}/${{ matrix.qt_version }}/${{ matrix.qt_arch_path }} -DQT_MAJOR:STRING=${{ matrix.qt_version_major }} ${{ matrix.cmake_args }}
- name: Generate binaries
if: startsWith(matrix.os, 'windows')
run: |
cd Arduino-Source/SerialPrograms/bin
MSBuild.exe ./SerialPrograms.vcxproj /p:Configuration=Release /p:Platform=x64
- name: Generate binaries
if: ${{ !startsWith(matrix.os, 'windows') }}
run: |
cd Arduino-Source/SerialPrograms/bin
cmake --build . -j 10
- name: Copy resources
if: startsWith(matrix.os, 'windows')
run: |
robocopy Packages/SerialPrograms/Resources Output/Resources /s
robocopy Packages/PABotBase/PABotBase-Switch Output/PABotBase /s
robocopy Arduino-Source/SerialPrograms/bin Output/Binaries dpp.dll libcrypto-1_1-x64.dll libsodium.dll libssl-1_1-x64.dll opencv_world460.dll opus.dll Sleepy.dll tesseractPA.dll zlib1.dll
robocopy Arduino-Source/SerialPrograms/bin/Release Output/Binaries SerialPrograms.exe
exit 0
- uses: actions/upload-artifact@v3
if: startsWith(matrix.os, 'windows')
with:
name: Serial Programs for windows (${{ matrix.qt_version }})
path: Output