runner/act
Mathieu Fenniak 2a6236f088 fix: prevent data race in setupShell
setupShell would update the shell stored on the `Step` object to a new interpolated value.  If the expression evaluation was interpolated with reference to a matrix input to the job, that shell can be written to multiple *different* values for each RunContext, resulting in a data race that causes incorrect shells to be used for each concurrent matrix run.

==================
WARNING: DATA RACE
Write at 0x00c00013e9b0 by goroutine 1470:
  code.forgejo.org/forgejo/runner/v9/act/runner.(*stepRun).setupShell()
      /.../forgejo-runner/act/runner/step_run.go:210 +0x8f2
  code.forgejo.org/forgejo/runner/v9/act/common/git.FindGitRevision()
      /.../forgejo-runner/act/common/git/git.go:58 +0xc4
  code.forgejo.org/forgejo/runner/v9/act/model.(*GithubContext).SetSha()
      /.../forgejo-runner/act/model/github_context.go:161 +0x6b5
  code.forgejo.org/forgejo/runner/v9/act/runner.(*RunContext).getGithubContext()
      /.../forgejo-runner/act/runner/run_context.go:1228 +0x26ca
  ...

Previous write at 0x00c00013e9b0 by goroutine 1469:
  code.forgejo.org/forgejo/runner/v9/act/runner.(*stepRun).setupShell()
      /.../forgejo-runner/act/runner/step_run.go:210 +0x8f2
  code.forgejo.org/forgejo/runner/v9/act/common/git.FindGitRevision()
      /.../forgejo-runner/act/common/git/git.go:58 +0xc4
  code.forgejo.org/forgejo/runner/v9/act/model.(*GithubContext).SetSha()
      /.../forgejo-runner/act/model/github_context.go:161 +0x6b5
  code.forgejo.org/forgejo/runner/v9/act/runner.(*RunContext).getGithubContext()
      /.../forgejo-runner/act/runner/run_context.go:1228 +0x26ca

...
==================
2025-08-14 21:58:56 -06:00
..
artifactcache chore: to allow the runner to be imported, v9 needs to be in the go module (#777) 2025-07-31 10:35:11 +00:00
cacheproxy chore: panic if a random name cannot be created (#853) 2025-08-14 15:46:01 +00:00
common chore: panic if a random name cannot be created (#853) 2025-08-14 15:46:01 +00:00
container chore: refactor NewDockerVolumeRemoveExecutor (#854) 2025-08-14 15:46:52 +00:00
exprparser feat: added support for dereferenced map properties (#821) 2025-08-10 16:24:02 +00:00
filecollector chore: use t.Context for tests, activate usetesting for lint + add t.TempDir and t.Chdir (#844) 2025-08-11 13:21:42 +00:00
jobparser feat: support evaluation of concurrency clauses in runner (#827) 2025-08-07 21:47:01 +00:00
lookpath chore: use the same .golangci.yml as the runner & gofumpt over gofmt (#206) 2025-07-28 12:26:41 +00:00
model fix: prevent data race in setupShell 2025-08-14 21:58:56 -06:00
runner fix: prevent data race in setupShell 2025-08-14 21:58:56 -06:00
schema feat: support evaluation of concurrency clauses in runner (#827) 2025-08-07 21:47:01 +00:00
workflowpattern feat: workflowpattern package (#1618) 2023-02-23 18:21:08 +00:00