Skip to content

Commit

Permalink
Fixed codeql.yml apt failure
Browse files Browse the repository at this point in the history
CI builds of desktop versions (against prebuild QT packages):
- windows msvc x64 (NOK, qt build issue, commented out)
- linux gcc x64
- macos clang
CI builds of smartphone versions:
- linux android (NOK, cmake config issue, commented out)
- macos ios (NOK, cmake config issue, commented out)

CI builds of openssl, qt libs:
- windows msvc x64
- linux gcc x64
- macos clang
CI builds of smartphone versions:
- linux android
- macos ios
  • Loading branch information
chcg committed Oct 1, 2023
1 parent e504fa5 commit aa50f64
Show file tree
Hide file tree
Showing 5 changed files with 379 additions and 3 deletions.
13 changes: 13 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
227 changes: 227 additions & 0 deletions .github/workflows/CI_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
name: CI_build

on: [push, pull_request]

jobs:
#build:

# failing with D:\a\AusweisApp2\AusweisApp2\test\helper\common\MockReleaseInformation.cpp(42,35): error C2248: 'QString::QString': cannot access private member declared in class 'QString' [C:\_build\test\helper\common\AusweisAppTestHelperCommon.vcxproj]

# runs-on: windows-latest
# strategy:
# fail-fast: false
# matrix:
# build_configuration: [Release]
# build_platform: [x64]

# steps:

# - name: Install openssl dev
# run: |
# choco install openssl
# dir "C:\Program Files"

# - name: Checkout repo
# uses: actions/checkout@v4

# - name: Add msbuild to PATH
# uses: microsoft/setup-msbuild@v1

# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '6.5.*'
# modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity'
# setup-python: 'false'

# - name: generate cmake
# run: |
# mkdir c:\_build
# cd c:\_build
# cmake -G "Visual Studio 17 2022" -A ${{ matrix.build_platform }} -T "v143" D:\a\AusweisApp2\AusweisApp2

# - name: build cmake
# run: |
# cd c:\_build
# cmake --build . --config ${{ matrix.build_configuration }} --target package

# - name: run ctest
# run: |
# cd c:\_build
# ctest --output-on-failure -C "${{ matrix.build_configuration }}"


build_linux_cmake:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]

steps:
- uses: actions/checkout@v4

- name: Install packages via apt
run: |
sudo apt update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libqt6svg6-dev libqt6websockets6-dev qt6-base-dev qt6-base-private-dev qt6-declarative-dev qt6-scxml-dev qt6-tools-dev qt6-tools-dev-tools qt6-connectivity-dev libqt6opengl6-dev libqt6shadertools6-dev libgl1-mesa-dev qt6-l10n-tools
- name: generate cmake
run: |
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" ..
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }} --target package
sudo make install
- name: run ctest
run: |
cd _build
ctest --output-on-failure -C "${{ matrix.build_configuration }}"
# failing in cmake gen step, no prebuild openssl for android
# build_linux_android_cmake:

# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# build_configuration: [Release]
# build_platform: ["Unix Makefiles"]

# steps:
# - uses: actions/checkout@v4

# - name: Install packages via apt
# run: |
# sudo apt-get update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libgl1-mesa-dev qt6-l10n-tools doxygen graphviz

# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '6.4.3'
# host: 'linux'
# target: 'desktop'
# arch: 'gcc_64'
# modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity'
# setup-python: 'false'

# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '6.4.*'
# host: 'linux'
# target: 'android'
# arch: 'android_x86_64'
# modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity'
# setup-python: 'false'

# - name: generate cmake
# run: |
# mkdir _build
# cd _build
# cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -DQT_HOST_PATH=/home/runner/work/AusweisApp2/Qt/6.4.3/gcc_64 -DCMAKE_ANDROID_ARCH_ABI=x86_64 -DCMAKE_TOOLCHAIN_FILE=../cmake/android.toolchain.cmake ..

# - name: build cmake
# run: |
# cd _build
# cmake --build . --config ${{ matrix.build_configuration }}

# - name: run ctest
# run: |
# cd _build
# ctest --output-on-failure -C "${{ matrix.build_configuration }}"


build_macos_cmake:

runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]

steps:
- uses: actions/checkout@v4

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.4.*'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats'
setup-python: 'false'

- name: generate cmake
run: |
export OPENSSL_ROOT=/usr/local/opt/openssl/bin
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig/
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" ..
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
- name: run ctest
run: |
cd _build
ctest --output-on-failure -C "${{ matrix.build_configuration }}"
# failing in cmake generation step: Could NOT find OpenGL (missing: OPENGL_INCLUDE_DIR)
# build_ios_cmake:

# runs-on: macos-latest
# strategy:
# fail-fast: false
# matrix:
# build_configuration: [Release]
# build_platform: ["Unix Makefiles"]

# steps:
# - uses: actions/checkout@v4

# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '6.4.*'
# modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats qtquick3d'
# setup-python: 'false'

# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '6.4.*'
# host: 'mac'
# target: 'ios'
# modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats qtquick3d'
# setup-python: 'false'

# - name: generate cmake
# run: |
# export OPENSSL_ROOT=/usr/local/opt/openssl/bin
# export LDFLAGS=-L/usr/local/opt/openssl/lib
# export CPPFLAGS=-I/usr/local/opt/openssl/include
# export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig/
# mkdir _build
# cd _build
# cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -DQT_HOST_PATH=/Users/runner/work/AusweisApp2/Qt/6.4.3/macos -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.toolchain.cmake ..

# - name: build cmake
# run: |
# cd _build
# cmake --build . --config ${{ matrix.build_configuration }}

# - name: run ctest
# run: |
# cd _build
# ctest --output-on-failure -C "${{ matrix.build_configuration }}"
136 changes: 136 additions & 0 deletions .github/workflows/CI_build_libs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: CI_build_libs

on: [push, pull_request]

jobs:
build:

runs-on: windows-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["NMake Makefiles"]

steps:

- name: Checkout repo
uses: actions/checkout@v4

- name: Add nmake
uses: ilammy/msvc-dev-cmd@v1

- name: generate cmake
run: |
mkdir c:\_build
cd c:\_build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" D:\a\AusweisApp2\AusweisApp2\libs
- name: build cmake
run: |
cd c:\_build
cmake --build . --config ${{ matrix.build_configuration }}
build_linux_cmake:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Ninja"]

steps:
- uses: actions/checkout@v4

- name: Install packages via apt
run: |
sudo apt-get update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libgl1-mesa-dev libdbus-1-dev ibclang-13-dev ninja-build
- name: generate cmake
run: |
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" ../libs
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
build_linux_android_cmake:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Ninja"]

steps:
- uses: actions/checkout@v4

- name: Install packages via apt
run: |
sudo apt-get update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libgl1-mesa-dev libdbus-1-dev ibclang-13-dev ninja-build
- name: generate cmake
run: |
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/android.toolchain.cmake ../libs
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
build_macos_cmake:

runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Ninja"]

steps:
- uses: actions/checkout@v4

- name: install ninja
run: |
brew install ninja
- name: generate cmake
run: |
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" ../libs
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
build_ios_cmake:

runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]

steps:
- uses: actions/checkout@v4

- name: generate cmake
run: |
mkdir _build
cd _build
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.toolchain.cmake ../libs
- name: build cmake
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
Loading

0 comments on commit aa50f64

Please sign in to comment.