Add pyadi helpers with doc and tests (#63) #630
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Windows Builds | |
| on: [push, pull_request] | |
| jobs: | |
| TestCWindows: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.10 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies | |
| run: | | |
| choco install -y wget | |
| mkdir deps | |
| cd deps | |
| mkdir fftw3 | |
| cd fftw3 | |
| wget https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip -q -O fftw.zip | |
| 7z x -y fftw.zip | |
| ls | |
| rm fftw.zip | |
| cd ..\.. | |
| ls deps | |
| ls deps\fftw3 | |
| pwd | |
| echo $GITHUB_WORKSPACE | |
| echo $GITHUB_ACTION_PATH | |
| - name: Setup FFTW | |
| shell: cmd | |
| run: | | |
| cd deps\fftw3 | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| lib /def:libfftw3-3.def | |
| lib /def:libfftw3f-3.def | |
| lib /def:libfftw3l-3.def | |
| cd ..\.. | |
| dir deps\fftw3 | |
| echo "GITHUB_WORKSPACE: $env:GITHUB_WORKSPACE" | |
| - name: Build and test | |
| run: | | |
| "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| cmake . -DFFTW_INCLUDE_DIRS="deps\fftw3" -DFFTW_LIBRARIES="$env:GITHUB_WORKSPACE\deps\fftw3\libfftw3-3.lib" -DPython3_EXECUTABLE:FILEPATH=$(python -c "import os, sys; print(os.path.dirname(sys.executable) + '\python.exe')") -DPYTHON_BINDINGS=ON -DBUILD_TESTS_EXAMPLES=ON -G "Visual Studio 17 2022" -A x64 | |
| cmake --build . --config Release | |
| cp deps\fftw3\* tests\Release\ | |
| cp src\Release\* tests\Release\ | |
| cp bindings\c\src\Release\* tests\Release\ | |
| ctest -V -C Release | |
| - name: Archive generated DLLs | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: DLLs | |
| path: src\Release\ | |
| BuildWindowsInstaller: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.10 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies | |
| run: | | |
| choco install --no-progress -y wget innosetup | |
| mkdir deps | |
| cd deps | |
| mkdir fftw3 | |
| cd fftw3 | |
| wget https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip -q -O fftw.zip | |
| 7z x -y fftw.zip | |
| ls | |
| rm fftw.zip | |
| cd ..\.. | |
| ls deps | |
| ls deps\fftw3 | |
| pwd | |
| echo $GITHUB_WORKSPACE | |
| echo $GITHUB_ACTION_PATH | |
| - name: Setup FFTW | |
| shell: cmd | |
| run: | | |
| cd deps\fftw3 | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| lib /def:libfftw3-3.def | |
| lib /def:libfftw3f-3.def | |
| lib /def:libfftw3l-3.def | |
| cd ..\.. | |
| dir deps\fftw3 | |
| echo "GITHUB_WORKSPACE: $env:GITHUB_WORKSPACE" | |
| - name: Update ISS file with update_win_installer.ps1 script | |
| shell: powershell | |
| run: | | |
| cd .github\scripts | |
| .\update_win_installer.ps1 -IssFilePath "$env:GITHUB_WORKSPACE\libgenalyzer.iss.cmakein" | |
| - name: Build library | |
| run: | | |
| "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| cmake . -DFFTW_INCLUDE_DIRS="deps\fftw3" -DFFTW_LIBRARIES="$env:GITHUB_WORKSPACE\deps\fftw3\libfftw3-3.lib" -G "Visual Studio 17 2022" -A x64 | |
| cmake --build . --config Release | |
| - name: Build installer | |
| run: | | |
| "C:\Program Files (x86)\Inno Setup 6\iscc.exe" "libgenalyzer.iss" | |
| dir | |
| dir C:\ | |
| shell: cmd | |
| - name: Archive Windows exe installer | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: EXE-Installer | |
| path: C:\genalyzer-setup.exe | |
| - name: Download artifact installer | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: EXE-Installer | |
| path: win_build | |
| - name: Post development build to GH releases page | |
| uses: "marvinpinto/action-automatic-releases@latest" | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
| automatic_release_tag: "latest" | |
| prerelease: true | |
| title: "Latest Development Build" | |
| files: win_build |