diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36e772b..a074f9b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,11 +29,13 @@ jobs: if: success() strategy: matrix: - os: [ubuntu-latest, macos-13, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] py-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] include: - os: ubuntu-latest cvc5-plat: "linux" + - os: windows-latest + cvc5-plat: "windows" - os: macos-13 brew: "/usr/local" cvc5-plat: "osx13" @@ -54,6 +56,22 @@ jobs: brew install python@${{ matrix.py-version }} echo "${{ matrix.brew }}/opt/python@${{ matrix.py-version }}/libexec/bin" >> $GITHUB_PATH python${{ matrix.py-version }} -m ensurepip + # Step to install Scoop + - name: Install Scoop, GNU Make, and Find on Windows + if: matrix.os == 'windows-latest' + run: | + + Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') + + # Substep: Install GNU Make and Find + scoop install make + scoop install findutils + + # Substep: Check Make and Find versions + make --version + find --version + echo "$(scoop which make)" >> $GITHUB_PATH + echo "$(scoop which find)" >> $GITHUB_PATH - name: Install dependencies run: | python -m pip install --upgrade pip @@ -69,9 +87,16 @@ jobs: echo "$GITHUB_WORKSPACE" >> $GITHUB_PATH - name: Executing unit tests run: | + echo "Current PATH is:" + if [[ "$RUNNER_OS" == "Linux" || "$RUNNER_OS" == "macOS" ]]; then + echo $PATH + elif [[ "$RUNNER_OS" == "Windows" ]]; then + echo $env:PATH + fi make unit-tests - name: Executing system tests run: | + make --version make system-tests-all - name: Coverage analysis run: |