You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/models/actions
Jason Song a33e74d40d
Clarify Actions resources ownership (#31724)
Fix #31707.

Also related to #31715.

Some Actions resources could has different types of ownership. It could
be:

- global: all repos and orgs/users can use it.
- org/user level: only the org/user can use it.
- repo level: only the repo can use it.

There are two ways to distinguish org/user level from repo level:
1. `{owner_id: 1, repo_id: 2}` for repo level, and `{owner_id: 1,
repo_id: 0}` for org level.
2. `{owner_id: 0, repo_id: 2}` for repo level, and `{owner_id: 1,
repo_id: 0}` for org level.

The first way seems more reasonable, but it may not be true. The point
is that although a resource, like a runner, belongs to a repo (it can be
used by the repo), the runner doesn't belong to the repo's org (other
repos in the same org cannot use the runner). So, the second method
makes more sense.

And the first way is not user-friendly to query, we must set the repo id
to zero to avoid wrong results.

So, #31715 should be right. And the most simple way to fix #31707 is
just:

```diff
-	shared.GetRegistrationToken(ctx, ctx.Repo.Repository.OwnerID, ctx.Repo.Repository.ID)
+	shared.GetRegistrationToken(ctx, 0, ctx.Repo.Repository.ID)
```

However, it is quite intuitive to set both owner id and repo id since
the repo belongs to the owner. So I prefer to be compatible with it. If
we get both owner id and repo id not zero when creating or finding, it's
very clear that the caller want one with repo level, but set owner id
accidentally. So it's OK to accept it but fix the owner id to zero.
6 months ago
..
artifact.go Artifact deletion in actions ui (#27172) 12 months ago
main_test.go Add unit tests for action runner token (#27670) 1 year ago
run.go Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 10 months ago
run_job.go Replace `util.SliceXxx` with `slices.Xxx` (#26958) 1 year ago
run_job_list.go Add container.FilterSlice function (#30339) 10 months ago
run_list.go Add container.FilterSlice function (#30339) 10 months ago
runner.go Clarify Actions resources ownership (#31724) 6 months ago
runner_list.go Refactor more filterslice (#30370) 10 months ago
runner_token.go Clarify Actions resources ownership (#31724) 6 months ago
runner_token_test.go Add unit tests for action runner token (#27670) 1 year ago
schedule.go Cancel previous runs of the same PR automatically (#29961) 11 months ago
schedule_list.go Avoid user does not exist error when detecting schedule actions when the commit author is an external user (#30357) 10 months ago
schedule_spec.go chore(actions): support cron schedule task (#26655) 1 year ago
schedule_spec_list.go Add container.FilterSlice function (#30339) 10 months ago
status.go Refactor locale&string&template related code (#29165) 12 months ago
task.go Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 10 months ago
task_list.go Drop `IDOrderDesc` for listing Actions task and always order by `id DESC` (#31150) 8 months ago
task_output.go Fix no ActionTaskOutput table waring (#28149) 1 year ago
task_step.go Implement actions (#21937) 2 years ago
tasks_version.go Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 10 months ago
utils.go Implement actions (#21937) 2 years ago
utils_test.go Implement actions (#21937) 2 years ago
variable.go Clarify Actions resources ownership (#31724) 6 months ago