Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix Actions being enabled accidentally (#24802) #24810

Merged
merged 1 commit into from
May 19, 2023

Conversation

GiteaBot
Copy link
Collaborator

Backport #24802 by @wolfogre

Regression of #24536. If the user doesn't explicitly disable Actions, it will be enabled.

  1. Gitea will call loadRepositoryFrom before loadActionsFrom.
    loadRepositoryFrom(cfg)
    loadPictureFrom(cfg)
    loadPackagesFrom(cfg)
    loadActionsFrom(cfg)
  2. In loadRepositoryFrom, rootCfg.Section("actions").Key("ENABLED").MustBool(true) will set actions.ENABLED with true.
    if !rootCfg.Section("actions").Key("ENABLED").MustBool(true) {
    Repository.DisabledRepoUnits = append(Repository.DisabledRepoUnits, "repo.actions")
    }
  3. In loadActionsFrom, rootCfg.Section("actions") will get a section with Actions enabled.
    sec := rootCfg.Section("actions")
    if err := sec.MapTo(&Actions); err != nil {
    log.Fatal("Failed to map Actions settings: %v", err)
    }

Although the cause of the problem was using true by copy-paste mistake, it also surprised me that rootCfg.Section("actions").Key("ENABLED").MustBool(true) doesn't only read, but also write.

Regression of go-gitea#24536. If the user doesn't explicitly disable Actions, it
will be enabled.

1. Gitea will call `loadRepositoryFrom` before `loadActionsFrom`.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/setting.go#L234-L237
2. In `loadRepositoryFrom`,
`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` will set
`actions.ENABLED` with `true`.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/repository.go#L313-L315
3. In `loadActionsFrom`, `rootCfg.Section("actions")` will get a section
with Actions enabled.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/actions.go#L23-L26

Although the cause of the problem was using `true` by copy-paste
mistake, it also surprised me that
**`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` doesn't
only read, but also write.**
@GiteaBot GiteaBot added this to the 1.19.4 milestone May 19, 2023
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label May 19, 2023
@pull-request-size pull-request-size bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label May 19, 2023
@GiteaBot GiteaBot requested review from delvh, lunny and silverwind May 19, 2023 11:35
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels May 19, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels May 19, 2023
@silverwind silverwind merged commit b369ed5 into go-gitea:release/v1.19 May 19, 2023
Codeberg-org pushed a commit to Codeberg-org/gitea that referenced this pull request Jun 3, 2023
Backport go-gitea#24802 by @wolfogre

Regression of go-gitea#24536. If the user doesn't explicitly disable Actions, it
will be enabled.

1. Gitea will call `loadRepositoryFrom` before `loadActionsFrom`.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/setting.go#L234-L237
2. In `loadRepositoryFrom`,
`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` will set
`actions.ENABLED` with `true`.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/repository.go#L313-L315
3. In `loadActionsFrom`, `rootCfg.Section("actions")` will get a section
with Actions enabled.

https://github.com/go-gitea/gitea/blob/25d4f95df25dae5226e96e813dde87b071d9155e/modules/setting/actions.go#L23-L26

Although the cause of the problem was using `true` by copy-paste
mistake, it also surprised me that
**`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` doesn't
only read, but also write.**

Co-authored-by: Jason Song <i@wolfogre.com>
(cherry picked from commit b369ed5)
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Aug 17, 2023
@techknowlogick techknowlogick deleted the backport-24802-v1.19 branch September 9, 2023 05:29
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants