silverwind
c1ad194f19
Fix test.yml CI: clean env vars and remove -race flag
...
Add env var cleanup (ACTIONS_RUNTIME_URL, ACT_REPOSITORY, etc.) to
test.yml matching checks.yml, and remove -race from make test due to
pervasive pre-existing data races in upstream act code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 08:36:45 +01:00
Christopher Homberger
c192d65d18
exclude act pkg from vet
2026-02-23 23:33:02 +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
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
silverwind
f4418eff18
chore(deps): update go dependencies ( #802 )
...
## Summary
- Update all Go dependencies to latest compatible versions
- Notable updates: connectrpc v1.19.1, cobra v1.10.2, protobuf v1.36.11, otel v1.40.0, actionlint v1.7.11
- docker/docker kept at v25 (v28+ has breaking module restructuring)
- Fix govulncheck issues: update go-git v5.16.2 → v5.16.5 (GO-2026-4473), containerd v1.7.13 → v1.7.29 (GO-2025-4108, GO-2025-4100, GO-2025-3528)
- Remove unnecessary go-git replace directive
- Add `make tidy` and `make tidy-check` Makefile targets
- Clarify `distribution/reference` replace directive comment (needed because `docker/distribution@v2.8.3` uses `reference.SplitHostname` removed in v0.6.0)
## Test plan
- [x] `go build ./...` passes
- [x] `go test ./...` passes
- [x] `govulncheck ./...` passes
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/802
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com >
Co-authored-by: silverwind <me@silverwind.io >
Co-committed-by: silverwind <me@silverwind.io >
2026-02-22 11:59:47 +00:00
silverwind
9f91fdd0eb
chore(deps): bump Go version to 1.26 in Dockerfile and Makefile ( #788 )
...
checks / check and test (push) Successful in 1m13s
## Summary
- Bump Dockerfile builder image from `golang:1.24-alpine` to `golang:1.26-alpine`
- Bump Makefile `XGO_VERSION` from `go-1.24.x` to `go-1.26.x`
These were missed in #787 which bumped `go.mod` to Go 1.26.0, causing CI build failures.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/788
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com >
Co-authored-by: silverwind <me@silverwind.io >
Co-committed-by: silverwind <me@silverwind.io >
2026-02-14 10:32:16 +00:00
mkesper
90d11b8692
Remove duplicate assignment of DIST ( #777 )
...
checks / check and test (push) Successful in 1m36s
The assignment already happens at line 1.
Signed-off-by: mkesper <mkesper@noreply.gitea.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/777
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: mkesper <mkesper@noreply.gitea.com >
Co-committed-by: mkesper <mkesper@noreply.gitea.com >
2025-12-26 00:38:38 +00:00
Christopher Homberger
c4b57fbcb2
chore(deps): upgrade dependencies ( #775 )
...
checks / check and test (push) Successful in 2m31s
CI uses latest go 24, we may need a cron job after go updates.
Closes https://gitea.com/gitea/act_runner/issues/774
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/775
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 >
2025-12-20 23:35:15 +00:00
Pablo Carranza
5ae13f0bd7
Update xgo version to 1.24 ( #651 )
...
Co-authored-by: techknowlogick <techknowlogick@gitea.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/651
Co-authored-by: Pablo Carranza <pcarranza@gmail.com >
Co-committed-by: Pablo Carranza <pcarranza@gmail.com >
2025-02-15 16:07:18 +00:00
Lunny Xiao
3510152e36
Fix Makefile make docker ( #641 )
...
Fix #640
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/641
2025-01-29 03:27:47 +00:00
Jason Song
316534996a
Build docker image gitea/act_runner/x.y.z-dind-rootless ( #239 )
...
Follow #208
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/239
Reviewed-by: Zettat123 <zettat123@noreply.gitea.com >
2023-06-15 05:27:35 +00:00
sillyguodong
67b1363d25
Support changing labels ( #201 )
...
Implement proposal: https://github.com/go-gitea/gitea/issues/24540
Related:
- Protocol: https://gitea.com/gitea/actions-proto-def/pulls/9
- Gitea side: https://github.com/go-gitea/gitea/pull/24806
Co-authored-by: Jason Song <i@wolfogre.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/201
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <gedong_1994@163.com >
Co-committed-by: sillyguodong <gedong_1994@163.com >
2023-06-15 03:59:15 +00:00
ccureau
341d49a24d
implement act_runner rootless image ( #208 )
...
This PR creates a rootless Docker image that runs both `dockerd` and `act_runner` using `supervisord`. It has been tested locally for a few days and seems stable.
Co-authored-by: ccureau <ccureau@noreply.gitea.io >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/208
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: ccureau <ccureau@noreply.gitea.com >
Co-committed-by: ccureau <ccureau@noreply.gitea.com >
2023-06-12 06:35:27 +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
You-Sheng Yang
43c5ba923f
make: skip --disable-content-trust at docker buildx ( #139 )
...
`docker build` may be aliased as `docker buildx build`, which doesn't support --disable-content-trust switch.
Signed-off-by: You-Sheng Yang <vicamo@gmail.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/139
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.io >
Co-authored-by: You-Sheng Yang <vicamo@gmail.com >
Co-committed-by: You-Sheng Yang <vicamo@gmail.com >
2023-04-25 03:15:48 +08:00
Lunny Xiao
a05c5ba3ad
Add make docker ( #115 )
...
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/115
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.io >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com >
2023-04-13 04:17:08 +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
Lunny Xiao
63a57edaa3
check go version when build ( #53 )
...
Fix #51
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/53
2023-03-16 11:37:08 +08:00
Lunny Xiao
71f470d670
Fix make don't rebuild when go.mod changed ( #49 )
...
Fix #13
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/49
Reviewed-by: delvh <dev.lh@web.de >
2023-03-14 18:43:05 +08:00
sillyguodong
0d71463662
Inject version when building and report version to Gitea via log and header ( #43 )
...
close #42
1. Inject runner version when `make build`
After building, executing command line: `./act_runner -v` or `./act_runner --version`, the version of runner is printed.

2. In `Actions` UI:

3. Set request header in http client interceptor.
Co-authored-by: sillyguodong <gedong_1994@163.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/43
Reviewed-by: delvh <dev.lh@web.de >
Reviewed-by: Jason Song <i@wolfogre.com >
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io >
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io >
2023-03-13 18:57:35 +08:00
sillyguodong
552dbcdda9
Add copyright header and gitea-vet ( #29 )
...
Add copyright header
Co-authored-by: sillyguodong <gedong_1994@163.com >
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/29
Reviewed-by: Jason Song <i@wolfogre.com >
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io >
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io >
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io >
2023-02-28 18:44:46 +08:00
Lunny Xiao
a4513405b5
Enable action as CI to test/build/release ( #26 )
...
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/26
2023-02-24 23:30:09 +08:00
Bo-Yi.Wu
a3e9bbed25
chore: Add makefile
...
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com >
2022-11-24 15:37:09 +08:00