gitforge/tests
Mathieu Fenniak 3ea1f3f784 fix: jobs with ${{ needs.x.[...] }} inherit the skip state of job x (#13174)
In cases where a job references `${{ needs.x.[...]}}` in a critical section relevant for dispatching a job -- `strategy.matrix`, `runs-on`, or `with` -- referencing a skipped job as `x` would cause an error that the job is missing the required output.  With this change, the referencing job is now automatically skipped.

Fixes #13165.

I've performed manual testing on my dev instance and verified that the end-to-end multiarch test, identified as the problem in #13165, now successfully gets skipped as would be expected (and, not in the screenshot, that the matrix expands correctly when the `if` condition is true and real jobs are run).

![image](/attachments/96042c48-189f-48c5-a6b2-a48c6660fa1c)

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. All work and communication must conform to Forgejo's [AI Agreement](https://codeberg.org/forgejo/governance/src/branch/main/AIAgreement.md). There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests for Go changes

- I added test coverage for Go changes...
  - [ ] in their respective `*_test.go` for unit tests.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I ran...
  - [x] `make pr-go` before pushing

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] This change will be noticed by a Forgejo user or admin (feature, bug fix, performance, etc.). I suggest to include a release note for this change.
- [x] This change is not visible to a Forgejo user or admin (refactor, dependency upgrade, etc.). I think there is no need to add a release note for this change.
    - Fixes regression from #13030 which is unreleased.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/13174
Reviewed-by: Andreas Ahlenstorf <aahlenst@noreply.codeberg.org>
2026-06-23 21:19:11 +02:00
..
e2e chore: restore ability to run with 'go test' (#12996) 2026-06-10 15:58:21 +02:00
forgery chore: tests for REST API permission check 2026-06-20 22:58:56 +02:00
fuzz
gitea-lfs-meta
gitea-repositories-meta cleanup(tests): remove unused git hooks directories in testdata (#12824) 2026-05-31 20:24:25 +02:00
integration fix: jobs with ${{ needs.x.[...] }} inherit the skip state of job x (#13174) 2026-06-23 21:19:11 +02:00
testdata/data
install.ini.tmpl feat: replace repo based server-side hooks with centralised hooks (#10397) 2026-04-27 22:34:46 +02:00
mysql.ini.tmpl fix(coverage): Integration tests don't run with coverage (#12978) 2026-06-13 23:25:38 +02:00
pgsql.ini.tmpl fix(coverage): Integration tests don't run with coverage (#12978) 2026-06-13 23:25:38 +02:00
sqlite.ini.tmpl fix(coverage): Integration tests don't run with coverage (#12978) 2026-06-13 23:25:38 +02:00
test_utils.go fix(coverage): Integration tests don't run with coverage (#12978) 2026-06-13 23:25:38 +02:00
unittest.ini.tmpl chore: update unittest template (#13009) 2026-06-11 04:23:29 +02:00