runner/act
Earl Warren 403489591e
Revert "chore(cleanup): lxc-helpers does not need a global lock (#1047)" (#1103)
This reverts commit 996ac343ee.

The lock is still needed to guard against the following scenario.

d92a892ece/act/runner/run_context.go (L225-L236)

- two or more jobs start
- one of them creates the act template (`lxc_build_template $(lxc_template_release) $name`) - lxc-helpers now has transactions and they won't race against each other
- once it is built all jobs will then try to install node in the container that was just built and race against each other

with a global lock only the first one will build and populate the act template. The other will then do nothing because it already exists.

The bug can trivially be reproduced with:

```yaml
on:
  pull_request:

jobs:
  test1:
    runs-on: lxc
    steps:
      - run: echo OK1
  test2:
    runs-on: lxc
    steps:
      - run: echo OK2
  test3:
    runs-on: lxc
    steps:
      - run: echo OK3
```

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/1103): <!--number 1103 --><!--line 0 --><!--description UmV2ZXJ0ICJjaG9yZShjbGVhbnVwKTogbHhjLWhlbHBlcnMgZG9lcyBub3QgbmVlZCBhIGdsb2JhbCBsb2NrICgjMTA0Nyki-->Revert "chore(cleanup): lxc-helpers does not need a global lock (#1047)"<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/1103
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: limiting-factor <limiting-factor@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-10-20 21:05:05 +00:00
..
artifactcache fix: allow GC & cache operations to operate concurrently (#1040) 2025-09-30 19:12:45 +00:00
cacheproxy chore: log reason reverse proxy can't be started (#1089) 2025-10-14 08:08:03 +00:00
common feat: disambiguate cloud emoji (#1076) 2025-10-11 09:23:28 +00:00
container feat: allow --memory in workflow container options (#1079) 2025-10-10 14:33:07 +00:00
exprparser feat: the forgejo context is equivalent to the github context (#999) 2025-09-15 09:14:11 +00:00
filecollector chore: modernize code (#857) 2025-08-15 04:54:13 +00:00
jobparser feat: improve readability of error messages from ParseRawOn (#1063) 2025-10-07 14:41:55 +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 chore: bump version to v11 (#940) 2025-09-05 07:29:38 +00:00
runner Revert "chore(cleanup): lxc-helpers does not need a global lock (#1047)" (#1103) 2025-10-20 21:05:05 +00:00
schema chore: test: exercise contexts in matrix when validating workflows (#1033) 2025-09-28 07:15:51 +00:00
workflowpattern chore: modernize code (#857) 2025-08-15 04:54:13 +00:00