@@ -21,8 +21,11 @@ import (
21
21
)
22
22
23
23
const (
24
- uuidHeaderKey = "x-runner-uuid"
25
- tokenHeaderKey = "x-runner-token"
24
+ uuidHeaderKey = "x-runner-uuid"
25
+ tokenHeaderKey = "x-runner-token"
26
+ versionHeaderKey = "x-runner-version"
27
+
28
+ versionUnknown = "Unknown"
26
29
)
27
30
28
31
var withRunner = connect .WithInterceptors (connect .UnaryInterceptorFunc (func (unaryFunc connect.UnaryFunc ) connect.UnaryFunc {
@@ -33,6 +36,12 @@ var withRunner = connect.WithInterceptors(connect.UnaryInterceptorFunc(func(unar
33
36
}
34
37
uuid := request .Header ().Get (uuidHeaderKey )
35
38
token := request .Header ().Get (tokenHeaderKey )
39
+ version := request .Header ().Get (versionHeaderKey )
40
+ if util .IsEmptyString (version ) {
41
+ version = versionUnknown
42
+ }
43
+ version , _ = util .SplitStringAtByteN (version , 64 )
44
+
36
45
runner , err := actions_model .GetRunnerByUUID (ctx , uuid )
37
46
if err != nil {
38
47
if errors .Is (err , util .ErrNotExist ) {
@@ -45,6 +54,10 @@ var withRunner = connect.WithInterceptors(connect.UnaryInterceptorFunc(func(unar
45
54
}
46
55
47
56
cols := []string {"last_online" }
57
+ if runner .Version != version {
58
+ runner .Version = version
59
+ cols = append (cols , "version" )
60
+ }
48
61
runner .LastOnline = timeutil .TimeStampNow ()
49
62
if methodName == "UpdateTask" || methodName == "UpdateLog" {
50
63
runner .LastActive = timeutil .TimeStampNow ()
0 commit comments