Skip to content

Commit 28a89e3

Browse files
authored
Add user level action runners (#24995)
Used similar logic to organization. <img width="1437" alt="Screen Shot 2023-05-30 at 10 18 06" src="https://github.com/go-gitea/gitea/assets/17645053/49f3800a-44ae-4188-b1e6-91d49e3d7868"> <img width="1331" alt="Screen Shot 2023-05-30 at 10 31 18" src="https://github.com/go-gitea/gitea/assets/17645053/221b2068-e9b9-4e34-bb4a-d390594b2f35">
1 parent 4c81dae commit 28a89e3

File tree

7 files changed

+32
-3
lines changed

7 files changed

+32
-3
lines changed

models/actions/runner.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ func (r *ActionRunner) BelongsToOwnerType() types.OwnerType {
6969
return types.OwnerTypeRepository
7070
}
7171
if r.OwnerID != 0 {
72-
return types.OwnerTypeOrganization
72+
if r.Owner.Type == user_model.UserTypeOrganization {
73+
return types.OwnerTypeOrganization
74+
} else if r.Owner.Type == user_model.UserTypeIndividual {
75+
return types.OwnerTypeIndividual
76+
}
7377
}
7478
return types.OwnerTypeSystemGlobal
7579
}

routers/web/repo/setting/runners.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ const (
2121
tplRepoRunners base.TplName = "repo/settings/actions"
2222
tplOrgRunners base.TplName = "org/settings/actions"
2323
tplAdminRunners base.TplName = "admin/actions"
24+
tplUserRunners base.TplName = "user/settings/actions"
2425
tplRepoRunnerEdit base.TplName = "repo/settings/runner_edit"
2526
tplOrgRunnerEdit base.TplName = "org/settings/runners_edit"
2627
tplAdminRunnerEdit base.TplName = "admin/runners/edit"
28+
tplUserRunnerEdit base.TplName = "user/settings/runner_edit"
2729
)
2830

2931
type runnersCtx struct {
@@ -32,6 +34,7 @@ type runnersCtx struct {
3234
IsRepo bool
3335
IsOrg bool
3436
IsAdmin bool
37+
IsUser bool
3538
RunnersTemplate base.TplName
3639
RunnerEditTemplate base.TplName
3740
RedirectLink string
@@ -71,6 +74,17 @@ func getRunnersCtx(ctx *context.Context) (*runnersCtx, error) {
7174
}, nil
7275
}
7376

77+
if ctx.Data["PageIsUserSettings"] == true {
78+
return &runnersCtx{
79+
OwnerID: ctx.Doer.ID,
80+
RepoID: 0,
81+
IsUser: true,
82+
RunnersTemplate: tplUserRunners,
83+
RunnerEditTemplate: tplUserRunnerEdit,
84+
RedirectLink: setting.AppSubURL + "/user/settings/actions/runners/",
85+
}, nil
86+
}
87+
7488
return nil, errors.New("unable to set Runners context")
7589
}
7690

@@ -102,7 +116,7 @@ func Runners(ctx *context.Context) {
102116
if rCtx.IsRepo {
103117
opts.RepoID = rCtx.RepoID
104118
opts.WithAvailable = true
105-
} else if rCtx.IsOrg {
119+
} else if rCtx.IsOrg || rCtx.IsUser {
106120
opts.OwnerID = rCtx.OwnerID
107121
opts.WithAvailable = true
108122
}

routers/web/user/setting/secrets.go renamed to routers/web/user/setting/runner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ import (
99
)
1010

1111
func RedirectToDefaultSetting(ctx *context.Context) {
12-
ctx.Redirect(setting.AppSubURL + "/user/settings/actions/secrets")
12+
ctx.Redirect(setting.AppSubURL + "/user/settings/actions/runners")
1313
}

routers/web/web.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,7 @@ func registerRoutes(m *web.Route) {
492492

493493
m.Group("/actions", func() {
494494
m.Get("", user_setting.RedirectToDefaultSetting)
495+
addSettingsRunnersRoutes()
495496
addSettingsSecretsRoutes()
496497
}, actions.MustEnableActions)
497498

templates/user/settings/actions.tmpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<div class="user-setting-content">
33
{{if eq .PageType "secrets"}}
44
{{template "shared/secrets/add_list" .}}
5+
{{else if eq .PageType "runners"}}
6+
{{template "shared/actions/runner_list" .}}
57
{{end}}
68
</div>
79

templates/user/settings/navbar.tmpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
<div class="item">
2424
{{.locale.Tr "actions.actions"}}
2525
<div class="menu">
26+
<a class="{{if .PageIsSharedSettingsRunners}}active {{end}}item" href="{{AppSubUrl}}/user/settings/actions/runners">
27+
{{.locale.Tr "actions.runners"}}
28+
</a>
2629
<a class="{{if .PageIsSharedSettingsSecrets}}active {{end}}item" href="{{AppSubUrl}}/user/settings/actions/secrets">
2730
{{.locale.Tr "secrets.secrets"}}
2831
</a>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings runners")}}
2+
<div class="user-setting-content">
3+
{{template "shared/actions/runner_edit" .}}
4+
</div>
5+
{{template "user/settings/layout_footer" .}}

0 commit comments

Comments
 (0)