745d60aec4
[CI] Revert "Restrict `[actions].DEFAULT_ACTIONS_URL` to only `github` or `self` (#25581)" This reverts commit67bd9d4f1e
. (cherry picked from commit0547e94023
) (cherry picked from commitd21ad654ad
) (cherry picked from commitb905e9d838
) (cherry picked from commit 251a5bf235b1723bc2bc324f9e8c03a8668bb5ae) (cherry picked from commitb370e47694
) (cherry picked from commit2cc28d0785
) (cherry picked from commited870a39e9
) (cherry picked from commit7bb0c4654e
) (cherry picked from commitbab1f552c3
) Conflicts: custom/conf/app.example.ini modules/setting/actions.go https://codeberg.org/forgejo/forgejo/pulls/1413 [CI] DEFAULT_ACTIONS_URL = https://codeberg.org (cherry picked from commit52b364ddbd
) (cherry picked from commit99887cd567
) (cherry picked from commitcd5788782a
) (cherry picked from commit71c698a704
) (cherry picked from commit71386241dd
) (cherry picked from commitb7ab05aeac
) (cherry picked from commite78b9ca59c
) (cherry picked from commitedb3adf460
) (cherry picked from commit3e40088197
) [BRANDING] DEFAULT_ACTIONS_URL = https://code.forgejo.org (cherry picked from commitd0e4512c90
) (cherry picked from commit8ba6e04709
) (cherry picked from commit6349081044
) (cherry picked from commite06bd44495
) (cherry picked from commitd58219d8e1
) (cherry picked from commit052f2c2aa4
) (cherry picked from commit29dc395386
) (cherry picked from commit9eef3f59f3
) (cherry picked from commitd650391fed
) (cherry picked from commitc2e6e8c55d
) (cherry picked from commite28a47741d
) [CI] DEFAULT_ACTIONS_URL support for self & github (squash) Refs: https://codeberg.org/forgejo/forgejo/issues/1062 (cherry picked from commit74cc25376e
) (cherry picked from commit405430708f
) (cherry picked from commit 0274a6dee7f383bcd6b65b995b991b5ab0ee635a) (cherry picked from commitbe5cda0fd0
) (cherry picked from commitd27474849f
) (cherry picked from commit4a5e9e2d81
) (cherry picked from commit65b31906b2
) (cherry picked from commit13cf0b0963
) Conflicts: custom/conf/app.example.ini modules/setting/actions.go https://codeberg.org/forgejo/forgejo/pulls/1413 (cherry picked from commit49529badce
) Conflicts: custom/conf/app.example.ini docs/content/administration/config-cheat-sheet.en-us.md modules/setting/actions.go https://codeberg.org/forgejo/forgejo/pulls/1460 (cherry picked from commit00327b9b1f
) (cherry picked from commit3b322e43d5
) (cherry picked from commit492cc52059
) Conflicts: modules/setting/actions.go https://codeberg.org/forgejo/forgejo/pulls/1573 (cherry picked from commit9027b655df
) (cherry picked from commit4764383028
) (cherry picked from commitfbb00fd1cf
) (cherry picked from commit417cd6c801
) (cherry picked from commit6b70773ad8
) (cherry picked from commit9ba069327d
) Conflicts: modules/setting/actions.go https://codeberg.org/forgejo/forgejo/pulls/1827 (cherry picked from commit727edf19ee
) (cherry picked from commit689326ce20
)
77 lines
2.3 KiB
Go
77 lines
2.3 KiB
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package setting
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// Actions settings
|
|
var (
|
|
Actions = struct {
|
|
LogStorage *Storage // how the created logs should be stored
|
|
ArtifactStorage *Storage // how the created artifacts should be stored
|
|
ArtifactRetentionDays int64 `ini:"ARTIFACT_RETENTION_DAYS"`
|
|
Enabled bool
|
|
DefaultActionsURL defaultActionsURL `ini:"DEFAULT_ACTIONS_URL"`
|
|
ZombieTaskTimeout time.Duration `ini:"ZOMBIE_TASK_TIMEOUT"`
|
|
EndlessTaskTimeout time.Duration `ini:"ENDLESS_TASK_TIMEOUT"`
|
|
AbandonedJobTimeout time.Duration `ini:"ABANDONED_JOB_TIMEOUT"`
|
|
SkipWorkflowStrings []string `ìni:"SKIP_WORKFLOW_STRINGS"`
|
|
}{
|
|
Enabled: true,
|
|
DefaultActionsURL: defaultActionsURLForgejo,
|
|
SkipWorkflowStrings: []string{"[skip ci]", "[ci skip]", "[no ci]", "[skip actions]", "[actions skip]"},
|
|
}
|
|
)
|
|
|
|
type defaultActionsURL string
|
|
|
|
func (url defaultActionsURL) URL() string {
|
|
switch url {
|
|
case defaultActionsURLGitHub:
|
|
return "https://github.com"
|
|
case defaultActionsURLSelf:
|
|
return strings.TrimSuffix(AppURL, "/")
|
|
default:
|
|
return string(url)
|
|
}
|
|
}
|
|
|
|
const (
|
|
defaultActionsURLForgejo = "https://code.forgejo.org"
|
|
defaultActionsURLGitHub = "github" // https://github.com
|
|
defaultActionsURLSelf = "self" // the root URL of the self-hosted instance
|
|
)
|
|
|
|
func loadActionsFrom(rootCfg ConfigProvider) error {
|
|
sec := rootCfg.Section("actions")
|
|
err := sec.MapTo(&Actions)
|
|
if err != nil {
|
|
return fmt.Errorf("failed to map Actions settings: %v", err)
|
|
}
|
|
|
|
// don't support to read configuration from [actions]
|
|
Actions.LogStorage, err = getStorage(rootCfg, "actions_log", "", nil)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
actionsSec, _ := rootCfg.GetSection("actions.artifacts")
|
|
|
|
Actions.ArtifactStorage, err = getStorage(rootCfg, "actions_artifacts", "", actionsSec)
|
|
|
|
// default to 90 days in Github Actions
|
|
if Actions.ArtifactRetentionDays <= 0 {
|
|
Actions.ArtifactRetentionDays = 90
|
|
}
|
|
|
|
Actions.ZombieTaskTimeout = sec.Key("ZOMBIE_TASK_TIMEOUT").MustDuration(10 * time.Minute)
|
|
Actions.EndlessTaskTimeout = sec.Key("ENDLESS_TASK_TIMEOUT").MustDuration(3 * time.Hour)
|
|
Actions.AbandonedJobTimeout = sec.Key("ABANDONED_JOB_TIMEOUT").MustDuration(24 * time.Hour)
|
|
|
|
return err
|
|
}
|