forked from go-gitea/gitea
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'giteaofficial/main'
* giteaofficial/main: Change the default maxPerPage for gitbucket (go-gitea#30392) Fix the spacing issue in the Project view (go-gitea#30415) Add commit status summary table to reduce query from commit status table (go-gitea#30223) Split `issue edit` code from `repo-legacy.js` into its own file (go-gitea#30419) Check the token's owner and repository when registering a runner (go-gitea#30406) Avoid user does not exist error when detecting schedule actions when the commit author is an external user (go-gitea#30357) Update actions variables documents (go-gitea#30394) Fix author name alignment in commits table (go-gitea#30396)
- Loading branch information
Showing
26 changed files
with
510 additions
and
329 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
date: "2024-04-10T22:21:00+08:00" | ||
title: "Variables" | ||
slug: "actions-variables" | ||
sidebar_position: 25 | ||
draft: false | ||
toc: false | ||
menu: | ||
sidebar: | ||
parent: "actions" | ||
name: "Variables" | ||
sidebar_position: 25 | ||
identifier: "actions-variables" | ||
--- | ||
|
||
## Variables | ||
|
||
You can create configuration variables on the user, organization and repository level. | ||
The level of the variable depends on where you created it. When creating a variable, the | ||
key will be converted to uppercase. You need use uppercase on the yaml file. | ||
|
||
### Naming conventions | ||
|
||
The following rules apply to variable names: | ||
|
||
- Variable names can only contain alphanumeric characters (`[a-z]`, `[A-Z]`, `[0-9]`) or underscores (`_`). Spaces are not allowed. | ||
- Variable names must not start with the `GITHUB_` and `GITEA_` prefix. | ||
- Variable names must not start with a number. | ||
- Variable names are case-insensitive. | ||
- Variable names must be unique at the level they are created at. | ||
- Variable names must not be `CI`. | ||
|
||
### Using variable | ||
|
||
After creating configuration variables, they will be automatically filled in the `vars` context. | ||
They can be accessed through expressions like `${{ vars.VARIABLE_NAME }}` in the workflow. | ||
|
||
### Precedence | ||
|
||
If a variable with the same name exists at multiple levels, the variable at the lowest level takes precedence: | ||
A repository variable will always be chosen over an organization/user variable. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
date: "2024-04-10T22:21:00+08:00" | ||
title: "变量" | ||
slug: "actions-variables" | ||
sidebar_position: 25 | ||
draft: false | ||
toc: false | ||
menu: | ||
sidebar: | ||
parent: "actions" | ||
name: "变量" | ||
sidebar_position: 25 | ||
identifier: "actions-variables" | ||
--- | ||
|
||
## 变量 | ||
|
||
您可以创建用户、组织和仓库级别的变量。变量的级别取决于创建它的位置。当创建变量时,变量的名称会被 | ||
转换为大写,在yaml文件中引用时需要使用大写。 | ||
|
||
### 命名规则 | ||
|
||
以下规则适用于变量名: | ||
|
||
- 变量名称只能包含字母数字字符 (`[a-z]`, `[A-Z]`, `[0-9]`) 或下划线 (`_`)。不允许使用空格。 | ||
- 变量名称不能以 `GITHUB_` 和 `GITEA_` 前缀开头。 | ||
- 变量名称不能以数字开头。 | ||
- 变量名称不区分大小写。 | ||
- 变量名称在创建它们的级别上必须是唯一的。 | ||
- 变量名称不能为 `CI`。 | ||
|
||
### 使用 | ||
|
||
创建配置变量后,它们将自动填充到 `vars` 上下文中。您可以在工作流中使用类似 `${{ vars.VARIABLE_NAME }}` 这样的表达式来使用它们。 | ||
|
||
### 优先级 | ||
|
||
如果同名变量存在于多个级别,则级别最低的变量优先。 | ||
仓库级别的变量总是比组织或者用户级别的变量优先被选中。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
// Copyright 2024 Gitea. All rights reserved. | ||
// SPDX-License-Identifier: MIT | ||
|
||
package git | ||
|
||
import ( | ||
"context" | ||
|
||
"code.gitea.io/gitea/models/db" | ||
"code.gitea.io/gitea/modules/setting" | ||
api "code.gitea.io/gitea/modules/structs" | ||
|
||
"xorm.io/builder" | ||
) | ||
|
||
// CommitStatusSummary holds the latest commit Status of a single Commit | ||
type CommitStatusSummary struct { | ||
ID int64 `xorm:"pk autoincr"` | ||
RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"` | ||
SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_id_sha)"` | ||
State api.CommitStatusState `xorm:"VARCHAR(7) NOT NULL"` | ||
} | ||
|
||
func init() { | ||
db.RegisterModel(new(CommitStatusSummary)) | ||
} | ||
|
||
type RepoSHA struct { | ||
RepoID int64 | ||
SHA string | ||
} | ||
|
||
func GetLatestCommitStatusForRepoAndSHAs(ctx context.Context, repoSHAs []RepoSHA) ([]*CommitStatus, error) { | ||
cond := builder.NewCond() | ||
for _, rs := range repoSHAs { | ||
cond = cond.Or(builder.Eq{"repo_id": rs.RepoID, "sha": rs.SHA}) | ||
} | ||
|
||
var summaries []CommitStatusSummary | ||
if err := db.GetEngine(ctx).Where(cond).Find(&summaries); err != nil { | ||
return nil, err | ||
} | ||
|
||
commitStatuses := make([]*CommitStatus, 0, len(repoSHAs)) | ||
for _, summary := range summaries { | ||
commitStatuses = append(commitStatuses, &CommitStatus{ | ||
RepoID: summary.RepoID, | ||
SHA: summary.SHA, | ||
State: summary.State, | ||
}) | ||
} | ||
return commitStatuses, nil | ||
} | ||
|
||
func UpdateCommitStatusSummary(ctx context.Context, repoID int64, sha string) error { | ||
commitStatuses, _, err := GetLatestCommitStatus(ctx, repoID, sha, db.ListOptionsAll) | ||
if err != nil { | ||
return err | ||
} | ||
state := CalcCommitStatus(commitStatuses) | ||
// mysql will return 0 when update a record which state hasn't been changed which behaviour is different from other database, | ||
// so we need to use insert in on duplicate | ||
if setting.Database.Type.IsMySQL() { | ||
_, err := db.GetEngine(ctx).Exec("INSERT INTO commit_status_summary (repo_id,sha,state) VALUES (?,?,?) ON DUPLICATE KEY UPDATE state=?", | ||
repoID, sha, state.State, state.State) | ||
return err | ||
} | ||
|
||
if cnt, err := db.GetEngine(ctx).Where("repo_id=? AND sha=?", repoID, sha). | ||
Cols("state"). | ||
Update(&CommitStatusSummary{ | ||
State: state.State, | ||
}); err != nil { | ||
return err | ||
} else if cnt == 0 { | ||
_, err = db.GetEngine(ctx).Insert(&CommitStatusSummary{ | ||
RepoID: repoID, | ||
SHA: sha, | ||
State: state.State, | ||
}) | ||
return err | ||
} | ||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// Copyright 2024 The Gitea Authors. All rights reserved. | ||
// SPDX-License-Identifier: MIT | ||
|
||
package v1_23 //nolint | ||
|
||
import "xorm.io/xorm" | ||
|
||
func AddCommitStatusSummary(x *xorm.Engine) error { | ||
type CommitStatusSummary struct { | ||
ID int64 `xorm:"pk autoincr"` | ||
RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"` | ||
SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_id_sha)"` | ||
State string `xorm:"VARCHAR(7) NOT NULL"` | ||
} | ||
// there is no migrations because if there is no data on this table, it will fall back to get data | ||
// from commit status | ||
return x.Sync2(new(CommitStatusSummary)) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.