Skip to content

ドキュメントの更新。 #213

ドキュメントの更新。

ドキュメントの更新。 #213

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