-
Notifications
You must be signed in to change notification settings - Fork 0
113 lines (96 loc) · 4.49 KB
/
TvtPlay.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
name: TvtPlay
on:
push:
paths:
- .github/workflows/TvtPlay.yml
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- platform: x64
deploy: true
# - platform: Win32
# deploy: false
outputs:
artifact: ${{ steps.output.outputs.artifact }}
should_deploy: ${{ steps.output.outputs.should_deploy }}
steps:
- name: Checkout Repository (TvtPlay)
uses: actions/checkout@v4
with:
repository: xtne6f/TvtPlay
submodules: recursive
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: MSBuild (TvtPlay.sln)
working-directory: src
run: msbuild TvtPlay.sln /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" /p:CodePage=932 /p:OutDir="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: MSBuild (BonDriver_Pipe.sln)
working-directory: BonDriver_Pipe_src
run: msbuild BonDriver_Pipe.sln /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" /p:CodePage=932 /p:OutDir="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: Patch SoundTouch.vcxproj (SoundTouch)
working-directory: TvtAudioStretchFilter_src/soundtouch
run: git apply ..\SoundTouch.patch
- name: Patch SoundTouch.vcxproj (SoundTouch)
working-directory: TvtAudioStretchFilter_src/soundtouch/source/SoundTouch
# コマンドラインから /MD を有効にできないのでプロジェクトファイルを直接書き換える
run: |
$ProjectFile = ".\SoundTouch.vcxproj"
$Content = Get-Content $ProjectFile | % { $_ -replace "<RuntimeLibrary>.+</RuntimeLibrary>","<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" }
$Content | Out-File $ProjectFile -Encoding UTF8
- name: MSBuild (SoundTouch.vcxproj)
working-directory: TvtAudioStretchFilter_src/soundtouch/source/SoundTouch
run: msbuild SoundTouch.vcxproj /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: Patch BaseClasses.vcxproj (SoundTouch)
working-directory: TvtAudioStretchFilter_src/baseclasses
# コマンドラインから /MD を有効にできないのでプロジェクトファイルを直接書き換える
run: |
$ProjectFile = ".\BaseClasses.vcxproj"
$Content = Get-Content $ProjectFile | % { $_ -replace "<RuntimeLibrary>.+</RuntimeLibrary>","<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" }
$Content | Out-File $ProjectFile -Encoding UTF8
- name: MSBuild (BaseClasses.vcxproj)
working-directory: TvtAudioStretchFilter_src/baseclasses
run: msbuild BaseClasses.vcxproj /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: MSBuild (TvtAudioStretchFilter.sln)
working-directory: TvtAudioStretchFilter_src
run: msbuild TvtAudioStretchFilter.sln /p:Configuration="Release" /p:Platform="${{ matrix.platform }}" /p:OutDir="${{ matrix.platform }}" -m /p:PlatformToolset=v143
- name: Prepare Artifacts
shell: powershell
run: |
New-Item -Path Artifact -ItemType Directory
New-Item -Path Artifact/Plugins -ItemType Directory
Copy-Item -Path src/${{ matrix.platform }}/TvtPlay.tvtp -Destination Artifact/Plugins/
Copy-Item -Path BonDriver_Pipe_src/${{ matrix.platform }}/BonDriver_Pipe.dll -Destination Artifact/
Copy-Item -Path TvtAudioStretchFilter_src/${{ matrix.platform }}/TvtAudioStretchFilter.ax -Destination Artifact/Plugins/
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: TvtPlay_${{ matrix.platform }}
if-no-files-found: error
path: Artifact/
- name: Set Job Outputs
id: output
uses: actions/github-script@v7
with:
script: |
core.setOutput("artifact", "TvtPlay_${{ matrix.platform }}")
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: {}