Skip to content

Add tools

Add tools #68

Workflow file for this run

# ref: https://github.com/actions/runner-images
name: amd64 Windows
on: [push, pull_request, workflow_dispatch]
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{name: "VS22", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
#{name: "VS22", generator: "Visual Studio 17 2022", config: Debug, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
python: [
{version: "3.9", dir: Python309},
{version: "3.10", dir: Python310},
{version: "3.11", dir: Python311},
{version: "3.12", dir: Python312},
{version: "3.13", dir: Python313},
]
fail-fast: false
name: Windows•${{ matrix.cmake.name }}(${{ matrix.cmake.config }})•Py${{ matrix.python.version }}
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
steps:
- uses: actions/checkout@v4
- name: Install SWIG 4.3.0
run: |
(New-Object System.Net.WebClient).DownloadFile("http://prdownloads.sourceforge.net/swig/swigwin-4.3.0.zip","swigwin-4.3.0.zip");
Expand-Archive .\swigwin-4.3.0.zip .;
echo "$((Get-Item .).FullName)/swigwin-4.3.0" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Check swig
run: swig -version
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
- name: Install python3
run: python3 -m pip install --user mypy setuptools wheel numpy pandas
- name: Add Python binaries to path
run: >
echo "$((Get-Item ~).FullName)/AppData/Roaming/Python/${{ matrix.python.dir }}/Scripts" |
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Check cmake
run: |
cmake --version
cmake -G || true
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_CONFIGURATION_TYPES=${{ matrix.cmake.config }}
-DBUILD_DEPS=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
-v