From 4f7ad149794247cbb3bdb0d823cc8306bd587d23 Mon Sep 17 00:00:00 2001 From: larsevj Date: Thu, 12 Sep 2024 10:01:40 +0200 Subject: [PATCH] Try enabling python wheel --- .github/workflows/windows.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8aed2b66c..ec75e5239 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -45,3 +45,64 @@ jobs: mkdir cmake-build cmake -S . -B cmake-build -G "Visual Studio 16 2019" cmake --build cmake-build + + build-test-wheel: + name: Python + + strategy: + fail-fast: false + matrix: + os: ['windows-2019'] + python: ['3.11'] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + with: + # required for `git describe --tags` to work + fetch-depth: 0 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + + - name: Build Windows Wheel + run: | + python.exe -m pip install -U build delvewheel + python.exe -m build --wheel + + - name: Upload wheel as artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }} Python ${{ matrix.python }} wheel + path: dist/* + + - name: Install + run: Get-ChildItem dist\* | ForEach-Object { python.exe -m pip install $_.FullName } + + - name: Run Python tests + run: | + # Runs tests on installed distribution from an empty directory + python.exe -m pip install -r test_requirements.txt + + # pytest adds every directory up-to and including python/ into sys.path, + # meaning that "import resdata" will import python/resdata and not the installed + # one. This doesn't work because the resdata.so library only exists in + # site-packages, so we copy directories required by the tests out into its + # own temporary directory. + New-Item -ItemType Directory -Path test-run -Force + Push-Location -Path test-run + New-Item -ItemType Directory -Path .git, python -Force + New-Item -ItemType SymbolicLink -Path bin -Target ${{ github.workspace }}\bin + New-Item -ItemType SymbolicLink -Path lib -Target ${{ github.workspace }}\lib + New-Item -ItemType SymbolicLink -Path test-data -Target ${{ github.workspace }}\test-data + Copy-Item -Path ${{ github.workspace }}\python\tests -Destination .\python\tests -Recurse -Force + + # Env vars + $env:RD_SKIP_SIGNAL = "1" + $env:ERT_SHOW_BACKTRACE = "1" + + # Run tests + python.exe -m pytest python/tests