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 Use the database object format name but not read from git repoisitory everytime and fix possible migration wrong objectformat when migrating a sha256 repository (#29294) 2024-02-26 22:30:26 +01:00
asymkey Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
attachment Add support for API blob upload of release attachments (#29507) 2024-03-06 12:10:46 +08:00
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 Update checker setting updates 2024-03-31 10:52:24 +05:00
doctor Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
externalaccount Final round of db.DefaultContext refactor (#27587) 2023-10-14 08:37:24 +00:00
federation lint 2024-05-24 13:38:43 +02:00
feed More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
forgejo [UPGRADE] run sanity checks before the database is upgraded 2024-02-05 14:44:33 +01:00
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 Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
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 Format code 2024-03-28 05:42:25 +01:00
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 Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
packages packages: skip error logging on duplicate 2024-03-24 07:12:31 +01:00
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 Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
task Fix "force private" logic (#31012) 2024-05-26 18:20:33 +02:00
uinotification Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
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