@@ -10,8 +10,8 @@ permissions:
1010 id-token : write
1111 contents : read
1212env :
13- GITHUB_ACTIONS : true
14- VCPKG_ROOT : ${{ github.workspace }}/vcpkg
13+ PROJECT_NAME : Nickvision.Parabolic.WinUI
14+ INSTALLER_NAME : NickvisionParabolicSetup
1515jobs :
1616 winui-windows :
1717 name : " WinUI on Windows"
@@ -20,58 +20,50 @@ jobs:
2020 matrix :
2121 variant :
2222 - arch : x64
23- runner : windows-2025
24- triplet : x64-windows
23+ runner : windows-2025-vs2026
24+ subsys : mingw64
25+ type : x86_64
2526 ffmpeg : win64
26- # - arch: arm64
27- # runner: windows-11-arm
28- # triplet: arm64-windows
29- # ffmpeg: winarm64
27+ ytdlp : " "
28+ - arch : arm64
29+ runner : windows-11-arm
30+ subsys : clangarm64
31+ type : clang-aarch64
32+ ffmpeg : winarm64
33+ ytdlp : _arm64
3034 runs-on : ${{ matrix.variant.runner }}
3135 steps :
32- - name : " Checkout"
33- uses : actions/checkout@v4
36+ - uses : actions/checkout@v6
3437 with :
3538 submodules : recursive
36- - name : " Setup Environment"
37- shell : pwsh
38- run : |
39- $ProgressPreference = 'SilentlyContinue'
40- mkdir build
41- mkdir build-portable
42- Invoke-WebRequest https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.26-v1.17/gettext0.26-iconv1.17-shared-64.zip -OutFile gettext.zip
43- Expand-Archive -Force 'gettext.zip'
44- move gettext\bin\* C:\Windows\System32
45- - name : " Vcpkg"
46- uses : johnwason/vcpkg-action@v7
47- id : vcpkg
39+ - uses : msys2/setup-msys2@v2
40+ id : msys2
4841 with :
49- pkgs : boost-date-time libnick
50- triplet : ${{ matrix.variant.triplet }}
51- revision : 7dacf21ceb1525863ebd5051e5962ca026d2bfbf
52- token : ${{ github.token }}
53- cache-key : ${{ matrix.variant.triplet }}-7dacf21ceb1525863ebd5051e5962ca026d2bfbf
54- - name : " Build (Installer)"
55- working-directory : ${{ github.workspace }}/build
56- run : |
57- cmake -G "Visual Studio 17 2022" ..
58- cmake --build . --config Release
59- - name : " Build (Portable)"
60- working-directory : ${{ github.workspace }}/build-portable
61- run : |
62- cmake -G "Visual Studio 17 2022" -DBUILD_AS_PORTABLE=ON ..
63- cmake --build . --config Release
64- - name : " Create Installer"
42+ msystem : ${{ matrix.variant.subsys }}
43+ install : mingw-w64-${{ matrix.variant.type }}-gettext-tools mingw-w64-${{ matrix.variant.type }}-yelp-tools
44+ - uses : actions/setup-dotnet@v5
45+ with :
46+ dotnet-version : ' 10.0.x'
47+ - name : " Setup PATH"
48+ shell : pwsh
49+ run : echo "${{ steps.msys2.outputs.msys2-location }}\${{ matrix.variant.subsys }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
50+ - name : " Restore"
51+ run : dotnet restore ${{ env.PROJECT_NAME }} --runtime win-${{ matrix.variant.arch }} /p:PublishReadyToRun=true
52+ - name : " Publish"
53+ run : dotnet publish ${{ env.PROJECT_NAME }} -c Release --no-restore --runtime win-${{ matrix.variant.arch }} /p:Platform=${{ matrix.variant.arch }}
54+ - name : " Installer"
6555 working-directory : ${{github.workspace}}/inno
56+ env :
57+ APP_FILES_PATH : ${{ env.PROJECT_NAME }}/bin/${{ matrix.variant.arch }}/Release/net10.0-windows10.0.19041.0/win-${{ matrix.variant.arch }}/publish
6658 shell : pwsh
6759 run : |
6860 $ProgressPreference = 'SilentlyContinue'
69- Invoke-WebRequest https://aka.ms/vs/17/release/vc_redist. ${{ matrix.variant.arch }}.exe -OutFile vc_redist .exe
61+ Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/10.0.2/windowsdesktop-runtime-10.0.2-win- ${{ matrix.variant.arch }}.exe -OutFile dotnet .exe
7062 Invoke-WebRequest https://aka.ms/windowsappsdk/1.8/latest/windowsappruntimeinstall-${{ matrix.variant.arch }}.exe -OutFile windowsappruntimeinstall.exe
71- Invoke-WebRequest https://github.com/yt-dlp/yt-dlp/releases/download/2025.12.08 /yt-dlp.exe -OutFile yt-dlp.exe
63+ Invoke-WebRequest https://github.com/yt-dlp/yt-dlp/releases/download/2026.02.04 /yt-dlp${{ matrix.variant.ytdlp }} .exe -OutFile yt-dlp.exe
7264 Invoke-WebRequest https://github.com/Elypha/aria2-mod/releases/download/aria2c-1.37.0-b4fd7cb-20251126/aria2c-windows-x86_64-wintls.zip -OutFile aria2.zip
7365 Invoke-WebRequest https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl.zip -OutFile ffmpeg.zip
74- Invoke-WebRequest https://github.com/denoland/deno/releases/download/v2.6.0 /deno-x86_64-pc-windows-msvc.zip -OutFile deno.zip
66+ Invoke-WebRequest https://github.com/denoland/deno/releases/download/v2.6.7 /deno-x86_64-pc-windows-msvc.zip -OutFile deno.zip
7567 Expand-Archive -Force 'aria2.zip'
7668 Expand-Archive -Force 'ffmpeg.zip'
7769 Expand-Archive -Force 'deno.zip'
8173 move ffmpeg\ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl\bin\ffplay.exe ffplay.exe
8274 move deno\deno.exe deno.exe
8375 iscc setup.iss
84- - name : " Create Portable"
85- working-directory : ${{ github.workspace }}/build-portable/org.nickvision.tubeconverter.winui/Release
86- shell : pwsh
87- run : |
88- $ProgressPreference = 'SilentlyContinue'
89- Invoke-WebRequest https://aka.ms/vs/17/release/vc_redist.${{ matrix.variant.arch }}.exe -OutFile vc_redist.exe
90- Invoke-WebRequest https://aka.ms/windowsappsdk/1.8/latest/windowsappruntimeinstall-${{ matrix.variant.arch }}.exe -OutFile windowsappruntimeinstall.exe
91- Invoke-WebRequest https://github.com/yt-dlp/yt-dlp/releases/download/2025.12.08/yt-dlp.exe -OutFile yt-dlp.exe
92- Invoke-WebRequest https://github.com/Elypha/aria2-mod/releases/download/aria2c-1.37.0-b4fd7cb-20251126/aria2c-windows-x86_64-wintls.zip -OutFile aria2.zip
93- Invoke-WebRequest https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl.zip -OutFile ffmpeg.zip
94- Invoke-WebRequest https://github.com/denoland/deno/releases/download/v2.6.0/deno-x86_64-pc-windows-msvc.zip -OutFile deno.zip
95- Expand-Archive -Force 'aria2.zip'
96- Expand-Archive -Force 'ffmpeg.zip'
97- Expand-Archive -Force 'deno.zip'
98- move aria2\aria2c.exe aria2c.exe
99- move ffmpeg\ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl\bin\ffmpeg.exe ffmpeg.exe
100- move ffmpeg\ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl\bin\ffprobe.exe ffprobe.exe
101- move ffmpeg\ffmpeg-master-latest-${{ matrix.variant.ffmpeg }}-gpl\bin\ffplay.exe ffplay.exe
102- move deno\deno.exe deno.exe
103- Remove-Item -Path aria2.zip -Force
104- Remove-Item -Path aria2 -Recurse -Force
105- Remove-Item -Path ffmpeg.zip -Force
106- Remove-Item -Path ffmpeg -Recurse -Force
107- Remove-Item -Path deno.zip -Recurse -Force
108- Remove-Item -Path deno -Recurse -Force
109- - name : " Upload (Installer)"
110- uses : actions/upload-artifact@v4
111- with :
112- path : ${{ github.workspace }}/inno/NickvisionParabolicSetup.exe
113- name : Windows-${{ matrix.variant.arch }}-Installer
114- - name : " Upload (Portable)"
115- uses : actions/upload-artifact@v4
76+ - uses : actions/upload-artifact@v4
11677 with :
117- path : ${{ github.workspace }}/build-portable/org.nickvision.tubeconverter.winui/Release
118- name : Windows -${{ matrix.variant.arch }}-Portable
78+ path : ${{ github.workspace }}/inno/${{ env.INSTALLER_NAME }}.exe
79+ name : ${{ env.INSTALLER_NAME }} -${{ matrix.variant.arch }}
0 commit comments