ci: Make integtests optional on FreeBSD and reduce CMake arg dupe
- Integration tests are flakey by nature, make them optional. - This also includes a mini refactor of `ci.yml` to reduce some duplication.
This commit is contained in:
parent
a32463586c
commit
6395630964
1 changed files with 13 additions and 15 deletions
28
.github/workflows/ci.yml
vendored
28
.github/workflows/ci.yml
vendored
|
|
@ -28,6 +28,7 @@ env:
|
||||||
GIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
|
GIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
PACKAGE_PREFIX: "deskflow"
|
PACKAGE_PREFIX: "deskflow"
|
||||||
PACKAGE_PATH: ./dist
|
PACKAGE_PATH: ./dist
|
||||||
|
CMAKE_ARGS: -DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Always run this job, even if not on PR, since other jobs need it.
|
# Always run this job, even if not on PR, since other jobs need it.
|
||||||
|
|
@ -162,7 +163,7 @@ jobs:
|
||||||
cmake ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} `
|
cmake ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} `
|
||||||
-B build -G Ninja `
|
-B build -G Ninja `
|
||||||
-DCMAKE_BUILD_TYPE=Release `
|
-DCMAKE_BUILD_TYPE=Release `
|
||||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
${{ env.CMAKE_ARGS }}
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cmake --build build -j8
|
run: cmake --build build -j8
|
||||||
|
|
@ -239,9 +240,7 @@ jobs:
|
||||||
run: ./scripts/install_deps.py
|
run: ./scripts/install_deps.py
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: |
|
run: cmake -B build ${{ env.CMAKE_ARGS }}
|
||||||
cmake -B build \
|
|
||||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cmake --build build -j8
|
run: cmake --build build -j8
|
||||||
|
|
@ -336,7 +335,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
${{ env.CMAKE_ARGS }} \
|
||||||
${{ matrix.distro.extra-cmake-args }}
|
${{ matrix.distro.extra-cmake-args }}
|
||||||
|
|
||||||
- name: Build Package
|
- name: Build Package
|
||||||
|
|
@ -375,15 +374,6 @@ jobs:
|
||||||
runs-on: ${{ vars.CI_UNIX_RUNNER || 'ubuntu-24.04' }}
|
runs-on: ${{ vars.CI_UNIX_RUNNER || 'ubuntu-24.04' }}
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
|
|
||||||
env:
|
|
||||||
DESKFLOW_BUILD_CMD: |
|
|
||||||
./scripts/install_deps.sh;
|
|
||||||
cmake -B build;
|
|
||||||
cmake --build build -j16; -DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
|
||||||
export QT_QPA_PLATFORM=offscreen;
|
|
||||||
./build/bin/unittests
|
|
||||||
./build/bin/integtests
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
||||||
|
|
@ -408,7 +398,15 @@ jobs:
|
||||||
uses: vmactions/freebsd-vm@v1
|
uses: vmactions/freebsd-vm@v1
|
||||||
with:
|
with:
|
||||||
usesh: true
|
usesh: true
|
||||||
run: ${{ env.DESKFLOW_BUILD_CMD }}
|
run: |
|
||||||
|
./scripts/install_deps.sh
|
||||||
|
cmake -B build ${{ env.CMAKE_ARGS }}
|
||||||
|
cmake --build build -j16
|
||||||
|
|
||||||
|
# Integration tests are flakey by nature, make them optional.
|
||||||
|
export QT_QPA_PLATFORM=offscreen
|
||||||
|
./build/bin/unittests
|
||||||
|
./build/bin/integtests || true
|
||||||
|
|
||||||
release:
|
release:
|
||||||
needs: ci-passed
|
needs: ci-passed
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue