Skip to content

Updated the GitHub macOS runner due to QTBUG-117225 #101

Updated the GitHub macOS runner due to QTBUG-117225

Updated the GitHub macOS runner due to QTBUG-117225 #101

Workflow file for this run

name: Build - X11
on: [push, pull_request, workflow_dispatch]
env:
TOOLS_URL: https://github.com/mmatyas/pegasus-frontend/releases/download/alpha1
QT_TARGET: x11-static
QT_VERSION: qt51512
QT_VERSION_PRETTY: "5.15.12"
SDL_TARGET: x11-bionic
SDL_VERSION: "2.0.20"
jobs:
x11:
strategy:
matrix:
buildgen: [cmake, qmake, qmake-lcov]
runner: ['ubuntu-22.04']
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v3
with: {submodules: 'recursive', fetch-depth: 0, fetch-tags: true}
- uses: actions/cache@v3
with:
path: ~/.ccache
key: ccache-x11-${{ matrix.runner }}-${{ matrix.buildgen }}-${{ hashFiles('.github/workflows/x11.yml') }}
restore-keys: |
ccache-x11-${{ matrix.runner }}-${{ matrix.buildgen }}
ccache-x11-${{ matrix.runner }}-
ccache-x11-
ccache-
- name: APT deps
run: sudo apt-get update && sudo apt-get install -y libunwind-dev && sudo apt-get install -y
ccache
g++
lcov
libasound-dev
libgl1-mesa-dev
libgstreamer-plugins-base1.0-dev
libpulse-dev
libsdl2-dev
libudev-dev
libxcb-glx0-dev
libxcb-icccm4-dev
libxcb-image0-dev
libxcb-keysyms1-dev
libxcb-randr0-dev
libxcb-render-util0-dev
libxcb-shape0-dev
libxcb-sync-dev
libxcb-util-dev
libxcb-xfixes0-dev
libxcb-xinerama0-dev
libxi-dev
libxkbcommon-dev
libxkbcommon-x11-dev
libzstd-dev
ninja-build
ruby
xvfb
- name: Get Qt
run: |
.circleci/prepare.sh
curl -L "${TOOLS_URL}/SDL2-${SDL_VERSION}_${SDL_TARGET}.tar.xz" | tar xJf - -C /opt/
/opt/${QT_VERSION}_${QT_TARGET}/bin/qmake --version
cmake --version
- run: gem install --user-install -N fpm
- run: ccache --show-stats
- name: Lint QML
run: find -name *.qml -exec /opt/${QT_VERSION}_${QT_TARGET}/bin/qmllint {} \;
- name: Configure (cmake)
if: matrix.buildgen == 'cmake'
run: cmake
-B build
-G Ninja
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_PREFIX_PATH="/opt/${QT_VERSION}_${QT_TARGET};/opt/SDL2-${SDL_VERSION}"
-DCMAKE_CXX_FLAGS=-fdiagnostics-color=always
-DCMAKE_INSTALL_PREFIX=/usr/
-DPEGASUS_ENABLE_APNG=ON
-DPEGASUS_STATIC_CXX=ON
- name: Build (cmake)
if: matrix.buildgen == 'cmake'
run: cmake --build build
- name: Test (cmake)
if: matrix.buildgen == 'cmake'
run: xvfb-run -a ctest --test-dir build --rerun-failed --output-on-failure
- name: Build (qmake)
env:
BUILDOPTS:
USE_SDL_GAMEPAD=1
USE_SDL_POWER=1
INSTALL_BINDIR=/usr/bin
INSTALL_ICONDIR=/usr/share/icons/hicolor
INSTALL_DESKTOPDIR=/usr/share/applications
INSTALL_APPSTREAMDIR=/usr/share/metainfo
INSTALL_DOCDIR=/usr/share/doc/pegasus-frontend
SDL_LIBS="-L/opt/SDL2-2.0.20/lib -lSDL2"
SDL_INCLUDES=/opt/SDL2-2.0.20/include/SDL2
CONFIG+=ccache
INSTALL_BINDIR: /usr/bin/
run: .circleci/build.sh && .circleci/objdump_linux.sh '' && .circleci/zip_linux.sh
if: matrix.buildgen == 'qmake'
- run: PATH="$PATH:/home/runner/.local/share/gem/ruby/3.0.0/bin" ../.travis/script__create_deb.sh
working-directory: dist
if: matrix.buildgen == 'qmake'
- name: Measure
if: matrix.buildgen == 'qmake-lcov'
run: xvfb-run -a .travis/script__build_with_lcov.sh
- name: Send to Coveralls
if: matrix.buildgen == 'qmake-lcov'
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: coverage.clean
- name: Upload artifact
if: matrix.buildgen == 'qmake'
uses: actions/upload-artifact@v3
with:
name: x11-static
path: dist
- name: Deploy
if: matrix.buildgen == 'qmake' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master'
uses: peaceiris/actions-gh-pages@v3
with:
external_repository: mmatyas/pegasus-deploy-staging
personal_token: ${{ secrets.PEGASUS_GHACTIONS_TOKEN }}
publish_branch: continuous-x11-static
publish_dir: ./dist
force_orphan: true