0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-23 15:53:07 -05:00
forgejo/services
Zettat123 ec05ab1e3c
Improve the handling of jobs.<job_id>.if (#31070)
Fix #25897
Fix #30322

#29464 cannot handle some complex `if` conditions correctly because it
only checks `always()` literally. In fact, it's not easy to evaluate the
`if` condition on the Gitea side because evaluating it requires a series
of contexts. But act_runner is able to evaluate the `if` condition
before running the job (for more information, see
[`gitea/act`](517d11c671/pkg/runner/run_context.go (L739-L753)))
. So we can use act_runner to check the `if` condition.

In this PR, how to handle a blocked job depends on its `needs` and `if`:
- If not all jobs in `needs` completed successfully and the job's `if`
is empty, set the job status to `StatusSkipped`
- In other cases, the job status will be set to `StatusWaiting`, and
then act_runner will check the `if` condition and run the job if the
condition is met

(cherry picked from commit 31a0c4dfb4156a7b4d856cceae1e61c7fc1a4a1b)
2024-06-02 09:08:07 +02:00
..
actions Improve the handling of jobs.<job_id>.if (#31070) 2024-06-02 09:08:07 +02:00
agit
asymkey Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
attachment
auth Fix tautological conditions (#30735) 2024-05-05 08:59:40 +01:00
automerge Fix automerge will not work because of some events haven't been triggered (#30780) 2024-05-26 19:01:36 +02:00
context ui for adding following repos 2024-05-24 13:28:15 +02:00
contexttest Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-12 20:03:10 +02:00
convert Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
cron
doctor Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
externalaccount
federation lint 2024-05-24 13:38:43 +02:00
feed
forgejo
forms fix review 2024-05-29 18:31:06 +02:00
gitdiff Refactor sha1 and time-limited code (#31023) 2024-05-26 18:43:30 +02:00
indexer Update issue indexer after merging a PR (#30715) 2024-05-12 20:03:10 +02:00
issue Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
lfs
mailer Merge pull request 'mailer: Switch X-Mailer to "Forgejo"' (#3931) from algernon/forgejo:mailer-detox into forgejo 2024-05-28 17:51:04 +00:00
markup
migrations Merge pull request 'migrations: Map non-existant external users to Ghost' (#3935) from algernon/forgejo:who-let-the-nils-out into forgejo 2024-05-28 16:42:31 +00:00
mirror Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00
notify Clean up log messages (#30313) 2024-04-15 20:01:35 +02:00
org
packages
pull Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-12 20:03:10 +02:00
release Fix release published actions not triggering for releases created from existing tags 2024-04-15 22:53:53 +02:00
remote Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
repository Merge branch 'forgejo' into forgejo-federated-pr5 2024-05-29 18:26:16 +02:00
secrets
task Fix "force private" logic (#31012) 2024-05-26 18:20:33 +02:00
uinotification
user ui for adding following repos 2024-05-24 13:28:15 +02:00
webhook chore: fix typos identified by mispell 2024-05-25 09:43:50 +02:00
wiki feat: wiki search using git-grep 2024-05-20 13:48:50 +00:00