From b8a9264c4fe789213cb0fe2473b15a974f45f79b Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Wed, 13 Apr 2022 07:23:36 +0200 Subject: [PATCH] github build action for Linux and Windows (#175) * initial github build action * Github actions: Install Qt 5.15 ... We use a specific Github Action for this, since the current Qt version shipping with Ubuntu is too old. * Github Action: Cache Qt installation * Github Action: Build on Linux and Windows Co-authored-by: Richard Spindler --- .github/workflows/qmake.yml | 85 +++++++++++++++++++++++++++++++++++++ README.md | 2 + 2 files changed, 87 insertions(+) create mode 100644 .github/workflows/qmake.yml diff --git a/.github/workflows/qmake.yml b/.github/workflows/qmake.yml new file mode 100644 index 00000000..ffc91214 --- /dev/null +++ b/.github/workflows/qmake.yml @@ -0,0 +1,85 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build-linux: + name: Linux build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt + uses: actions/cache@v1 # not v2! + with: + path: ../Qt + key: ${{ runner.os }}-QtCache + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '5.15.2' + host: 'linux' + target: 'desktop' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - name: Ubuntu and Qt version + run: | + cat /etc/issue + echo number of processors: $(nproc) + qmake -v + - name: qmake + run: qmake qskinny.pro + - name: make + run: make -j$(nproc) + + build-windows: + name: Windows build + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt + uses: actions/cache@v1 # not v2! + with: + path: ../Qt + key: ${{ runner.os }}-QtCache + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '5.15.2' + host: 'windows' + target: 'desktop' + arch: 'win64_msvc2019_64' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Qt version + run: qmake -v + shell: cmd + + - name: qmake + run: qmake qskinny.pro + shell: cmd + + - name: nmake + run: nmake + shell: cmd diff --git a/README.md b/README.md index 25e19754..dcdc8065 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # QSkinny +![](https://github.com/uwerat/qskinny/workflows/CI/badge.svg) + The (Q)Skinny library is a framework built on top of the Qt scene graph and very few core classes from Qt/Quick. It offers a set of lightweight controls, that can be used from C++ and/or QML.