🐛 fix(ci): isolate thirdparty updater trigger

This commit is contained in:
csh
2026-08-25 17:40:25 +08:00
parent 8f59f527e6
commit ed61d102cd
4 changed files with 37 additions and 28 deletions
+7 -7
View File
@@ -228,7 +228,7 @@ class ThirdpartySkillsPipelineTests(unittest.TestCase):
self.assertIn("update_thirdparty_snapshots", text)
self.assertIn("sync_thirdparty_skills", text)
def test_schedule_runs_updater_without_changing_prepare_run_shape(self):
def test_schedule_and_manual_dispatch_run_updater_without_prepare(self):
prepare_text = PREPARE_WORKFLOW.read_text(encoding="utf-8")
updater_text = WORKFLOW.read_text(encoding="utf-8")
@@ -239,19 +239,19 @@ class ThirdpartySkillsPipelineTests(unittest.TestCase):
)
self.assertEqual(
workflow_mapping_keys(updater_text, "on"),
["schedule", "workflow_run"],
["schedule", "workflow_dispatch"],
)
self.assertNotIn("update_thirdparty_scheduled", prepare_text)
self.assertNotIn("uses: ./.gitea/workflows/", prepare_text)
self.assertNotIn(" schedule:", prepare_text)
self.assertNotIn(" workflow_call:", updater_text)
self.assertIn(' - cron: "0 22 * * *"', updater_text)
self.assertIn("github.event_name == 'schedule' ||", updater_text)
self.assertNotIn("github.event.workflow_run.event != 'schedule'", updater_text)
self.assertIn(' - cron: "0 21 * * *"', updater_text)
self.assertNotIn("workflow_run:", updater_text)
self.assertNotIn("github.event.workflow_run", updater_text)
self.assertIn('SOURCE_BRANCH="$GITHUB_REF_NAME"', updater_text)
self.assertIn('SOURCE_SHA="$GITHUB_SHA"', updater_text)
self.assertIn('SOURCE_BRANCH="${{ github.event.workflow_run.head_branch }}"', updater_text)
self.assertIn('SOURCE_SHA="${{ github.event.workflow_run.head_sha }}"', updater_text)
self.assertIn('main|master) ;;', updater_text)
self.assertIn('workflow_dispatch)', updater_text)
self.assertIn('echo "SOURCE_BRANCH=$SOURCE_BRANCH" >> "$GITHUB_ENV"', updater_text)
self.assertIn('echo "SOURCE_SHA=$SOURCE_SHA" >> "$GITHUB_ENV"', updater_text)
self.assertIn('HEAD_SHA="$SOURCE_SHA"', updater_text)