diff --git a/.github/ISSUE_TEMPLATE/CHS-bug-report.yml b/.github/ISSUE_TEMPLATE/CHS-bug-report.yml index 6234c2bd..f94906bc 100644 --- a/.github/ISSUE_TEMPLATE/CHS-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/CHS-bug-report.yml @@ -39,7 +39,7 @@ body: id: shver attributes: label: Snap Hutao 版本 - description: 在应用标题,应用程序的设置界面中靠下的位置可以找到 + description: 在应用标题,应用程序的反馈中心界面中可以找到 placeholder: 例:1.4.15.0 validations: required: true @@ -49,7 +49,7 @@ body: attributes: label: 设备 ID description: | - 在胡桃工具箱的设置界面,你可以找到并复制你的设备 ID + 在胡桃工具箱的反馈中心界面,你可以找到并复制你的设备 ID 如果你的问题涉及程序崩溃,请填写该项,这将有助于我们定位问题 如果你的程序已经无法启动,请下载并运行[诊断工具](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe),它将显示你的设备 ID validations: diff --git a/.github/ISSUE_TEMPLATE/ENG-bug-report.yml b/.github/ISSUE_TEMPLATE/ENG-bug-report.yml index e3714460..3a542b02 100644 --- a/.github/ISSUE_TEMPLATE/ENG-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/ENG-bug-report.yml @@ -49,7 +49,7 @@ body: attributes: label: Device ID description: | - In Snap Hutao's settings page, you can find and copy your device ID + In Snap Hutao's Feedback Center, you can find and copy your device ID If your issue is about program crash, please fill this so we can dump the log and locate the source easier If your program cannot startup, please download and run [Diagnosis Tool](https://github.com/DGP-Automation/ISSUE_TEMPLATES/releases/download/diagnosis_tools/Snap.Hutao.DiagTools.exe), it will shows your device ID. validations: diff --git a/.github/workflows/close_stale.yml b/.github/workflows/close_stale.yml new file mode 100644 index 00000000..3d087ffe --- /dev/null +++ b/.github/workflows/close_stale.yml @@ -0,0 +1,16 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '30 1 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + any-of-labels: 'needs-more-info,需要更多信息' + stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 3 days.' + days-before-stale: 7 + days-before-close: 3 + close-issue-reason: not_planned \ No newline at end of file diff --git a/.github/workflows/issue_similarity.yml b/.github/workflows/issue_similarity.yml new file mode 100644 index 00000000..c484a98c --- /dev/null +++ b/.github/workflows/issue_similarity.yml @@ -0,0 +1,20 @@ +name: Issues Similarity Analysis + +on: + issues: + types: [opened, edited] + +jobs: + similarity-analysis: + runs-on: ubuntu-latest + steps: + - name: analysis + uses: actions-cool/issues-similarity-analysis@v1 + with: + filter-threshold: 0.5 + comment-title: '### Probable Similar Topics' + title-excludes: '[Publish]:,[Bug]:,[Feat]:,[Network]:,[ENG]' + comment-body: '${index}. ${similarity} #${number}' + show-footer: false + show-mentioned: true + since-days: 365 diff --git a/.github/workflows/lock_closed_issues.yml b/.github/workflows/lock_closed_issues.yml new file mode 100644 index 00000000..47200ada --- /dev/null +++ b/.github/workflows/lock_closed_issues.yml @@ -0,0 +1,26 @@ +name: 'Lock Threads' + +on: + schedule: + - cron: '0 0 * * *' + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + discussions: write + +concurrency: + group: lock-threads + +jobs: + action: + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v5 + with: + issue-inactive-days: '30' + issue-comment: 'This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related topic.' + issue-lock-reason: 'resolved' + process-only: 'issues' + log-output: false \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index ca0b5b85..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,119 +0,0 @@ -# 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' diff --git a/build.cake b/build.cake index 2d174f35..d99f0191 100644 --- a/build.cake +++ b/build.cake @@ -28,27 +28,7 @@ string manifest get => System.IO.Path.Combine(repoDir, "src", "Snap.Hutao", "Snap.Hutao", "Package.appxmanifest"); } -if (AzurePipelines.IsRunningOnAzurePipelines) -{ - repoDir = AzurePipelines.Environment.Build.SourcesDirectory.FullPath; - outputPath = AzurePipelines.Environment.Build.ArtifactStagingDirectory.FullPath; - - var versionAuth = HasEnvironmentVariable("VERSION_API_TOKEN") ? EnvironmentVariable("VERSION_API_TOKEN") : throw new Exception("Cannot find VERSION_API_TOKEN"); - version = HttpGet( - "https://internal.snapgenshin.cn/BuildIntergration/RequestNewVersion", - new HttpSettings - { - Headers = new Dictionary - { - { "Authorization", versionAuth } - } - } - ); - Information($"Version: {version}"); - - AzurePipelines.Commands.SetVariable("version", version); -} -else if (GitHubActions.IsRunningOnGitHubActions) +if (GitHubActions.IsRunningOnGitHubActions) { repoDir = GitHubActions.Environment.Workflow.Workspace.FullPath; outputPath = System.IO.Path.Combine(repoDir, "src", "output"); @@ -106,7 +86,7 @@ Task("Generate AppxManifest") var content = System.IO.File.ReadAllText(manifest); - if (AzurePipelines.IsRunningOnAzurePipelines || GitHubActions.IsRunningOnGitHubActions) + if (GitHubActions.IsRunningOnGitHubActions) { Information("Using CI configuraion"); content = content @@ -175,7 +155,7 @@ Task("Build MSIX") .Does(() => { var arguments = "arguments"; - if (AzurePipelines.IsRunningOnAzurePipelines || GitHubActions.IsRunningOnGitHubActions) + if (GitHubActions.IsRunningOnGitHubActions) { arguments = "pack /d " + binPath + " /p " + System.IO.Path.Combine(outputPath, $"Snap.Hutao.Alpha-{version}.msix"); }