ドキュメントの更新。 #213
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: Build Windows Releases | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - actions | |
| tags: | |
| - '*' | |
| jobs: | |
| get_version_name: | |
| name: Get version name | |
| runs-on: ubuntu-latest | |
| outputs: | |
| rev_count: ${{ steps.rev.outputs.rev_count }} | |
| version_name: ${{ steps.rev.outputs.version_name }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Verify tag matches VER_STR_FILEVERSION | |
| if: startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| cd ${{ github.workspace }} | |
| TAG=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
| VER=$(sed -n 's/^#define VER_STR_FILEVERSION[ \t]*"\([^"]*\)".*$/\1/p' VCECore/rgy_version.h | tr -d '\r\n') | |
| if [ "$TAG" = "$VER" ] || [ "${TAG#v}" = "$VER" ]; then | |
| echo "Version OK: tag=${TAG}, header=${VER}" | |
| else | |
| echo "ERROR: Tag version (${TAG}) does not match VER_STR_FILEVERSION (${VER})" >&2 | |
| exit 1 | |
| fi | |
| - name: Set version name | |
| id: rev | |
| run: | | |
| cd ${{ github.workspace }} | |
| REVCOUNT=`git rev-list --count HEAD` | |
| echo "rev_count=${REVCOUNT}" >> $GITHUB_OUTPUT | |
| if [[ "${{ github.ref }}" =~ "refs/tags/" ]]; then | |
| VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
| else | |
| VERSION=r${REVCOUNT} | |
| fi | |
| echo "version_name=${VERSION}" >> $GITHUB_OUTPUT | |
| build: | |
| name: Upload Release Asset | |
| runs-on: windows-2022 | |
| needs: get_version_name | |
| defaults: | |
| run: | |
| shell: cmd | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x86 | |
| platform: Win32 | |
| - arch: x64 | |
| platform: x64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 0 | |
| - name: Checkout dependencies | |
| run: | | |
| curl -s -o ffmpeg_lgpl.7z -L https://github.com/rigaya/ffmpeg_dlls_for_hwenc/releases/download/20250830/ffmpeg_dlls_for_hwenc_20250830.7z | |
| 7z x -offmpeg_lgpl -y ffmpeg_lgpl.7z | |
| git clone --depth 1 https://github.com/AviSynth/AviSynthPlus.git ..\AviSynthPlus | |
| git clone -b R72 --depth 1 https://github.com/vapoursynth/vapoursynth.git ..\vapoursynth | |
| git clone --depth 1 https://github.com/KhronosGroup/OpenCL-Headers.git ..\openclheaders | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@v2 | |
| with: | |
| msbuild-architecture: ${{ matrix.arch }} | |
| - name: MSBuild | |
| run: | | |
| set AVISYNTH_SDK=${{ github.workspace }}\..\AviSynthPlus\avs_core | |
| set VAPOURSYNTH_SDK=${{ github.workspace }}\..\vapoursynth | |
| set OPENCL_HEADERS=${{ github.workspace }}\..\openclheaders | |
| msbuild VCEEnc.sln /t:build /p:configuration=RelStatic /p:Platform=${{ matrix.platform }} -maxcpucount | |
| - name: Create Archieve | |
| id: archieve | |
| run: | | |
| mkdir VCEEncC_Release | |
| copy _build\${{ matrix.platform }}\RelStatic\VCEEncC*.exe VCEEncC_Release | |
| copy _build\${{ matrix.platform }}\RelStatic\*.dll VCEEncC_Release | |
| 7z a -mx9 VCEEncC_${{ needs.get_version_name.outputs.version_name }}_${{ matrix.platform }}.7z .\VCEEncC_Release\* | |
| - name: Check dll | |
| run: | | |
| if ("${{ matrix.platform }}" == "x64") "VCEEncC_Release\VCEEncC64.exe" --check-avcodec-dll | |
| if ("${{ matrix.platform }}" == "Win32") "VCEEncC_Release\VCEEncC.exe" --check-avcodec-dll | |
| - name: Check Version | |
| if: startsWith(github.ref, 'refs/tags/') | |
| id: check_ver | |
| run: | | |
| powershell "$ver = (Get-ItemProperty .\VCEEncC_Release\VCEEncC*.exe).VersionInfo.FileVersion; if ($ver -eq '${{ needs.get_version_name.outputs.version_name }}') { exit 0; } exit 1;" | |
| - name: Calc hash | |
| id: calc_hash | |
| run: | | |
| 7z h -scrc* VCEEncC_${{ needs.get_version_name.outputs.version_name }}_${{ matrix.platform }}.7z | |
| - name: Upload Release Asset | |
| id: upload-release-asset | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: VCEEncC_${{ needs.get_version_name.outputs.version_name }}_${{ matrix.platform }}.7z | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: VCEEncC_release_${{ needs.get_version_name.outputs.version_name }}_${{ matrix.platform }} | |
| path: VCEEncC_${{ needs.get_version_name.outputs.version_name }}_${{ matrix.platform }}.7z | |
| upload_aviutl_release: | |
| name: Upload Aviutl Release Asset | |
| runs-on: windows-2022 | |
| needs: [ get_version_name, build ] | |
| defaults: | |
| run: | |
| shell: cmd | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x86 | |
| platform: Win32 | |
| aviutlver: AviUtl | |
| outext: auo | |
| - arch: x64 | |
| platform: x64 | |
| aviutlver: AviUtl2 | |
| outext: auo2 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 0 | |
| - name: Checkout dependencies | |
| run: | | |
| curl -s -o ffmpeg_lgpl.7z -L https://github.com/rigaya/ffmpeg_dlls_for_hwenc/releases/download/20250830/ffmpeg_dlls_for_hwenc_20250830.7z | |
| 7z x -offmpeg_lgpl -y ffmpeg_lgpl.7z | |
| move ffmpeg5* ffmpeg_lgpl | |
| git clone https://github.com/AviSynth/AviSynthPlus.git ..\AviSynthPlus | |
| git clone -b R72 https://github.com/vapoursynth/vapoursynth.git ..\vapoursynth | |
| git clone https://github.com/KhronosGroup/OpenCL-Headers.git ..\openclheaders | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@v2 | |
| with: | |
| msbuild-architecture: ${{ matrix.platform }} | |
| - name: MSBuild | |
| run: | | |
| set AVISYNTH_SDK=${{ github.workspace }}\..\AviSynthPlus\avs_core | |
| set VAPOURSYNTH_SDK=${{ github.workspace }}\..\vapoursynth | |
| set OPENCL_HEADERS=${{ github.workspace }}\..\openclheaders | |
| msbuild VCEEnc.sln /t:build /p:configuration=Release /p:Platform=${{ matrix.platform }} -maxcpucount | |
| - name: Download auo_setup Win32 | |
| id: download_auosetup_win32 | |
| if: matrix.platform == 'Win32' | |
| run: | | |
| curl -o auo_setup.zip -L https://github.com/rigaya/auo_setup/releases/download/2.02/auo_setup_2.02.zip | |
| - name: Download auo_setup x64 | |
| id: download_auosetup_x64 | |
| if: matrix.platform == 'x64' | |
| run: | | |
| curl -o auo_setup.zip -L https://github.com/rigaya/auo_setup/releases/download/2.04/auo_setup_2.04_x64.zip | |
| - name: Download VCEEncC Win32 | |
| uses: actions/download-artifact@v4 | |
| if: matrix.platform == 'Win32' | |
| with: | |
| name: VCEEncC_release_${{ needs.get_version_name.outputs.version_name }}_Win32 | |
| path: VCEEncC_${{ needs.get_version_name.outputs.version_name }}_Win32.7z | |
| - name: Download VCEEncC x64 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: VCEEncC_release_${{ needs.get_version_name.outputs.version_name }}_x64 | |
| path: VCEEncC_${{ needs.get_version_name.outputs.version_name }}_x64.7z | |
| - name: Create package Win32 | |
| id: archieve_win32 | |
| if: matrix.platform == 'Win32' | |
| run: | | |
| mkdir Aviutl_VCEEnc_release | |
| 7z x -oAviutl_VCEEnc_release\ auo_setup.zip | |
| mkdir Aviutl_VCEEnc_release\exe_files\VCEEncC | |
| mkdir Aviutl_VCEEnc_release\exe_files\VCEEncC\x86 | |
| mkdir Aviutl_VCEEnc_release\exe_files\VCEEncC\x64 | |
| 7z x -oAviutl_VCEEnc_release\exe_files\VCEEncC\x86\ VCEEncC_${{ needs.get_version_name.outputs.version_name }}_Win32.7z | |
| 7z x -oAviutl_VCEEnc_release\exe_files\VCEEncC\x64\ VCEEncC_${{ needs.get_version_name.outputs.version_name }}_x64.7z | |
| copy /y _build\Win32\Release\VCEEnc.auo Aviutl_VCEEnc_release\plugins\ | |
| copy /y VCEEnc\VCEEnc.ini Aviutl_VCEEnc_release\plugins\ | |
| copy /y VCEEnc\VCEEnc.en.ini Aviutl_VCEEnc_release\plugins\ | |
| copy /y VCEEnc\VCEEnc.zh.ini Aviutl_VCEEnc_release\plugins\ | |
| copy /y VCEEnc\VCEEnc_uninstall.bat Aviutl_VCEEnc_release\plugins\ | |
| copy /y VCEEnc\auo_setup.ini Aviutl_VCEEnc_release\exe_files\ | |
| copy /y VCEEnc\VCEEnc_readme.txt Aviutl_VCEEnc_release\ | |
| echo D | xcopy /y /e VCEEnc\stg Aviutl_VCEEnc_release\plugins\VCEEnc_stg | |
| dir /b /s Aviutl_VCEEnc_release\ | |
| 7z a -mx9 Aviutl_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.zip .\Aviutl_VCEEnc_release\* | |
| - name: Create package x64 | |
| id: archieve_x64 | |
| if: matrix.platform == 'x64' | |
| run: | | |
| mkdir Aviutl_VCEEnc_release | |
| 7z x -oAviutl_VCEEnc_release\ auo_setup.zip | |
| mkdir Aviutl_VCEEnc_release\Plugin\exe_files\VCEEncC | |
| mkdir Aviutl_VCEEnc_release\Plugin\exe_files\VCEEncC\x64 | |
| 7z x -oAviutl_VCEEnc_release\Plugin\exe_files\VCEEncC\x64\ VCEEncC_${{ needs.get_version_name.outputs.version_name }}_x64.7z | |
| copy /y _build\x64\Release\VCEEnc.auo2 Aviutl_VCEEnc_release\Plugin\ | |
| copy /y VCEEnc\VCEEnc.ini Aviutl_VCEEnc_release\Plugin\ | |
| copy /y VCEEnc\VCEEnc.en.ini Aviutl_VCEEnc_release\Plugin\ | |
| copy /y VCEEnc\VCEEnc.zh.ini Aviutl_VCEEnc_release\Plugin\ | |
| copy /y VCEEnc\VCEEnc_uninstall.bat Aviutl_VCEEnc_release\Plugin\ | |
| copy /y VCEEnc\auo_setup.ini Aviutl_VCEEnc_release\Plugin\exe_files\ | |
| copy /y VCEEnc\VCEEnc_readme.txt Aviutl_VCEEnc_release\ | |
| echo D | xcopy /y /e VCEEnc\stg Aviutl_VCEEnc_release\Plugin\VCEEnc_stg | |
| 7z a -t7z -m0=lzma -mx=9 -mmt Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.7z .\Aviutl_VCEEnc_release\* | |
| copy /b VCEEnc\7zSD.noadmin.sfx + VCEEnc\7zInstallerConfig.txt + Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.7z Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}_install.exe | |
| - name: Check Version | |
| id: check_ver | |
| if: startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| powershell "$ver = (Get-ItemProperty .\_build\${{ matrix.platform }}\Release\VCEEnc.${{ matrix.outext }}).VersionInfo.FileVersion; if ($ver -eq '${{ needs.get_version_name.outputs.version_name }}') { exit 0; } exit 1;" | |
| - name: Check dll Win32 | |
| id: check_dll_win32 | |
| if: matrix.platform == 'Win32' | |
| run: | | |
| "Aviutl_VCEEnc_release\exe_files\VCEEncC\x86\VCEEncC.exe" --check-avcodec-dll | |
| "Aviutl_VCEEnc_release\exe_files\VCEEncC\x64\VCEEncC64.exe" --check-avcodec-dll | |
| - name: Check dll x64 | |
| id: check_dll_x64 | |
| if: matrix.platform == 'x64' | |
| run: | | |
| "Aviutl_VCEEnc_release\Plugin\exe_files\VCEEncC\x64\VCEEncC64.exe" --check-avcodec-dll | |
| - name: Calc hash Win32 | |
| id: calc_hash_win32 | |
| if: matrix.platform == 'Win32' | |
| run: | | |
| 7z h -scrc* Aviutl_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.zip | |
| - name: Calc hash x64 | |
| id: calc_hash_x64 | |
| if: matrix.platform == 'x64' | |
| run: | | |
| 7z h -scrc* Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}_install.exe | |
| - name: Upload Release Asset Win32 | |
| id: upload-release-asset-win32 | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') && matrix.platform == 'Win32' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: | | |
| Aviutl_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.zip | |
| - name: Upload Release Asset x64 | |
| id: upload-release-asset-x64 | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') && matrix.platform == 'x64' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: | | |
| Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}_install.exe | |
| - name: Upload artifact Win32 | |
| uses: actions/upload-artifact@v4 | |
| if: matrix.platform == 'Win32' | |
| with: | |
| name: Aviutl_VCEEnc_${{ needs.get_version_name.outputs.version_name }} | |
| path: Aviutl_VCEEnc_${{ needs.get_version_name.outputs.version_name }}.zip | |
| - name: Upload artifact x64 | |
| uses: actions/upload-artifact@v4 | |
| if: matrix.platform == 'x64' | |
| with: | |
| name: Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}_install | |
| path: Aviutl2_VCEEnc_${{ needs.get_version_name.outputs.version_name }}_install.exe |