Skip to content

segment 02 to 04

segment 02 to 04 #3369

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-15-large, ubuntu-24.04]
qt_version: ['5.12.12', '6.7.2']
include:
- qt_version: '5.12.12'
qt_version_major: '5'
qt_modules: ''
- qt_version: '6.7.2'
qt_version_major: '6'
qt_modules: 'qtmultimedia qtserialport'
steps:
- uses: actions/checkout@v4
with:
path: Arduino-Source
- uses: actions/checkout@v4
with:
repository: 'PokemonAutomation/Packages'
path: Packages
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install libopencv-dev
- name: Install dependencies
if: startsWith(matrix.os, 'mac')
run: |
brew install opencv
- uses: jurplel/install-qt-action@v3
with:
version: ${{ matrix.qt_version }}
modules: ${{ matrix.qt_modules }}
- name: Generate binaries
run: |
cd Arduino-Source/SerialPrograms
mkdir bin
cd bin
cmake .. -DQT_MAJOR:STRING=${{ matrix.qt_version_major }}
cmake --build . --config Release --parallel 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
echo https://github.com/${{github.repository}}/commit/${{github.sha}} > Output/version.txt
write-host "Robocopy exited with exit code:" $lastexitcode
if ($lastexitcode -eq 1)
{
exit 0
}
else
{
exit 1
}
- uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows')
with:
name: Serial Programs for windows (${{ matrix.qt_version }})
path: Output