Skip to content

Merge pull request #18 from SlashNephy/renovate/softprops-action-gh-r… #769

Merge pull request #18 from SlashNephy/renovate/softprops-action-gh-r…

Merge pull request #18 from SlashNephy/renovate/softprops-action-gh-r… #769

Workflow file for this run

name: TVTest
on:
push:
paths:
- .github/workflows/TVTest.yml
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- platform: x64
cpu: Normal
cpu_property: NotSet
deploy: false
- platform: x64
cpu: AVX
cpu_property: AdvancedVectorExtensions
deploy: false
- platform: x64
cpu: AVX2
cpu_property: AdvancedVectorExtensions2
deploy: true
- platform: x64
cpu: AVX512
cpu_property: AdvancedVectorExtensions512
deploy: false
# Win32
outputs:
artifact: ${{ steps.output.outputs.artifact }}
should_deploy: ${{ steps.output.outputs.should_deploy }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
repository: DBCTRADO/TVTest
submodules: recursive
# - name: Update Submodules
# shell: powershell
# run: |
# git submodule update --recursive --remote
# $path = "src\LibISDB\Thirdparty\fdk-aac\libSBRdec\src\sbr_crc.cpp"
# if (!(Test-Path $path)) {
# New-Item $path
# }
- name: Checkout Repository
uses: actions/checkout@v4
with:
path: TVTest-builder
- name: Apply Patches
shell: powershell
run: |
foreach ($item in Get-ChildItem TVTest-builder\Patch\TVTest.*.patch)
{
git apply $item.FullName
}
- name: Enable Enhanced Instruction Set
if: matrix.cpu_property != 'NotSet'
shell: powershell
run: |
$data = Get-Content src/TVTest.vcxproj | % { $_ -replace '<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>','<EnableEnhancedInstructionSet>${{ matrix.cpu_property }}</EnableEnhancedInstructionSet>' }
$data | Out-File src/TVTest.vcxproj
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Setup Windows SDK
uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.12
with:
sdk-version: 22621
- name: MSBuild (LibISDB.sln)
working-directory: src\LibISDB\Projects
run: msbuild LibISDB.sln /p:Configuration="Release_MD" /p:Platform="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: MSBuild (TVTest.sln)
working-directory: src
run: msbuild TVTest.sln /p:Configuration="Release_MD" /p:Platform="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: MSBuild (Samples.sln)
working-directory: sdk/Samples
run: msbuild Samples.sln /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: Prepare Artifacts
shell: powershell
run: |
New-Item -Path Artifact/Plugins -ItemType Directory
Copy-Item -Path src/${{ matrix.platform }}/Release_MD/TVTest.chm -Destination Artifact/
Copy-Item -Path src/${{ matrix.platform }}/Release_MD/TVTest.exe -Destination Artifact/
Copy-Item -Path src/${{ matrix.platform }}/Release_MD/TVTest_Image.dll -Destination Artifact/
Copy-Item -Path sdk/Samples/${{ matrix.platform }}/Release/*.tvtp -Destination Artifact/Plugins/
Copy-Item -Path sdk/Samples/${{ matrix.platform }}/Release/*.dll -Destination Artifact/Plugins/
- name: Prepare Assets (x64)
if: matrix.platform == 'x64'
shell: powershell
run: Get-ChildItem -Path data/Data_x64 | Move-Item -Destination data/ -Force
- name: Prepare Assets
shell: powershell
run: Copy-Item -Path data/* -Destination Artifact/ -Recurse
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: TVTest_${{ matrix.platform }}_${{ matrix.cpu }}
if-no-files-found: error
path: Artifact/
- name: Set Job Outputs
id: output
uses: actions/github-script@v7
with:
script: |
core.setOutput("artifact", "TVTest_${{ matrix.platform }}_${{ matrix.cpu }}")
core.setOutput("should_deploy", "${{ matrix.deploy }}")
release:
needs: build
uses: ./.github/workflows/release.yml
with:
artifact-name: '${{ needs.build.outputs.artifact }}'
permissions:
contents: write
deploy:
needs: build
if: needs.build.outputs.should_deploy == 'true'
uses: ./.github/workflows/deploy.yml
with:
artifact-name: '${{ needs.build.outputs.artifact }}'
secrets: inherit
permissions: {}