Skip to content

[submodule] Update to latest premake-ninja #41

[submodule] Update to latest premake-ninja

[submodule] Update to latest premake-ninja #41

name: premake5-qt-ubuntu-ninja
on:
workflow_dispatch:
push:
paths:
- 'projects-qt/project-*/**'
- '.github/workflows/premake5-qt-ubuntu-ninja.yml'
- '.github/actions/install-premake5/action.yml'
- '!**/*.md'
- '!projects-qt/**/unsupported_by_*'
- '!**/premake4.lua'
- 'projects-qt/**/unsupported_by_ninja'
- 'projects-qt/**/unsupported_by_premake5_ninja'
- 'submodules/premake-ninja'
- 'submodules/premake-qt'
pull_request:
paths:
- 'projects-qt/project-*/**'
- '.github/workflows/premake5-qt-ubuntu-ninja.yml'
- '.github/actions/install-premake5/action.yml'
- '!**/*.md'
- '!projects-qt/**/unsupported_by_*'
- '!**/premake4.lua'
- 'projects-qt/**/unsupported_by_ninja'
- 'projects-qt/**/unsupported_by_premake5_ninja'
- 'submodules/premake-ninja'
- 'submodules/premake-qt'
jobs:
linux:
strategy:
fail-fast: false
matrix:
qt-version: ['5.15.0', '6.0.4', '6.1.0', '6.7.0']
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: install premake5
uses: ./.github/actions/install-premake5
with:
repository: premake/premake-core
- name: apt-get update
run: sudo apt-get update -y
- name: apt-get install ninja-build
run: |
sudo apt-get install -y ninja-build
- name: ninja --version
run: ninja --version
- name: add premake ninja module
run: |
echo "require 'submodules/premake-ninja/ninja'" >> premake-system.lua
- name: Installing Qt${{matrix.qt-version}} ubuntu
uses: jurplel/install-qt-action@v4
with:
version: ${{matrix.qt-version}}
cache: true
cache-key-prefix: 'qt-action@v4-Qt${{matrix.qt-version}}_ubuntu'
- name: set environment variable
run: |
echo QT_DIR=$QT_ROOT_DIR
echo QT_DIR=$QT_ROOT_DIR >> $GITHUB_ENV
# /home/runner/work/premake-sample-projects/Qt/5.15.0/gcc_64
- name: install libxkbcommon-x11-0 # display dependency
run: sudo apt-get install libxkbcommon-x11-0
- name: test projects default(gcc)
timeout-minutes: 5 # tends to not stop properly in case of failure
run: | # fake X-server as Qt widget requires displays :/
# Cannot use environment variable ($QT_ROOT_DIR ) in command line, so use environment variable (QT_DIR) or its hardcoded value
xvfb-run -a python3 ./test_projects.py premake5 projects-qt ninja --scripts=`pwd` --qt-version=${{ matrix.qt-version }}