前端: - 「我的构建」列表「查看详情/查看进度」按钮补充与其他按钮同风格的眼睛小图标 - 顶部导航增加 768px 以下移动端适配: 顶栏纵向排列, 导航单行横向滑动, 修复手机端错位 Gitea Actions 工作流 (仅 .gitea, 不动 .github): - 5 个生成器工作流全部补充 /updategh 终态状态回调 (成功/取消/失败均回调), 修复无回调导致构建 6 小时后被误判为超时的 P0 缺陷 - Windows 两个工作流 job 级默认 shell 设为 pwsh, 兼容 act 在 Windows 默认 bash - 修复 VCPKG_BINARY_SOURCES 中 \v 的 YAML 非法转义 (双引号改单引号) - Flutter 补丁路径改为 .rdgen-src/.github/patches/, run-on-arch 容器内用 /workspace 前缀 - run-on-arch githubToken 置空, 避免 Gitea token 拉 ghcr.io 失败 - runs-on 标签对齐现场 runner: ubuntu-22.04 改为 ubuntu-24.04 - run-vcpkg/setup-ndk 钉到 node20 运行时 SHA, 规避 node24 action 不兼容 - decrypt-secrets 的 pip 安装增加三级回退; cleanzip 请求增加超时重试 - 所有产物上传 curl 增加 --fail/超时/重试参数 - macOS 动态定位 *.app 不再硬编码 RustDesk.app, DMG 路径改用 GITHUB_WORKSPACE - 修复签名条件判断、PowerShell 变量空格等小问题 - setup.md 更新 runner 标签表及 Windows/macOS host 准备要求
106 lines
3.6 KiB
YAML
106 lines
3.6 KiB
YAML
# Gitea Actions 适配副本:由 .github/workflows 同名文件适配(本地路径/cache/artifact 差异),修改时请同步两边。差异说明见 setup.md「Gitea 部署附录」。
|
|
name: build RustDeskTempTopMostWindow
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
upload-artifact:
|
|
type: boolean
|
|
default: true
|
|
target:
|
|
description: 'Target'
|
|
required: true
|
|
type: string
|
|
default: 'windows-2022'
|
|
configuration:
|
|
description: 'Configuration'
|
|
required: true
|
|
type: string
|
|
default: 'Release'
|
|
platform:
|
|
description: 'Platform'
|
|
required: true
|
|
type: string
|
|
default: 'x64'
|
|
target_version:
|
|
description: 'TargetVersion'
|
|
required: true
|
|
type: string
|
|
default: 'Windows10'
|
|
secrets:
|
|
ZIP_PASSWORD:
|
|
description: 'Password for the encrypted secrets zip'
|
|
required: true
|
|
GENURL:
|
|
description: 'rdgen platform base URL'
|
|
required: true
|
|
|
|
env:
|
|
project_path: WindowInjection/WindowInjection.vcxproj
|
|
|
|
jobs:
|
|
build-RustDeskTempTopMostWindow:
|
|
runs-on: ${{ inputs.target }}
|
|
strategy:
|
|
fail-fast: false
|
|
env:
|
|
build_output_dir: RustDeskTempTopMostWindow/WindowInjection/${{ inputs.platform }}/${{ inputs.configuration }}
|
|
steps:
|
|
- name: Add MSBuild to PATH
|
|
uses: microsoft/setup-msbuild@v3
|
|
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: encrypted-secrets-zip
|
|
|
|
- name: Load Secrets
|
|
uses: ./.gitea/actions/decrypt-secrets
|
|
with:
|
|
zip_password: ${{ secrets.ZIP_PASSWORD }}
|
|
|
|
- name: Finalize and Cleanup zip/json
|
|
if: always() # Run even if previous steps fail
|
|
continue-on-error: true
|
|
uses: fjogeleit/http-request-action@v1
|
|
with:
|
|
url: "${{ secrets.GENURL }}/cleanzip"
|
|
method: 'POST'
|
|
customHeaders: '{"Content-Type": "application/json"}'
|
|
data: '{"uuid": "${{ env.uuid }}"}'
|
|
timeout: '15000'
|
|
retry: '3'
|
|
|
|
- name: Download the source code
|
|
run: |
|
|
git clone https://github.com/rustdesk-org/RustDeskTempTopMostWindow RustDeskTempTopMostWindow
|
|
|
|
# Build. commit 53b548a5398624f7149a382000397993542ad796 is tag v0.3
|
|
- name: Build the project
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
timeout_minutes: 5
|
|
max_attempts: 3
|
|
retry_wait_seconds: 15
|
|
shell: pwsh
|
|
command: |
|
|
cd RustDeskTempTopMostWindow && git checkout 53b548a5398624f7149a382000397993542ad796
|
|
if ($env:privacylink_url -ne "false") {
|
|
Invoke-WebRequest -Uri ${{ env.privacylink_url }}/get_png?filename=${{ env.privacylink_file }}"&"uuid=${{ env.privacylink_uuid }} -OutFile privacy.png
|
|
Copy-Item ../.github/patches/privacyScreen.py privacyScreen.py
|
|
python privacyScreen.py
|
|
rm ./WindowInjection/img.cpp
|
|
mv img.cpp ./WindowInjection/img.cpp
|
|
}
|
|
msbuild ${{ env.project_path }} -p:Configuration=${{ inputs.configuration }} -p:Platform=${{ inputs.platform }} /p:TargetVersion=${{ inputs.target_version }}
|
|
|
|
- name: Archive build artifacts
|
|
uses: actions/upload-artifact@v4
|
|
if: ${{ inputs.upload-artifact }}
|
|
with:
|
|
name: topmostwindow-artifacts
|
|
path: |
|
|
./${{ env.build_output_dir }}/WindowInjection.dll
|