fix cmake and ci for libusb branch #402
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Linux | |
on: | |
push: | |
branches: [ master, feature/github-actions, test/libusb ] | |
pull_request: | |
branches: [ master, feature/github-actions ] | |
jobs: | |
build: | |
name: "Build: ${{ matrix.os }} - ${{ matrix.qtver }}" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
arch: [x64] | |
config: [Release] | |
statictype: [ON, OFF] | |
include: | |
- statictype: ON | |
qtver: Qt6 | |
host_triplet: release | |
release_suffix: static | |
- statictype: OFF | |
qtver: Qt6-Dynamic | |
host_triplet: dynamic-apng-release | |
release_suffix: shared | |
steps: | |
- name: Checkout Git Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: workaround for default apt mirror connectivity issues | |
run: | | |
sudo sed -i 's/azure\.//' /etc/apt/sources.list | |
- name: Install dependencies | |
run: | | |
set -e | |
sudo apt install -y autoconf automake autoconf-archive '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev libudev-dev libusb-1.0-0-dev | |
- name: Install latest CMake | |
uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # latest as of 2024-08-08 | |
- name: Restore artifacts, or setup vcpkg (do not install any package) | |
uses: lukka/run-vcpkg@d87e7fac99f22776a4973d7e413921ea254c1fc9 # latest as of 2024-08-08 | |
with: | |
vcpkgJsonGlob: '**/gui/qt/vcpkg.json' | |
- name: Build CEmu ${{ matrix.qtver }} ${{ matrix.config }} on Linux ${{ matrix.arch }} | |
uses: lukka/run-cmake@4b1adc1944be8367be9f4e08303ce49918db8e3c # latest as of 2024-08-08 | |
with: | |
cmakeListsTxtPath: '${{ github.workspace }}/gui/qt/CMakeLists.txt' | |
configurePreset: 'Linux-${{ matrix.arch }}-${{ matrix.qtver }}' | |
configurePresetAdditionalArgs: "['-DDEPS_RELEASE_ONLY=ON', '-DSHORT_VERSION=v3.0']" | |
buildPreset: 'Linux-${{ matrix.arch }}-${{ matrix.qtver }}-${{ matrix.config }}' | |
env: | |
VCPKG_DEFAULT_HOST_TRIPLET: ${{ matrix.arch }}-linux-${{ matrix.host_triplet }} | |
VCPKG_FORCE_SYSTEM_BINARIES: 1 | |
- name: Upload binary as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: CEmu_linux_${{ matrix.qtver }}_master | |
path: ${{ github.workspace }}/gui/qt/CEmu.build/Linux-${{ matrix.arch }}-${{ matrix.qtver }}/${{ matrix.config }}/CEmu | |
- name: Prepare binary for release upload | |
run: | | |
mv ${{ github.workspace }}/gui/qt/CEmu.build/Linux-${{ matrix.arch }}-${{ matrix.qtver }}/${{ matrix.config }}/CEmu ${{ github.workspace }}/CEmu-nightly_linux64_qt6_${{ matrix.release_suffix }} | |
- name: Update nightly release | |
if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' }} | |
uses: softprops/action-gh-release@d4e8205d7e959a9107da6396278b2f1f07af0f9b # latest as of 2023-01-13 | |
with: | |
tag_name: nightly | |
prerelease: true | |
token: ${{secrets.GITHUB_TOKEN}} | |
files: | | |
${{ github.workspace }}/CEmu-nightly_linux64_qt6_${{ matrix.release_suffix }} |