Christopher Homberger
52eb6e43cd
Merge branch 'main' of gitea.com:gitea/act_runner into act-runner-actions-oss-act
2026-02-22 20:26:32 +01:00
silverwind
658101d9cb
chore(lint): add golangci-lint v2 and fix all lint issues ( #803 )
...
## Summary
- Replace old `.golangci.yml` (v1 format) with v2 format, aligned with gitea's lint config
- Add `lint-go`, `lint-go-fix`, and `lint` Makefile targets using golangci-lint v2.10.1
- Replace `make vet` with `make lint` in CI workflow (lint includes vet)
- Fix all 35 lint issues: modernize (maps.Copy, range over int, any), perfsprint (errors.New), unparam (remove unused parameters), revive (var naming), staticcheck, forbidigo exclusion for cmd/
- Make `security-check` non-fatal (apply https://github.com/go-gitea/gitea/pull/36681 )
- Remove dead gocritic exclusion rules (commentFormatting, exitAfterDefer)
- Remove dead linter exclusions and disabled checks (singleCaseSwitch, ST1003, QF1001, QF1006, QF1008, testifylint go-require/require-error, test file exclusions for dupl/errcheck/staticcheck/unparam)
## Test plan
- [x] `golangci-lint run` passes
- [x] `go build ./...` passes
- [x] `go test ./...` passes
---------
Co-authored-by: ChristopherHX <christopher.homberger@web.de >
Co-authored-by: Christopher Homberger <christopher.homberger@web.de >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/803
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com >
2026-02-22 17:35:08 +00:00
silverwind
f98673129b
Merge branch 'main' into act-runner-actions-oss-act
2026-02-22 15:07:57 +00:00
ChristopherHX
f0f9f0c8ab
fix: composite action log result reported as step result ( #801 )
...
Act logs an array of stepID to signal that this is an partial step result within an composite actions, this is the case for years and act_runner never handled it correctly.
Ref: <43e6958fa3/pkg/runner/logger.go (L142) >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/801
Reviewed-by: silverwind <silverwind@noreply.gitea.com >
2026-02-22 14:56:09 +00:00
silverwind
ae6e5dfcf7
fix: race condition in reporter between RunDaemon and Close ( #796 )
...
## Summary
- Fix data race on `r.closed` between `RunDaemon()` and `Close()` by protecting it with the existing `stateMu` — `closed` is part of the reporter state. `RunDaemon()` reads it under `stateMu.RLock()`, `Close()` sets it inside the existing `stateMu.Lock()` block
- `ReportState` now has a parameter to not report results from runDaemon even if set, from now on `Close` reports the result
- `Close` waits for `RunDaemon()` to signal exit via a closed channel `daemon` before reporting the final logs and state with result, unless something really wrong happens it does not time out
- Add `TestReporter_EphemeralRunnerDeletion` which reproduces the exact scenario from #793 : RunDaemon's `ReportState` racing with `Close`, causing the ephemeral runner to be deleted before final logs are sent
- Add `TestReporter_RunDaemonClose_Race` which exercises `RunDaemon()` and `Close()` concurrently to verify no data race on `r.closed` under `go test -race`
- Enable `-race` flag in `make test` so CI catches data races going forward
Based on #794 , with fixes for the remaining unprotected `r.closed` reads that the race detector catches.
Fixes #793
---------
Co-authored-by: Christopher Homberger <christopher.homberger@web.de >
Co-authored-by: ChristopherHX <christopher.homberger@web.de >
Co-authored-by: rmawatson <rmawatson@hotmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/796
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: silverwind <me@silverwind.io >
Co-committed-by: silverwind <me@silverwind.io >
2026-02-22 14:52:49 +00:00
Christopher Homberger
995551f1aa
experiment
2026-02-20 21:10:28 +01:00
Pablo Carranza
6a9a447f86
Report errors by setting raw_output when it's error level ( #645 )
...
checks / check and test (push) Successful in 13m43s
This solves #643 by setting the "raw_output" entry attribute when the log level is error. This results in the log line being shipped to the Gitea UI.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/645
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
Co-authored-by: Pablo Carranza <pcarranza@gmail.com >
Co-committed-by: Pablo Carranza <pcarranza@gmail.com >
2025-06-05 17:53:13 +00:00
Jason Song
23ec12b8cf
Bump act to v0.260.0 ( #522 )
...
Related to https://gitea.com/gitea/act/issues/99 .
Also update other main dependencies.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/522
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
2024-03-27 03:17:04 +00:00
sillyguodong
45270656df
Set the status of steps to skipped if job is skipped ( #500 )
...
If a job is detected as skipped, its steps should also be `skipped`.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/500
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2024-03-01 08:33:32 +00:00
Christopher Homberger
e6630e2e36
Use artifacts v4 jwt if available ( #471 )
...
Needs https://github.com/go-gitea/gitea/pull/28885 to provide jwt if sent by server
Could fix #459 , but that has not been verified.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/471
Reviewed-by: delvh <dev.lh@web.de >
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Christopher Homberger <christopher.homberger@web.de >
Co-committed-by: Christopher Homberger <christopher.homberger@web.de >
2024-02-08 02:43:39 +00:00
hakito
daf52d0e62
Sanitize UFT-8 content in logs ( #453 )
...
I accidently closed my previous PR #384
This PR replaces invalid UTF-8 character in a stream with `?` character. On Windows Server 2019 other characters are replaced by `?` as well so it's consistent.
fixes #452
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/453
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: hakito <hakito@noreply.gitea.com >
Co-committed-by: hakito <hakito@noreply.gitea.com >
2023-12-20 07:06:46 +00:00
Jason Song
de4160b023
Skip counting log length when parseLogRow return nil ( #176 )
...
Fix:

Regression of #149 , `LogLength` could be incorrect.
It may be related to https://github.com/go-gitea/gitea/issues/24458
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/176
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Reviewed-by: wxiaoguang <wxiaoguang@noreply.gitea.io >
2023-05-06 17:00:52 +08:00
Søren L. Hansen
c8cc7b2448
Workflow commands ( #149 )
...
Establishes a simple framework for supporting workflow commands.
Fully implements `::add-mask::`, `::debug::`, and `::stop-commands::`.
Addresses #148
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/149
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Søren L. Hansen <sorenisanerd@gmail.com >
Co-committed-by: Søren L. Hansen <sorenisanerd@gmail.com >
2023-04-27 12:32:48 +08:00
Jason Song
83ec0ba909
Support upload outputs and use needs context ( #133 )
...
See [Example usage of the needs context](https://docs.github.com/en/actions/learn-github-actions/contexts#example-usage-of-the-needs-context ).
Related to:
- [actions-proto-def #5 ](https://gitea.com/gitea/actions-proto-def/pulls/5 )
- [gitea #24230 ](https://github.com/go-gitea/gitea/pull/24230 )
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/133
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-04-20 23:27:46 +08:00
Zettat123
bc6031eff7
Fix reporting log in Reporter.Close ( #126 )
...
Previously, the `Close` func returns incorrectly so that the logs may not be reported.
This PR fixes the incorrect return and sets the `StoppedAt` to get the correct task duration.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/126
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: Zettat123 <zettat123@gmail.com >
Co-committed-by: Zettat123 <zettat123@gmail.com >
2023-04-19 11:17:49 +08:00
Jason Song
220efa69c0
Refactor to new framework ( #98 )
...
- Adjust directory structure
```text
├── internal
│ ├── app
│ │ ├── artifactcache
│ │ ├── cmd
│ │ ├── poll
│ │ └── run
│ └── pkg
│ ├── client
│ ├── config
│ ├── envcheck
│ ├── labels
│ ├── report
│ └── ver
└── main.go
```
- New pkg `labels` to parse label
- New pkg `report` to report logs to Gitea
- Remove pkg `engine`, use `envcheck` to check if docker running.
- Rewrite `runtime` to `run`
- Rewrite `poller` to `poll`
- Simplify some code and remove what's useless.
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/98
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Jason Song <i@wolfogre.com >
Co-committed-by: Jason Song <i@wolfogre.com >
2023-04-04 21:32:04 +08:00