1+ name : Dev Build
2+ on :
3+ push :
4+ branches :
5+ - main
6+ paths-ignore :
7+ - ' README.md'
8+ - ' LICENSE'
9+ - ' crowdin.yml'
10+ - ' .github/**'
11+ pull_request :
12+ branches :
13+ - main
14+ paths-ignore :
15+ - ' README.md'
16+ - ' LICENSE'
17+ - ' crowdin.yml'
18+ - ' .github/**'
19+ workflow_dispatch :
20+ inputs :
21+ identifier :
22+ description : ' Version identifier'
23+ required : false
24+ type : string
25+
26+ defaults :
27+ run :
28+ shell : pwsh
29+
30+ jobs :
31+ Build :
32+ strategy :
33+ fail-fast : false
34+ matrix :
35+ os :
36+ - windows-2025
37+ # - ubuntu-24.04
38+ # - macos-15
39+
40+ env :
41+ QT_VERSION : 6.9.2
42+ VCPKG_REF : 7130194ed62c60c073aa08de01e8c06275dfefba
43+ INNOSETUP_REF : is-6_5_4
44+ VERSION_IDENTIFIER : ${{ github.sha }}${{ github.event.input.identifier && '.' || '' }}${{ github.event.input.identifier }}
45+
46+ runs-on : ${{ matrix.os }}
47+
48+ steps :
49+ - name : Checkout repository
50+ uses : actions/checkout@v4
51+ with :
52+ submodules : recursive
53+
54+ - name : Initialize building environment
55+ uses : ./.github/actions/initialize-build-environment
56+ with :
57+ qt_version : ${{ env.QT_VERSION }}
58+
59+ - name : Initialize Vcpkg
60+ uses : ./.github/actions/initialize-vcpkg
61+ with :
62+ ref : ${{ env.VCPKG_REF }}
63+
64+ - name : Build
65+ run : |
66+ $output = & ./scripts/ci/Build.ps1 -BuildType dev -VcpkgRootDir $env:VCPKG_ROOT_DIR -VersionIdentifier $env:VERSION_IDENTIFIER
67+ Write-Output ARTIFACT_NAME=$($output.ApplicationName)_$($output.Semver -replace '[\.\-\+]', '_') >> $env:GITHUB_ENV
68+ Write-Output BUILD_DIR=$($output.BuildDir) >> $env:GITHUB_ENV
69+ Write-Output INSTALLED_DIR=$($output.InstalledDir) >> $env:GITHUB_ENV
70+ Write-Output INSTALLER_FILE_BASE=$($output.InstallerFileBase) >> $env:GITHUB_ENV
71+
72+ - name : Collect symbol files
73+ run : |
74+ $output = & ./scripts/ci/Collect-Symbol-Files.ps1 -VcpkgRootDir $env:VCPKG_ROOT_DIR -InstalledDir $env:INSTALLED_DIR
75+ Write-Output SYMBOL_FILES_PATH=$($output.Path) >> $env:GITHUB_ENV
76+
77+ - name : Pack
78+ run : |
79+ $output = & ./scripts/ci/Pack.ps1 -BuildDir $env:BUILD_DIR -InstallerFileBase $env:INSTALLER_FILE_BASE -InnoSetupCommit $env:INNOSETUP_REF
80+ Write-Output PACKAGE_PATH=$($output.Path) >> $env:GITHUB_ENV
81+
82+ - name : Upload symbol files
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : ${{ env.ARTIFACT_NAME }}_symbol_files
86+ path : ${{ env.SYMBOL_FILES_PATH }}
87+
88+ - name : Upload package
89+ uses : actions/upload-artifact@v4
90+ with :
91+ name : ${{ env.ARTIFACT_NAME }}
92+ path : ${{ env.PACKAGE_PATH }}
0 commit comments