diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2023-09-27 13:37:48 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-27 05:37:48 +0000 |
commit | 3b2da7e4aeed8e2d070b9ce5c66282b16eeb87f1 (patch) | |
tree | 577f6a18be7953ca684444c90d9c0873f805fc14 /routers/api | |
parent | ee27b94b2c84f6604cb0428d6c2a5611161aac14 (diff) | |
download | gitea-3b2da7e4aeed8e2d070b9ce5c66282b16eeb87f1.tar.gz gitea-3b2da7e4aeed8e2d070b9ce5c66282b16eeb87f1.zip |
Redefine the meaning of column is_active to make Actions Registration Token generation easier (#27143)
Partially Fix #25041
This PR redefined the meaning of column `is_active` in table
`action_runner_token`.
Before this PR, `is_active` means whether it has been used by any
runner. If it's true, other runner cannot use it to register again.
In this PR, `is_active` means whether it's validated to be used to
register runner. And if it's true, then it can be used to register
runners until it become false. When creating a new `is_active` register
token, any previous tokens will be set `is_active` to false.
Diffstat (limited to 'routers/api')
-rw-r--r-- | routers/api/actions/runner/runner.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/routers/api/actions/runner/runner.go b/routers/api/actions/runner/runner.go index cb206f5685..8df6f297ce 100644 --- a/routers/api/actions/runner/runner.go +++ b/routers/api/actions/runner/runner.go @@ -47,11 +47,11 @@ func (s *Service) Register( runnerToken, err := actions_model.GetRunnerToken(ctx, req.Msg.Token) if err != nil { - return nil, errors.New("runner token not found") + return nil, errors.New("runner registration token not found") } - if runnerToken.IsActive { - return nil, errors.New("runner token has already been activated") + if !runnerToken.IsActive { + return nil, errors.New("runner registration token has been invalidated, please use the latest one") } labels := req.Msg.Labels |