Merge gitea/act into act/

Merges the `gitea.com/gitea/act` fork into this repository as the `act/`
directory and consumes it as a local package. The `replace github.com/nektos/act
=> gitea.com/gitea/act` directive is removed; act's dependencies are merged
into the root `go.mod`.

- Imports rewritten: `github.com/nektos/act/pkg/...` → `gitea.com/gitea/act_runner/act/...`
  (flattened — `pkg/` boundary dropped to match the layout forgejo-runner adopted).
- Dropped act's CLI (`cmd/`, `main.go`) and all upstream project files; kept
  the library tree + `LICENSE`.
- Added `// Copyright <year> The Gitea Authors ...` / `// Copyright <year> nektos`
  headers to 104 `.go` files.
- Pre-existing act lint violations annotated inline with
  `//nolint:<linter> // pre-existing issue from nektos/act`.
  `.golangci.yml` is unchanged vs `main`.
- Makefile test target: `-race -short` (matches forgejo-runner).
- Pre-existing integration test failures fixed: race in parallel executor
  (atomic counters); TestSetupEnv / command_test / expression_test /
  run_context_test updated to match gitea fork runtime; TestJobExecutor and
  TestActionCache gated on `testing.Short()`.

Full `gitea/act` commit history is reachable via the second parent.

Co-Authored-By: Claude (Opus 4.7) <noreply@anthropic.com>
This commit is contained in:
silverwind
2026-04-22 22:29:06 +02:00
1324 changed files with 294024 additions and 43 deletions

View File

@@ -0,0 +1,29 @@
on: push
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- run: |
echo '::set-output name=matrix::["a", "b"]'
id: r1
outputs:
matrix: ${{steps.r1.outputs.matrix}}
helix: steady
evalm:
needs:
- prepare
strategy:
matrix:
${{needs.prepare.outputs.helix}}: |-
${{fromJson(needs.prepare.outputs.matrix)}}
runs-on: ubuntu-latest
steps:
- name: Check if the matrix key doesn't ends up unevaluated
run: |
echo $MATRIX
exit ${{matrix['${{needs.prepare.outputs.helix}}'] && '1' || '0'}}
env:
MATRIX: ${{toJSON(matrix)}}
- name: Check if the evaluated matrix key contains a value
run: |
exit ${{matrix[needs.prepare.outputs.helix] && '0' || '1'}}