Version 559 #4
Workflow file for this run
This file contains 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: Release-Win | |
on: | |
push: | |
tags: | |
- 'v*' | |
jobs: | |
build-windows: | |
runs-on: windows-2019 | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
path: hydrus | |
- | |
name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
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 | |
uses: carlosperate/download-file-action@v2 | |
id: download_mpv | |
with: | |
file-url: 'https://sourceforge.net/projects/mpv-player-windows/files/libmpv/mpv-dev-x86_64-20230212-git-a40958c.7z' | |
file-name: 'mpv-dev-x86_64.7z' | |
location: '.' | |
- | |
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 | |
uses: carlosperate/download-file-action@v2 | |
id: download_ffmpeg | |
with: | |
file-url: 'https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z' | |
file-name: 'ffmpeg-release-full.7z' | |
location: '.' | |
- | |
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: Upload a Build Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Windows-Install | |
path: dist\HydrusInstaller.exe | |
if-no-files-found: error | |
retention-days: 2 | |
- | |
name: Upload a Build Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Windows-Extract | |
path: Windows-Extract.zip | |
if-no-files-found: error | |
retention-days: 2 | |
create-release: | |
name: Upload to Release | |
runs-on: ubuntu-20.04 | |
needs: [build-windows] | |
steps: | |
- | |
name: Get Artifacts | |
uses: actions/download-artifact@v3 | |
- | |
name: Extract Version Metadata | |
id: meta | |
run: | | |
echo "version=${GITHUB_REF##*/}" >> $GITHUB_ENV | |
echo "version_short=${GITHUB_REF##*/v}" >> $GITHUB_ENV | |
- | |
name: Rename Files | |
run: | | |
mkdir windows | |
mv Windows-Install/HydrusInstaller.exe Hydrus.Network.${{ env.version_short }}.-.Windows.-.Installer.exe | |
mv Windows-Extract/Windows-Extract.zip Hydrus.Network.${{ env.version_short }}.-.Windows.-.Extract.only.zip | |
- | |
name: Upload Files | |
uses: softprops/action-gh-release@v1 | |
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 |