diff --git a/internal/ci/base/gerrithub.cue b/internal/ci/base/gerrithub.cue index 4772bc517..6cfa80bb2 100644 --- a/internal/ci/base/gerrithub.cue +++ b/internal/ci/base/gerrithub.cue @@ -12,6 +12,7 @@ import ( // trybotWorkflows is a template for trybot-based repos trybotWorkflows: { (trybot.key): githubactions.#Workflow & { + name: trybot.name on: { // Run nightly at 2am UTC without a cache to catch flakes. schedule: [{cron: "0 2 * * *"}] diff --git a/internal/ci/base/write.cue b/internal/ci/base/write.cue index 196c4ee90..24d7de5a9 100644 --- a/internal/ci/base/write.cue +++ b/internal/ci/base/write.cue @@ -34,10 +34,22 @@ import ( // Perhaps it doesn't work for imported packages? It seems to me like it should. _goos: string | *path.Unix @tag(os,var=os) +// uniqueWorkflowNames enforces that workflow names are unique, +// since we use them to uniquely identify workflow runs depicted in GitHub events, +// such as "TryBot" or "Unity". +uniqueWorkflowNames: self={ + _uniqueWorkflowNames: { + for basename, workflow in self { + (workflow.name): basename + } + } +} + // writeWorkflows regenerates the GitHub workflow YAML definitions. writeWorkflows: { #in: { workflows: [string]: githubactions.#Workflow + workflows: uniqueWorkflowNames } _dir: path.FromSlash("../../.github/workflows", path.Unix) diff --git a/internal/ci/github/trybot.cue b/internal/ci/github/trybot.cue index 69a06c935..113e7a61e 100644 --- a/internal/ci/github/trybot.cue +++ b/internal/ci/github/trybot.cue @@ -21,8 +21,6 @@ import ( // The trybot workflow. workflows: trybot: _repo.bashWorkflow & { - name: _repo.trybot.name - on: { push: { branches: list.Concat([[_repo.testDefaultBranch], _repo.protectedBranchPatterns]) // do not run PR branches diff --git a/internal/ci/github/workflows.cue b/internal/ci/github/workflows.cue index 6433f5555..d902bca24 100644 --- a/internal/ci/github/workflows.cue +++ b/internal/ci/github/workflows.cue @@ -39,6 +39,7 @@ workflows: close({ [string]: githubactions.#Workflow _repo.trybotWorkflows + _repo.uniqueWorkflowNames release: _ tip_triggers: _