# CI process script for Snap.Hutao # Usage: # 1. Append the script in Pipelines # 2. Upload the pfx and cer certificates to Pipelines Library secrets # 3. Permit the pfx usage # 4. Add a `pw` variable in the script variables, which is pfx password # 5. Connect the GitHub in project settings # 6. Run trigger: none pr: none # trigger: # branches: # include: # - main # - develop # paths: # exclude: # - README.md # - azure-pipelines.yml # - .github/ISSUE_TEMPLATE/*.yml # - .github/workflows/*.yml # - src/Snap.Hutao/Snap.Hutao/Resource/Localization/*.resx # pr: # branches: # include: # - main # paths: # exclude: # - README.md # - azure-pipelines.yml # - .github/ISSUE_TEMPLATE/*.yml # - .github/workflows/*.yml # - src/Snap.Hutao/Snap.Hutao/Resource/Localization/*.resx pool: name: Default demands: agent.name -equals Hutao-Server variables: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true solution: '$(Build.SourcesDirectory)/src/Snap.Hutao/Snap.Hutao.sln' project: $(Build.SourcesDirectory)/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj' buildPlatform: 'x64' buildConfiguration: 'Release' steps: - task: UseDotNet@2 displayName: Install dotNet inputs: packageType: 'sdk' version: '8.x' includePreviewVersions: true - task: CmdLine@2 displayName: dotnet cake inputs: script: dotnet tool restore && dotnet cake - task: MsixSigning@1 name: signMsix displayName: Sign MSIX package inputs: package: '$(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(version).msix' certificate: 'DGP_Studio_CI.pfx' passwordVariable: 'pw' condition: succeeded() - task: DownloadSecureFile@1 name: cerFile displayName: Download Root CA inputs: secureFile: 'Snap.Hutao.CI.cer' - task: PublishPipelineArtifact@1 inputs: targetPath: '$(Build.ArtifactStagingDirectory)' artifact: 'Snap.Hutao.Alpha-$(version).msix' publishLocation: 'pipeline' #- task: GitHubRelease@1 # inputs: # gitHubConnection: 'github.com_Masterain' # repositoryName: 'DGP-Automation/Hutao-Auto-Release' # action: 'create' # target: '$(Build.SourceVersion)' # tagSource: 'userSpecifiedTag' # tag: '$(version)' # title: '$(version)' # releaseNotesSource: 'inline' # releaseNotesInline: | # ## 普通用户请勿下载 # 该版本是由 CI 程序自动打包生成的 `Alpha` 测试版本,**仅供开发者测试使用** # # 普通用户请[点击这里](https://github.com/DGP-Studio/Snap.Hutao/releases/latest/)下载最新的稳定版本 # # assets: | # $(Build.ArtifactStagingDirectory)/* # $(cerFile.secureFilePath) # isPreRelease: true # changeLogCompareToRelease: 'lastFullRelease' # changeLogType: 'commitBased' - task: rclone@1 displayName: Upload CI via Rclone condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) inputs: arguments: 'copy $(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(version).msix downloadDGPCN:/releases/Alpha/' configPath: 'C:\agent\_work\_tasks\rclone.conf' - task: rclone@1 displayName: Upload PR CI via Rclone condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest')) inputs: arguments: 'copy $(Build.ArtifactStagingDirectory)/Snap.Hutao.Alpha-$(version).msix downloadDGPCN:/releases/PR/' configPath: 'C:\agent\_work\_tasks\rclone.conf'