Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix Actions being enabled accidentally (#24802) #24810

Merged
merged 1 commit into from
May 19, 2023

Conversation

GiteaBot
Copy link
Contributor

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 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 <[email protected]>
(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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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