refactor: remove dead code and consolidate tests (#1335)

Removes dead code and redundant logic and consolidates tests, so there is less to read and maintain. No behavior change.

1. **act/runner**: inline single-use wrappers, compile regexes once instead of per call, embed the trampoline as a string, drop the unused legacy result of `parseActionCommand`
2. **act/container**: `sanitizeConfig` and `mergeContainerConfigs` stop returning the configs they already mutate in place, drop never-set option fields and the unused `user` parameter of `ExecWithCmdLine`
3. **act/common and cache server**: drop the unused `Trace`/`Tracef` loggers and the short SHA of `FindGitRevision`, `RegisterJob` releases through `RevokeJob`
4. **daemon, poller and reporter**: one shutdown wait for both poll modes, drop an unreachable fetch timeout branch, guard the reporter's last report time with its existing lock instead of an atomic
5. **build**: drop unused Makefile and release workflow variables, collapse the goreleaser ignore list to the same build targets
6. **tests**: fold near-duplicate tests into tables with shared setup

Throughout, hand-rolled logic gives way to `cmp.Or`, `strings.Cut`, `slices` and `min`/`max`.

Reviewed-on: https://gitea.com/gitea/runner/pulls/1335
Reviewed-by: bircni <[email protected]>
Co-authored-by: silverwind <[email protected]>
This commit is contained in:
silverwind authored and silverwind committed 2026-10-22 19:41:10 +00:00
1 parent 923a0bfb59
commit d882311ec6
107 files changed
+2408 -6500

No files matched your search

+11 -34
View File
@@ -81,7 +81,6 @@ type Handler struct {
dir string
storage cacheStorage
s3 *s3Storage
router *http.ServeMux
listener net.Listener
port int
server *http.Server
@@ -200,11 +199,9 @@ func StartHandler(opts Options) (*Handler, error) {
h.storage = h.s3
}
secret, err := loadOrCreateSecret(dir)
if err != nil {
if h.secret, err = loadOrCreateSecret(dir); err != nil {
return nil, err
}
h.secret = secret
router := http.NewServeMux()
router.HandleFunc("GET "+apiPath+"/cache", h.bearerAuth(h.find))
@@ -223,8 +220,6 @@ func StartHandler(opts Options) (*Handler, error) {
h.registerV2Routes(router)
router.HandleFunc(artifactServicePath, h.forwardOrNotFound)
h.router = router
h.gcCache()
if err := h.serve(opts.Port, router); err != nil {
@@ -333,16 +328,7 @@ func (h *Handler) RegisterJob(token string, cred JobCredential) func() {
}
}
h.credMu.Unlock()
return func() {
h.credMu.Lock()
if entry, ok := h.creds[token]; ok {
entry.refs--
if entry.refs <= 0 {
delete(h.creds, token)
}
}
h.credMu.Unlock()
}
return func() { h.RevokeJob(token) }
}
// RevokeJob explicitly revokes one registration of token, mirroring one call
@@ -405,10 +391,7 @@ func (h *Handler) Close() error {
}
var retErr error
if h.server != nil {
err := h.server.Close()
if err != nil {
retErr = err
}
retErr = h.server.Close()
h.server = nil
}
if h.listener != nil {
@@ -774,7 +757,7 @@ func (h *Handler) upload(w http.ResponseWriter, r *http.Request) {
return
}
db.Close()
start, _, err := parseContentRange(r.Header.Get("Content-Range"))
start, err := parseContentRange(r.Header.Get("Content-Range"))
if err != nil {
h.responseJSON(w, r, 400, err)
return
@@ -1041,10 +1024,8 @@ func bearerToken(r *http.Request) string {
}
func credFromContext(ctx context.Context) JobCredential {
if cred, ok := ctx.Value(credKey{}).(JobCredential); ok {
return cred
}
return JobCredential{}
cred, _ := ctx.Value(credKey{}).(JobCredential)
return cred
}
// computeSignature signs a URL for one cache entry and expiry. purpose is mixed into the
@@ -1209,9 +1190,6 @@ func (p Policy) withDefaults() Policy {
}
func (h *Handler) gcCache() {
if h.gcing.Load() {
return
}
if !h.gcing.CompareAndSwap(false, true) {
return
}
@@ -1458,18 +1436,17 @@ func (h *Handler) responseJSON(w http.ResponseWriter, r *http.Request, code int,
_, _ = w.Write(data)
}
func parseContentRange(s string) (int64, int64, error) {
func parseContentRange(s string) (int64, error) {
// support the format like "bytes 11-22/*" only
s, _, _ = strings.Cut(strings.TrimPrefix(s, "bytes "), "/")
s1, s2, _ := strings.Cut(s, "-")
start, err := strconv.ParseInt(s1, 10, 64)
if err != nil {
return 0, 0, fmt.Errorf("parse %q: %w", s, err)
return 0, fmt.Errorf("parse %q: %w", s, err)
}
stop, err := strconv.ParseInt(s2, 10, 64)
if err != nil {
return 0, 0, fmt.Errorf("parse %q: %w", s, err)
if _, err := strconv.ParseInt(s2, 10, 64); err != nil {
return 0, fmt.Errorf("parse %q: %w", s, err)
}
return start, stop, nil
return start, nil
}