From f5ef4fa895dac9b29e083c4bd53d974e96fd758b Mon Sep 17 00:00:00 2001 From: DjLegolas Date: Sat, 17 Aug 2024 00:31:06 +0300 Subject: [PATCH] CI: add testing with GTK build for Windows (msvc) Closes: #265 --- .github/workflows/msvc-env.yml | 21 +++++++++++++++++++++ tests/meson.build | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.github/workflows/msvc-env.yml b/.github/workflows/msvc-env.yml index 5cbe0dc..3041bd2 100644 --- a/.github/workflows/msvc-env.yml +++ b/.github/workflows/msvc-env.yml @@ -9,15 +9,36 @@ on: jobs: build: runs-on: windows-latest + name: Build with introspection=${{ matrix.build_introspection }} env: PYTHONIOENCODING: "utf-8" + GIR_BUILD: "" + strategy: + fail-fast: false + matrix: + build_introspection: [ true, false ] steps: - uses: actions/checkout@master - uses: actions/setup-python@v1 + with: + python-version: '3.12' - uses: seanmiddleditch/gha-setup-vsdevenv@master + - name: Install GTK + if: matrix.build_introspection + run: | + $WebClient = New-Object System.Net.WebClient + $WebClient.DownloadFile("https://github.com/wingtk/gvsbuild/releases/download/2024.8.1/GTK4_Gvsbuild_2024.8.1_x64.zip","C:\GTK.zip") + 7z x C:\GTK.zip -oC:\GTK + echo "C:\GTK\lib" | Out-File -FilePath $env:GITHUB_PATH -Append + echo "C:\GTK\bin" | Out-File -FilePath $env:GITHUB_PATH -Append + echo "C:\GTK" | Out-File -FilePath $env:GITHUB_PATH -Append + echo "GIR_BUILD=-Dintrospection=enabled" >> $GITHUB_ENV + python -m pip install setuptools + python -m pip install C:\GTK\python\pycairo-1.26.1-cp312-cp312-win_amd64.whl C:\GTK\python\pygobject-3.48.2-cp312-cp312-win_amd64.whl - uses: BSFishy/meson-build@v1.0.3 with: action: test directory: _build + setup-options: ${{ env.GIR_BUILD }} options: "--verbose" meson-version: "1.0.0" diff --git a/tests/meson.build b/tests/meson.build index 5ef8b75..3f375d1 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -66,7 +66,7 @@ endif src_build_path = meson.current_build_dir() / '../src' -if build_gir and host_system == 'linux' and not meson.is_cross_build() +if build_gir and not meson.is_cross_build() foreach unit: ['introspection.py'] if get_option('installed_tests') install_data(unit, install_dir: installed_test_bindir)