Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Name the job's bot account with acts-as

ac541b268df7626894acdb3405a886a0f0d7cc4a · Keenan Nemetz · 6d ago · parent 57dc79af

Name the job's bot account with acts-as

The field was `bot`, the same word as the account kind, so the YAML said
"bot: coding-agent" and the reference page had to explain that the job acts
as that account. The key now says what it does: `acts-as: coding-agent`.

Nothing else moves. A bot is still a bot: `--bot`, the directory and profile
badge, the kind column, and the accounts page all keep the word. The job
model still calls the account Bot, because that is what it is.

There is no alias. Unknown keys already fail the parse, the field has not
shipped in a release, and this repository has no tags, so a second spelling
would outlive the only reason to have one. A test pins the old key as
rejected.

ci/workflow.go +9−9

@@ -820,7 +820,7 @@ type rawJob struct {
820 820 RunsOn rawLabels `yaml:"runs-on"`
821 821 Network string `yaml:"network"`
822 822 Timeout string `yaml:"timeout"`
823 Bot string `yaml:"bot"`
823 ActsAs string `yaml:"acts-as"`
824 824 Image string `yaml:"image"`
825 825 ImageFile string `yaml:"image-file"`
826 826 Artifacts []rawArtifact `yaml:"artifacts"`
@@ -1181,15 +1181,15 @@ func Parse(file string, content string) (*Workflow, []string) {
1181 1181 job.Network = network
1182 1182 }
1183 1183 }
1184 // bot names the account the job acts as. The name is checked here so a typo
1185 // fails the push; whether it is a bot account, is active, and may act in this
1186 // repository is checked when the job is leased, because a roster changes
1187 // without a push.
1188 if bot := strings.TrimSpace(jr.Bot); bot != "" {
1189 if !accountRE.MatchString(bot) {
1190 bad("jobs.%s.bot: %q is not an account name (2-32 characters: lowercase letters, digits, - and _)", id, bot)
1184 // acts-as names the bot account the job acts as. The name is checked here so
1185 // a typo fails the push; whether it is a bot account, is active, and may act
1186 // in this repository is checked when the job is leased, because a roster
1187 // changes without a push.
1188 if actsAs := strings.TrimSpace(jr.ActsAs); actsAs != "" {
1189 if !accountRE.MatchString(actsAs) {
1190 bad("jobs.%s.acts-as: %q is not an account name (2-32 characters: lowercase letters, digits, - and _)", id, actsAs)
1191 1191 } else {
1192 job.Bot = bot
1192 job.Bot = actsAs
1193 1193 }
1194 1194 }
1195 1195 // A job budget is the clock its steps share. It is optional: without one each