From ebaecbcb7eb95fac4c48c6e482da4ddf1eaae76e Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 14 Dec 2023 15:03:53 +0100 Subject: [PATCH] Add support for running the tests in the CI This is relatively straight-forward using nox. One little change required was the change to the MACOSX_DEPLOYMENT_TARGET. maturin requires it to be a full version, and GitHub actions requires it to be quoted consequently, otherwise it interprets 11.0 as 11 and stores that instead. --- .github/workflows/ci.yaml | 48 +++++++++++++++++++++++- .github/workflows/cpp_package.yaml | 2 +- .github/workflows/nightly_snapshot.yaml | 2 +- .github/workflows/slint_tool_binary.yaml | 2 +- 4 files changed, 50 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bc5b37d4ee..6c2779a802 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,7 +11,7 @@ on: workflow_dispatch: env: - MACOSX_DEPLOYMENT_TARGET: 11 + MACOSX_DEPLOYMENT_TARGET: "11.0" jobs: build_and_test: @@ -141,6 +141,52 @@ jobs: - name: Run test-driver-nodejs run: cargo test --verbose --all-features -p test-driver-nodejs -p slint-node + python_test: + env: + DYLD_FRAMEWORK_PATH: /Users/runner/work/slint/Qt/5.15.2/clang_64/lib + QT_QPA_PLATFORM: offscreen + RUSTFLAGS: -D warnings + CARGO_PROFILE_DEV_DEBUG: 0 + CARGO_INCREMENTAL: false + RUST_BACKTRACE: full + strategy: + matrix: + os: [ubuntu-22.04, macos-11, windows-2022] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/install-linux-dependencies + - name: Install Qt + if: runner.os != 'Windows' + uses: jurplel/install-qt-action@v3 + with: + version: '5.15.2' + setup-python: false + cache: true + - name: Setup headless display + uses: pyvista/setup-headless-display-action@v1 + - name: Set default style + if: matrix.os != 'windows-2022' + run: | + echo "SLINT_STYLE=native" >> $GITHUB_ENV + - name: Set default style + if: matrix.os == 'windows-2022' + run: | + echo "SLINT_STYLE=fluent" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + echo "SLINT_NO_QT=1" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + - uses: ./.github/actions/setup-rust + with: + key: x-napi-v2-${{ steps.node-install.outputs.node-version }} # the cache key consists of a manually bumpable version and the node version, as the cached rustc artifacts contain linking information where to find node.lib, which is in a versioned directory. + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - uses: fjwillemsen/setup-nox2@v3.0.0 + - name: Run python tests + working-directory: ./api/python + run: nox + cpp_test_driver: env: DYLD_FRAMEWORK_PATH: /Users/runner/work/slint/Qt/5.15.2/clang_64/lib diff --git a/.github/workflows/cpp_package.yaml b/.github/workflows/cpp_package.yaml index 40cd11d37d..6fe01fcff6 100644 --- a/.github/workflows/cpp_package.yaml +++ b/.github/workflows/cpp_package.yaml @@ -8,7 +8,7 @@ on: workflow_call: env: - MACOSX_DEPLOYMENT_TARGET: 11 + MACOSX_DEPLOYMENT_TARGET: "11.0" jobs: cmake_package: diff --git a/.github/workflows/nightly_snapshot.yaml b/.github/workflows/nightly_snapshot.yaml index b3902c7c85..3379df88e3 100644 --- a/.github/workflows/nightly_snapshot.yaml +++ b/.github/workflows/nightly_snapshot.yaml @@ -23,7 +23,7 @@ on: env: SLINT_BINARY_FEATURES: "backend-winit,renderer-femtovg,renderer-skia,renderer-software" - MACOSX_DEPLOYMENT_TARGET: 11 + MACOSX_DEPLOYMENT_TARGET: "11.0" jobs: slint-viewer-binary: diff --git a/.github/workflows/slint_tool_binary.yaml b/.github/workflows/slint_tool_binary.yaml index 384200d981..7cbfe68e62 100644 --- a/.github/workflows/slint_tool_binary.yaml +++ b/.github/workflows/slint_tool_binary.yaml @@ -28,7 +28,7 @@ on: default: "backend-winit,renderer-femtovg,renderer-skia" env: - MACOSX_DEPLOYMENT_TARGET: 11 + MACOSX_DEPLOYMENT_TARGET: "11.0" jobs: build_windows: