Disable daily publishing and add isolated manual branch dispatcher

This commit is contained in:
geruipu committed 2026-10-05 13:09:17 +08:00
1 parent 98976747c3
commit cae0c985be
3 files changed
+109 -3

No files matched your search

@@ -0,0 +1,76 @@
name: daily-native-release
on:
workflow_dispatch:
inputs:
force_build:
description: Build current stable versions even if already published
type: boolean
default: false
permissions:
contents: read
actions: write
concurrency:
group: daily-native-release-${{ github.ref }}
cancel-in-progress: false
jobs:
dispatch:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
branch: [skia3, skia4, avalonia-native]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: Check and dispatch this branch
env:
GH_TOKEN: ${{ github.token }}
TRACK_BRANCH: ${{ matrix.branch }}
FORCE_BUILD: ${{ inputs.force_build }}
run: |
python3 - <<'PY'
import json
import os
import subprocess
branch = os.environ["TRACK_BRANCH"]
force = os.environ["FORCE_BUILD"] == "true"
def dispatch(workflow, inputs):
payload = json.dumps({"ref": branch, "inputs": inputs})
subprocess.run(
["gh", "api", "--method", "POST",
f"repos/{os.environ['GITHUB_REPOSITORY']}/actions/workflows/{workflow}/dispatches",
"--input", "-"],
input=payload, text=True, check=True,
)
if branch == "avalonia-native":
dispatch("nuget-avalonia-native.yml", {
"force_build": force, "publish_to_nuget": False,
})
else:
command = ["python3", "scripts/check-upstream-releases.py"]
if force:
command.append("--force")
subprocess.run(command, check=True)
for release in json.load(open("release-plan.json")):
if release["ref"] != branch:
raise SystemExit("Release track does not match the checked-out branch")
dispatch("nuget-static-graphics.yml", {
"skiasharp_version": release["skiasharp_version"],
"publish_to_nuget": False, "publish_to_release": False,
})
print(f"Dispatched {release['package_version']} on {branch}")
PY
- uses: actions/upload-artifact@v4
if: ${{ always() && matrix.branch != 'avalonia-native' }}
with:
name: daily-release-plan-${{ matrix.branch }}
path: release-plan.json
if-no-files-found: warn
+1 -3
View File
@@ -1,8 +1,6 @@
name: staticlink-avalonia-native
on:
schedule:
- cron: "17 3 * * *"
workflow_dispatch:
inputs:
avalonia_version:
@@ -17,7 +15,7 @@ on:
publish_to_nuget:
description: Publish with NuGet Trusted Publishing after smoke tests
required: true
default: true
default: false
type: boolean
jobs: