name: Release-Win on: push: tags: - 'v*' jobs: build-windows: runs-on: windows-2019 steps: - name: Checkout uses: actions/checkout@v4 with: path: hydrus - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.11' architecture: x64 - name: Pip Install run: python3 -m pip install -r hydrus/static/build_files/windows/requirements.txt - name: Build docs to /help run: mkdocs build -d help working-directory: hydrus - name: Download mpv-dev run: Invoke-WebRequest -Uri "https://sourceforge.net/projects/mpv-player-windows/files/libmpv/mpv-dev-x86_64-20230820-git-19384e0.7z" -OutFile "mpv-dev-x86_64.7z" -Headers @{ "User-Agent" = "LetMeIn" } - name: Process mpv-dev run: | 7z x mpv-dev-x86_64.7z -ompv move mpv\libmpv-2.dll hydrus\mpv-2.dll - name: Download ffmpeg run: Invoke-WebRequest -Uri "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z" -OutFile "ffmpeg-release-full.7z" - name: Process ffmpeg run: | 7z e ffmpeg-release-full.7z -ohydrus/bin "**/bin/ffmpeg.exe" - name: Build Hydrus run: | move hydrus\static\build_files\windows\sqlite3.dll hydrus\ move hydrus\static\build_files\windows\sqlite3.exe hydrus\db move hydrus\static\build_files\windows\file_version_info_maker.py file_version_info_maker.py python file_version_info_maker.py ${{ github.ref_name }} move hydrus\static\build_files\windows\hydrus_client.spec hydrus_client.spec move hydrus\static\build_files\windows\hydrus_server.spec hydrus_server.spec pyinstaller hydrus_server.spec pyinstaller hydrus_client.spec move dist\hydrus_client "dist\Hydrus Network" - # yo pretty sure we'll need to install this manually once we are on windows server 2022 # https://github.com/actions/virtual-environments/issues/4856 name: InnoSetup run: | move hydrus\static\build_files\windows\InnoSetup.iss InnoSetup.iss ISCC.exe InnoSetup.iss /DVersion=${{ github.ref_name }} - name: Compress Client run: | cd .\dist 7z.exe a -tzip -mm=Deflate -mx=5 Windows-Extract.zip 'Hydrus Network' cd .. - name: Extract Version Metadata id: meta run: | $vs = "${{ github.ref_name }}".Substring(1) echo "version_short=$vs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append - name: Rename Files run: | move dist\HydrusInstaller.exe Hydrus.Network.${{ env.version_short }}.-.Windows.-.Installer.exe move dist\Windows-Extract.zip Hydrus.Network.${{ env.version_short }}.-.Windows.-.Extract.only.zip - name: Upload Files uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | Hydrus.Network.${{ env.version_short }}.-.Windows.-.Installer.exe Hydrus.Network.${{ env.version_short }}.-.Windows.-.Extract.only.zip