diff --git a/.github/workflows/test_windows_sdist.yml b/.github/workflows/test_windows_sdist.yml new file mode 100644 index 000000000..239e99046 --- /dev/null +++ b/.github/workflows/test_windows_sdist.yml @@ -0,0 +1,82 @@ +name: test-sdist +on: + pull_request: + types: [opened, reopened, labeled, synchronize] + +jobs: + build: + name: Build sdist + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure tags are fetched for versioning + - name: Setup Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: 3.11 + + - name: Update Python pip, build + shell: bash -l {0} + run: | + python -m pip install --upgrade pip build + + - name: Create source distribution + shell: bash -l {0} + run: | + python -m build --sdist . + + - name: Upload source dist as build artifact + uses: actions/upload-artifact@v4 + with: + name: python-source-distribution + path: dist + + test: + needs: build + name: Install on Windows + runs-on: windows-latest + steps: + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: | + 3.10 + 3.11 + 3.12 + + - name: Find MSVC and set environment variables + shell: bash -l {0} + env: + MSVC_PREFIX: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC' + run: | + echo "Available MSVC installations:" + ls "$MSVC_PREFIX" + + MSVC_BIN=$(ls "$MSVC_PREFIX" | tail -n 1)\\bin\\HostX64\\x64 + CC="$MSVC_PREFIX\\$MSVC_BIN\\cl.exe" + echo "CC: $CC" + echo "CC=$CC" >> $GITHUB_ENV + + CC_LD="$MSVC_PREFIX\\$MSVC_BIN\\link.exe" + echo "CC_LD: $CC_LD" + echo "CC_LD=$CC_LD" >> $GITHUB_ENV + + - name: Download artifacts to Windows environment + uses: actions/download-artifact@v4 + with: + path: dist/ + merge-multiple: true + + - name: List Files + run: ls -R + + - name: Update pip + shell: bash -l {0} + run: | + python -m pip install --upgrade pip + + - name: Install from sdist + shell: bash -l {0} + run: python -m pip install euphonic-*.tar.gz