2
0

18 Commits

Author SHA1 Message Date
GitCaddy Dev
72766671d4 feat: add RequestBandwidthTest field to FetchTaskResponse
All checks were successful
CI / build (push) Successful in 1s
Release / release (push) Successful in 2s
Regenerated from actions-proto-def with new field to support
on-demand bandwidth testing from Gitea admin UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 15:15:10 +00:00
df1eee24dc Add CapabilitiesJson to DeclareRequest and FetchTaskRequest
All checks were successful
CI / build (push) Successful in 2s
Release / release (push) Successful in 3s
2026-01-11 06:55:49 +00:00
c5e4258abc Regenerate proto with CapabilitiesJson in FetchTaskRequest
Some checks failed
CI / build (push) Failing after 22s
Release / release (push) Failing after 21s
2026-01-11 06:53:40 +00:00
fae83e8d2f Add CapabilitiesJson to FetchTaskRequest
All checks were successful
CI / build (push) Successful in 1s
Release / release (push) Successful in 2s
Allows runners to send capabilities including disk space with each FetchTask poll.
2026-01-11 05:43:56 +00:00
663a52eded ci: Disable Go cache to prevent hanging on Gitea runners
All checks were successful
CI / build (push) Successful in 6s
Release / release (push) Successful in 7s
The actions/setup-go@v5 cache feature tries to upload to GitHub's
cache infrastructure, which doesn't exist on self-hosted Gitea
runners. This causes jobs to hang indefinitely during the post step.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:30:00 -05:00
b093af7905 Revert module path to code.gitea.io/actions-proto-go
Some checks failed
CI / build (push) Has been cancelled
Release / release (push) Has been cancelled
Keep original module path for compatibility with replace directives
in downstream projects.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:13:07 -05:00
02070eddb5 Add professional README for GitCaddy fork
Some checks are pending
CI / build (push) Waiting to run
Document capability reporting feature, usage examples,
and integration with GitCaddy ecosystem.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:03:20 -05:00
372fd8fdc5 Add CI/CD workflows for build and release
Some checks are pending
CI / build (push) Waiting to run
Release / release (push) Successful in 7m41s
- Add CI workflow for build/test on push and PR
- Add release workflow to create releases on tags

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:00:06 -05:00
40c7487409 Fix import paths in connect generated files
Update import paths from code.gitea.io/actions-proto-go to
git.marketally.com/gitcaddy/actions-proto-go in connect files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 04:58:05 -05:00
9580480f90 Update module path to git.marketally.com/gitcaddy/actions-proto-go 2026-01-10 04:48:09 -05:00
07088bedbc Add CapabilitiesJson field to DeclareRequest
This allows runners to report their capabilities (OS, arch, docker,
tools, etc.) as a JSON string when declaring themselves to Gitea.

This enables AI-friendly workflow generation by providing structured
capability information that AI tools can query before writing workflows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 04:46:26 -05:00
GiteaBot
32cdcf1b5f [auto-commit] Generate codes 2025-02-24 03:19:15 +00:00
GiteaBot
367be5bb82 [auto-commit] Generate codes 2024-02-28 04:25:44 +00:00
GiteaBot
f2cdb357ee [auto-commit] Generate codes 2023-06-12 08:18:48 +00:00
GiteaBot
f3d8a4e6d6 [auto-commit] Generate codes 2023-06-06 00:25:59 +00:00
GiteaBot
624d2d8beb [auto-commit] Generate codes 2023-04-19 06:53:13 +00:00
drone
a398dfa6d3 [auto-commit] Generate codes 2023-04-12 04:10:49 +00:00
drone
db3090fc43 [auto-commit] Generate codes 2023-04-12 04:09:22 +00:00
9 changed files with 1005 additions and 348 deletions

28
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,28 @@
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.21'
cache: false
- name: Build
run: go build ./...
env:
GOPRIVATE: git.marketally.com
- name: Test
run: go test ./...
env:
GOPRIVATE: git.marketally.com

View File

@@ -0,0 +1,29 @@
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.21'
cache: false
- name: Build
run: go build ./...
env:
GOPRIVATE: git.marketally.com
- name: Create Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,2 +1,80 @@
# proto-go
# GitCaddy Actions Proto
Protocol buffer definitions for communication between Gitea Actions runners and the Gitea server.
> **This is a GitCaddy fork** of [code.gitea.io/actions-proto-go](https://gitea.com/gitea/actions-proto-go) with enhanced capability reporting support.
## Overview
This package provides the protobuf-generated Go code for the Gitea Actions runner protocol. It defines the RPC services and message types used for:
- Runner registration and declaration
- Task fetching and execution
- Log streaming and status updates
- **Runner capability reporting** (GitCaddy enhancement)
## Installation
```bash
go get git.marketally.com/gitcaddy/actions-proto-go
```
## GitCaddy Enhancements
### Runner Capability Reporting
This fork adds the `CapabilitiesJson` field to the `DeclareRequest` message, enabling runners to report their capabilities to the Gitea server:
```protobuf
message DeclareRequest {
string version = 1;
repeated string labels = 2;
string capabilities_json = 3; // NEW: JSON-encoded runner capabilities
}
```
The capabilities JSON includes:
- **OS and Architecture**: Runtime environment details
- **Docker Support**: Whether Docker/Podman is available
- **Shell Support**: Available shells (bash, sh, powershell, etc.)
- **Tool Versions**: Installed tools like Node.js, Go, Python, etc.
- **Feature Flags**: Cache support, artifact handling, etc.
- **Limitations**: Known constraints for AI workflow generation
### Why This Matters
AI tools generating CI/CD workflows can query the Gitea API to discover runner capabilities *before* writing workflows, reducing trial-and-error iterations.
## Usage
```go
import (
runnerv1 "git.marketally.com/gitcaddy/actions-proto-go/runner/v1"
"git.marketally.com/gitcaddy/actions-proto-go/runner/v1/runnerv1connect"
)
// Create a client
client := runnerv1connect.NewRunnerServiceClient(httpClient, serverURL)
// Declare runner with capabilities
resp, err := client.Declare(ctx, connect.NewRequest(&runnerv1.DeclareRequest{
Version: "0.3.1",
Labels: []string{"ubuntu-latest", "docker"},
CapabilitiesJson: `{"os":"linux","arch":"amd64","docker":true}`,
}))
```
## Related Projects
| Project | Description |
|---------|-------------|
| [gitcaddy/gitea](https://git.marketally.com/gitcaddy/gitea) | GitCaddy Gitea fork with AI-friendly enhancements |
| [gitcaddy/act_runner](https://git.marketally.com/gitcaddy/act_runner) | Runner with capability detection |
## Upstream
This project is a fork of [code.gitea.io/actions-proto-go](https://gitea.com/gitea/actions-proto-go). We aim to contribute enhancements back to upstream where appropriate.
## License
MIT License - see [LICENSE](LICENSE) for details.

6
go.mod
View File

@@ -1,8 +1,8 @@
module code.gitea.io/actions-proto-go
go 1.19
go 1.21
require (
github.com/bufbuild/connect-go v1.3.1
google.golang.org/protobuf v1.28.1
connectrpc.com/connect v1.15.0
google.golang.org/protobuf v1.32.0
)

17
go.sum
View File

@@ -1,9 +1,10 @@
github.com/bufbuild/connect-go v1.3.1 h1:doJP6Q8Ypg6haUT2IAZJPWHUN9rAUp+F9MfK7yhu1zs=
github.com/bufbuild/connect-go v1.3.1/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
connectrpc.com/connect v1.15.0 h1:lFdeCbZrVVDydAqwr4xGV2y+ULn+0Z73s5JBj2LikWo=
connectrpc.com/connect v1.15.0/go.mod h1:bQmjpDY8xItMnttnurVgOkHUBMRT9cpsNi2O4AjKhmA=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=

View File

@@ -6,9 +6,9 @@ package pingv1connect
import (
v1 "code.gitea.io/actions-proto-go/ping/v1"
connect "connectrpc.com/connect"
context "context"
errors "errors"
connect_go "github.com/bufbuild/connect-go"
http "net/http"
strings "strings"
)
@@ -18,16 +18,34 @@ import (
// generated with a version of connect newer than the one compiled into your binary. You can fix the
// problem by either regenerating this code with an older version of connect or updating the connect
// version compiled into your binary.
const _ = connect_go.IsAtLeastVersion0_1_0
const _ = connect.IsAtLeastVersion1_13_0
const (
// PingServiceName is the fully-qualified name of the PingService service.
PingServiceName = "ping.v1.PingService"
)
// These constants are the fully-qualified names of the RPCs defined in this package. They're
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
//
// Note that these are different from the fully-qualified method names used by
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
// period.
const (
// PingServicePingProcedure is the fully-qualified name of the PingService's Ping RPC.
PingServicePingProcedure = "/ping.v1.PingService/Ping"
)
// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package.
var (
pingServiceServiceDescriptor = v1.File_ping_v1_services_proto.Services().ByName("PingService")
pingServicePingMethodDescriptor = pingServiceServiceDescriptor.Methods().ByName("Ping")
)
// PingServiceClient is a client for the ping.v1.PingService service.
type PingServiceClient interface {
Ping(context.Context, *connect_go.Request[v1.PingRequest]) (*connect_go.Response[v1.PingResponse], error)
Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error)
}
// NewPingServiceClient constructs a client for the ping.v1.PingService service. By default, it uses
@@ -37,30 +55,31 @@ type PingServiceClient interface {
//
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
// http://api.acme.com or https://acme.com/grpc).
func NewPingServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) PingServiceClient {
func NewPingServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PingServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
return &pingServiceClient{
ping: connect_go.NewClient[v1.PingRequest, v1.PingResponse](
ping: connect.NewClient[v1.PingRequest, v1.PingResponse](
httpClient,
baseURL+"/ping.v1.PingService/Ping",
opts...,
baseURL+PingServicePingProcedure,
connect.WithSchema(pingServicePingMethodDescriptor),
connect.WithClientOptions(opts...),
),
}
}
// pingServiceClient implements PingServiceClient.
type pingServiceClient struct {
ping *connect_go.Client[v1.PingRequest, v1.PingResponse]
ping *connect.Client[v1.PingRequest, v1.PingResponse]
}
// Ping calls ping.v1.PingService.Ping.
func (c *pingServiceClient) Ping(ctx context.Context, req *connect_go.Request[v1.PingRequest]) (*connect_go.Response[v1.PingResponse], error) {
func (c *pingServiceClient) Ping(ctx context.Context, req *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) {
return c.ping.CallUnary(ctx, req)
}
// PingServiceHandler is an implementation of the ping.v1.PingService service.
type PingServiceHandler interface {
Ping(context.Context, *connect_go.Request[v1.PingRequest]) (*connect_go.Response[v1.PingResponse], error)
Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error)
}
// NewPingServiceHandler builds an HTTP handler from the service implementation. It returns the path
@@ -68,19 +87,26 @@ type PingServiceHandler interface {
//
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
// and JSON codecs. They also support gzip compression.
func NewPingServiceHandler(svc PingServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
mux := http.NewServeMux()
mux.Handle("/ping.v1.PingService/Ping", connect_go.NewUnaryHandler(
"/ping.v1.PingService/Ping",
func NewPingServiceHandler(svc PingServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
pingServicePingHandler := connect.NewUnaryHandler(
PingServicePingProcedure,
svc.Ping,
opts...,
))
return "/ping.v1.PingService/", mux
connect.WithSchema(pingServicePingMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
return "/ping.v1.PingService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch r.URL.Path {
case PingServicePingProcedure:
pingServicePingHandler.ServeHTTP(w, r)
default:
http.NotFound(w, r)
}
})
}
// UnimplementedPingServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedPingServiceHandler struct{}
func (UnimplementedPingServiceHandler) Ping(context.Context, *connect_go.Request[v1.PingRequest]) (*connect_go.Response[v1.PingResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ping.v1.PingService.Ping is not implemented"))
func (UnimplementedPingServiceHandler) Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ping.v1.PingService.Ping is not implemented"))
}

View File

File diff suppressed because it is too large Load Diff

View File

@@ -6,9 +6,9 @@ package runnerv1connect
import (
v1 "code.gitea.io/actions-proto-go/runner/v1"
connect "connectrpc.com/connect"
context "context"
errors "errors"
connect_go "github.com/bufbuild/connect-go"
http "net/http"
strings "strings"
)
@@ -18,23 +18,56 @@ import (
// generated with a version of connect newer than the one compiled into your binary. You can fix the
// problem by either regenerating this code with an older version of connect or updating the connect
// version compiled into your binary.
const _ = connect_go.IsAtLeastVersion0_1_0
const _ = connect.IsAtLeastVersion1_13_0
const (
// RunnerServiceName is the fully-qualified name of the RunnerService service.
RunnerServiceName = "runner.v1.RunnerService"
)
// These constants are the fully-qualified names of the RPCs defined in this package. They're
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
//
// Note that these are different from the fully-qualified method names used by
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
// period.
const (
// RunnerServiceRegisterProcedure is the fully-qualified name of the RunnerService's Register RPC.
RunnerServiceRegisterProcedure = "/runner.v1.RunnerService/Register"
// RunnerServiceDeclareProcedure is the fully-qualified name of the RunnerService's Declare RPC.
RunnerServiceDeclareProcedure = "/runner.v1.RunnerService/Declare"
// RunnerServiceFetchTaskProcedure is the fully-qualified name of the RunnerService's FetchTask RPC.
RunnerServiceFetchTaskProcedure = "/runner.v1.RunnerService/FetchTask"
// RunnerServiceUpdateTaskProcedure is the fully-qualified name of the RunnerService's UpdateTask
// RPC.
RunnerServiceUpdateTaskProcedure = "/runner.v1.RunnerService/UpdateTask"
// RunnerServiceUpdateLogProcedure is the fully-qualified name of the RunnerService's UpdateLog RPC.
RunnerServiceUpdateLogProcedure = "/runner.v1.RunnerService/UpdateLog"
)
// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package.
var (
runnerServiceServiceDescriptor = v1.File_runner_v1_services_proto.Services().ByName("RunnerService")
runnerServiceRegisterMethodDescriptor = runnerServiceServiceDescriptor.Methods().ByName("Register")
runnerServiceDeclareMethodDescriptor = runnerServiceServiceDescriptor.Methods().ByName("Declare")
runnerServiceFetchTaskMethodDescriptor = runnerServiceServiceDescriptor.Methods().ByName("FetchTask")
runnerServiceUpdateTaskMethodDescriptor = runnerServiceServiceDescriptor.Methods().ByName("UpdateTask")
runnerServiceUpdateLogMethodDescriptor = runnerServiceServiceDescriptor.Methods().ByName("UpdateLog")
)
// RunnerServiceClient is a client for the runner.v1.RunnerService service.
type RunnerServiceClient interface {
// Register register a new runner in server.
Register(context.Context, *connect_go.Request[v1.RegisterRequest]) (*connect_go.Response[v1.RegisterResponse], error)
Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error)
// Declare declare runner's version and labels to Gitea before starting fetching task.
Declare(context.Context, *connect.Request[v1.DeclareRequest]) (*connect.Response[v1.DeclareResponse], error)
// FetchTask requests the next available task for execution.
FetchTask(context.Context, *connect_go.Request[v1.FetchTaskRequest]) (*connect_go.Response[v1.FetchTaskResponse], error)
FetchTask(context.Context, *connect.Request[v1.FetchTaskRequest]) (*connect.Response[v1.FetchTaskResponse], error)
// UpdateTask updates the task status.
UpdateTask(context.Context, *connect_go.Request[v1.UpdateTaskRequest]) (*connect_go.Response[v1.UpdateTaskResponse], error)
UpdateTask(context.Context, *connect.Request[v1.UpdateTaskRequest]) (*connect.Response[v1.UpdateTaskResponse], error)
// UpdateLog uploads log of the task.
UpdateLog(context.Context, *connect_go.Request[v1.UpdateLogRequest]) (*connect_go.Response[v1.UpdateLogResponse], error)
UpdateLog(context.Context, *connect.Request[v1.UpdateLogRequest]) (*connect.Response[v1.UpdateLogResponse], error)
}
// NewRunnerServiceClient constructs a client for the runner.v1.RunnerService service. By default,
@@ -44,70 +77,88 @@ type RunnerServiceClient interface {
//
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
// http://api.acme.com or https://acme.com/grpc).
func NewRunnerServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) RunnerServiceClient {
func NewRunnerServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) RunnerServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
return &runnerServiceClient{
register: connect_go.NewClient[v1.RegisterRequest, v1.RegisterResponse](
register: connect.NewClient[v1.RegisterRequest, v1.RegisterResponse](
httpClient,
baseURL+"/runner.v1.RunnerService/Register",
opts...,
baseURL+RunnerServiceRegisterProcedure,
connect.WithSchema(runnerServiceRegisterMethodDescriptor),
connect.WithClientOptions(opts...),
),
fetchTask: connect_go.NewClient[v1.FetchTaskRequest, v1.FetchTaskResponse](
declare: connect.NewClient[v1.DeclareRequest, v1.DeclareResponse](
httpClient,
baseURL+"/runner.v1.RunnerService/FetchTask",
opts...,
baseURL+RunnerServiceDeclareProcedure,
connect.WithSchema(runnerServiceDeclareMethodDescriptor),
connect.WithClientOptions(opts...),
),
updateTask: connect_go.NewClient[v1.UpdateTaskRequest, v1.UpdateTaskResponse](
fetchTask: connect.NewClient[v1.FetchTaskRequest, v1.FetchTaskResponse](
httpClient,
baseURL+"/runner.v1.RunnerService/UpdateTask",
opts...,
baseURL+RunnerServiceFetchTaskProcedure,
connect.WithSchema(runnerServiceFetchTaskMethodDescriptor),
connect.WithClientOptions(opts...),
),
updateLog: connect_go.NewClient[v1.UpdateLogRequest, v1.UpdateLogResponse](
updateTask: connect.NewClient[v1.UpdateTaskRequest, v1.UpdateTaskResponse](
httpClient,
baseURL+"/runner.v1.RunnerService/UpdateLog",
opts...,
baseURL+RunnerServiceUpdateTaskProcedure,
connect.WithSchema(runnerServiceUpdateTaskMethodDescriptor),
connect.WithClientOptions(opts...),
),
updateLog: connect.NewClient[v1.UpdateLogRequest, v1.UpdateLogResponse](
httpClient,
baseURL+RunnerServiceUpdateLogProcedure,
connect.WithSchema(runnerServiceUpdateLogMethodDescriptor),
connect.WithClientOptions(opts...),
),
}
}
// runnerServiceClient implements RunnerServiceClient.
type runnerServiceClient struct {
register *connect_go.Client[v1.RegisterRequest, v1.RegisterResponse]
fetchTask *connect_go.Client[v1.FetchTaskRequest, v1.FetchTaskResponse]
updateTask *connect_go.Client[v1.UpdateTaskRequest, v1.UpdateTaskResponse]
updateLog *connect_go.Client[v1.UpdateLogRequest, v1.UpdateLogResponse]
register *connect.Client[v1.RegisterRequest, v1.RegisterResponse]
declare *connect.Client[v1.DeclareRequest, v1.DeclareResponse]
fetchTask *connect.Client[v1.FetchTaskRequest, v1.FetchTaskResponse]
updateTask *connect.Client[v1.UpdateTaskRequest, v1.UpdateTaskResponse]
updateLog *connect.Client[v1.UpdateLogRequest, v1.UpdateLogResponse]
}
// Register calls runner.v1.RunnerService.Register.
func (c *runnerServiceClient) Register(ctx context.Context, req *connect_go.Request[v1.RegisterRequest]) (*connect_go.Response[v1.RegisterResponse], error) {
func (c *runnerServiceClient) Register(ctx context.Context, req *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) {
return c.register.CallUnary(ctx, req)
}
// Declare calls runner.v1.RunnerService.Declare.
func (c *runnerServiceClient) Declare(ctx context.Context, req *connect.Request[v1.DeclareRequest]) (*connect.Response[v1.DeclareResponse], error) {
return c.declare.CallUnary(ctx, req)
}
// FetchTask calls runner.v1.RunnerService.FetchTask.
func (c *runnerServiceClient) FetchTask(ctx context.Context, req *connect_go.Request[v1.FetchTaskRequest]) (*connect_go.Response[v1.FetchTaskResponse], error) {
func (c *runnerServiceClient) FetchTask(ctx context.Context, req *connect.Request[v1.FetchTaskRequest]) (*connect.Response[v1.FetchTaskResponse], error) {
return c.fetchTask.CallUnary(ctx, req)
}
// UpdateTask calls runner.v1.RunnerService.UpdateTask.
func (c *runnerServiceClient) UpdateTask(ctx context.Context, req *connect_go.Request[v1.UpdateTaskRequest]) (*connect_go.Response[v1.UpdateTaskResponse], error) {
func (c *runnerServiceClient) UpdateTask(ctx context.Context, req *connect.Request[v1.UpdateTaskRequest]) (*connect.Response[v1.UpdateTaskResponse], error) {
return c.updateTask.CallUnary(ctx, req)
}
// UpdateLog calls runner.v1.RunnerService.UpdateLog.
func (c *runnerServiceClient) UpdateLog(ctx context.Context, req *connect_go.Request[v1.UpdateLogRequest]) (*connect_go.Response[v1.UpdateLogResponse], error) {
func (c *runnerServiceClient) UpdateLog(ctx context.Context, req *connect.Request[v1.UpdateLogRequest]) (*connect.Response[v1.UpdateLogResponse], error) {
return c.updateLog.CallUnary(ctx, req)
}
// RunnerServiceHandler is an implementation of the runner.v1.RunnerService service.
type RunnerServiceHandler interface {
// Register register a new runner in server.
Register(context.Context, *connect_go.Request[v1.RegisterRequest]) (*connect_go.Response[v1.RegisterResponse], error)
Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error)
// Declare declare runner's version and labels to Gitea before starting fetching task.
Declare(context.Context, *connect.Request[v1.DeclareRequest]) (*connect.Response[v1.DeclareResponse], error)
// FetchTask requests the next available task for execution.
FetchTask(context.Context, *connect_go.Request[v1.FetchTaskRequest]) (*connect_go.Response[v1.FetchTaskResponse], error)
FetchTask(context.Context, *connect.Request[v1.FetchTaskRequest]) (*connect.Response[v1.FetchTaskResponse], error)
// UpdateTask updates the task status.
UpdateTask(context.Context, *connect_go.Request[v1.UpdateTaskRequest]) (*connect_go.Response[v1.UpdateTaskResponse], error)
UpdateTask(context.Context, *connect.Request[v1.UpdateTaskRequest]) (*connect.Response[v1.UpdateTaskResponse], error)
// UpdateLog uploads log of the task.
UpdateLog(context.Context, *connect_go.Request[v1.UpdateLogRequest]) (*connect_go.Response[v1.UpdateLogResponse], error)
UpdateLog(context.Context, *connect.Request[v1.UpdateLogRequest]) (*connect.Response[v1.UpdateLogResponse], error)
}
// NewRunnerServiceHandler builds an HTTP handler from the service implementation. It returns the
@@ -115,46 +166,74 @@ type RunnerServiceHandler interface {
//
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
// and JSON codecs. They also support gzip compression.
func NewRunnerServiceHandler(svc RunnerServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
mux := http.NewServeMux()
mux.Handle("/runner.v1.RunnerService/Register", connect_go.NewUnaryHandler(
"/runner.v1.RunnerService/Register",
func NewRunnerServiceHandler(svc RunnerServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
runnerServiceRegisterHandler := connect.NewUnaryHandler(
RunnerServiceRegisterProcedure,
svc.Register,
opts...,
))
mux.Handle("/runner.v1.RunnerService/FetchTask", connect_go.NewUnaryHandler(
"/runner.v1.RunnerService/FetchTask",
connect.WithSchema(runnerServiceRegisterMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
runnerServiceDeclareHandler := connect.NewUnaryHandler(
RunnerServiceDeclareProcedure,
svc.Declare,
connect.WithSchema(runnerServiceDeclareMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
runnerServiceFetchTaskHandler := connect.NewUnaryHandler(
RunnerServiceFetchTaskProcedure,
svc.FetchTask,
opts...,
))
mux.Handle("/runner.v1.RunnerService/UpdateTask", connect_go.NewUnaryHandler(
"/runner.v1.RunnerService/UpdateTask",
connect.WithSchema(runnerServiceFetchTaskMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
runnerServiceUpdateTaskHandler := connect.NewUnaryHandler(
RunnerServiceUpdateTaskProcedure,
svc.UpdateTask,
opts...,
))
mux.Handle("/runner.v1.RunnerService/UpdateLog", connect_go.NewUnaryHandler(
"/runner.v1.RunnerService/UpdateLog",
connect.WithSchema(runnerServiceUpdateTaskMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
runnerServiceUpdateLogHandler := connect.NewUnaryHandler(
RunnerServiceUpdateLogProcedure,
svc.UpdateLog,
opts...,
))
return "/runner.v1.RunnerService/", mux
connect.WithSchema(runnerServiceUpdateLogMethodDescriptor),
connect.WithHandlerOptions(opts...),
)
return "/runner.v1.RunnerService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch r.URL.Path {
case RunnerServiceRegisterProcedure:
runnerServiceRegisterHandler.ServeHTTP(w, r)
case RunnerServiceDeclareProcedure:
runnerServiceDeclareHandler.ServeHTTP(w, r)
case RunnerServiceFetchTaskProcedure:
runnerServiceFetchTaskHandler.ServeHTTP(w, r)
case RunnerServiceUpdateTaskProcedure:
runnerServiceUpdateTaskHandler.ServeHTTP(w, r)
case RunnerServiceUpdateLogProcedure:
runnerServiceUpdateLogHandler.ServeHTTP(w, r)
default:
http.NotFound(w, r)
}
})
}
// UnimplementedRunnerServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedRunnerServiceHandler struct{}
func (UnimplementedRunnerServiceHandler) Register(context.Context, *connect_go.Request[v1.RegisterRequest]) (*connect_go.Response[v1.RegisterResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("runner.v1.RunnerService.Register is not implemented"))
func (UnimplementedRunnerServiceHandler) Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("runner.v1.RunnerService.Register is not implemented"))
}
func (UnimplementedRunnerServiceHandler) FetchTask(context.Context, *connect_go.Request[v1.FetchTaskRequest]) (*connect_go.Response[v1.FetchTaskResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("runner.v1.RunnerService.FetchTask is not implemented"))
func (UnimplementedRunnerServiceHandler) Declare(context.Context, *connect.Request[v1.DeclareRequest]) (*connect.Response[v1.DeclareResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("runner.v1.RunnerService.Declare is not implemented"))
}
func (UnimplementedRunnerServiceHandler) UpdateTask(context.Context, *connect_go.Request[v1.UpdateTaskRequest]) (*connect_go.Response[v1.UpdateTaskResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("runner.v1.RunnerService.UpdateTask is not implemented"))
func (UnimplementedRunnerServiceHandler) FetchTask(context.Context, *connect.Request[v1.FetchTaskRequest]) (*connect.Response[v1.FetchTaskResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("runner.v1.RunnerService.FetchTask is not implemented"))
}
func (UnimplementedRunnerServiceHandler) UpdateLog(context.Context, *connect_go.Request[v1.UpdateLogRequest]) (*connect_go.Response[v1.UpdateLogResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("runner.v1.RunnerService.UpdateLog is not implemented"))
func (UnimplementedRunnerServiceHandler) UpdateTask(context.Context, *connect.Request[v1.UpdateTaskRequest]) (*connect.Response[v1.UpdateTaskResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("runner.v1.RunnerService.UpdateTask is not implemented"))
}
func (UnimplementedRunnerServiceHandler) UpdateLog(context.Context, *connect.Request[v1.UpdateLogRequest]) (*connect.Response[v1.UpdateLogResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("runner.v1.RunnerService.UpdateLog is not implemented"))
}

View File

@@ -26,59 +26,67 @@ var file_runner_v1_services_proto_rawDesc = []byte{
0x69, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x72, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x31,
0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0xb7, 0x02, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0xfb, 0x02, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x45, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x2e,
0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x72, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63,
0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46,
0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x12, 0x1c, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
0x48, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x2e, 0x72,
0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c,
0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x96, 0x01, 0x0a, 0x0d, 0x63, 0x6f,
0x6d, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x63, 0x6f,
0x64, 0x65, 0x2e, 0x67, 0x69, 0x74, 0x65, 0x61, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x67, 0x6f, 0x2f, 0x72, 0x75, 0x6e,
0x6e, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x76, 0x31, 0xa2,
0x02, 0x03, 0x52, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56,
0x31, 0xca, 0x02, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x15,
0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x3a, 0x3a,
0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x6c,
0x61, 0x72, 0x65, 0x12, 0x19, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61,
0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09,
0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x2e, 0x72, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67,
0x12, 0x1b, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x96, 0x01,
0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42,
0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x31, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x67, 0x69, 0x74, 0x65, 0x61, 0x2e, 0x69, 0x6f, 0x2f,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x67, 0x6f,
0x2f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x6e, 0x65,
0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x52, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56,
0x31, 0xe2, 0x02, 0x15, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50,
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x52, 0x75, 0x6e, 0x6e,
0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var file_runner_v1_services_proto_goTypes = []interface{}{
(*RegisterRequest)(nil), // 0: runner.v1.RegisterRequest
(*FetchTaskRequest)(nil), // 1: runner.v1.FetchTaskRequest
(*UpdateTaskRequest)(nil), // 2: runner.v1.UpdateTaskRequest
(*UpdateLogRequest)(nil), // 3: runner.v1.UpdateLogRequest
(*RegisterResponse)(nil), // 4: runner.v1.RegisterResponse
(*FetchTaskResponse)(nil), // 5: runner.v1.FetchTaskResponse
(*UpdateTaskResponse)(nil), // 6: runner.v1.UpdateTaskResponse
(*UpdateLogResponse)(nil), // 7: runner.v1.UpdateLogResponse
(*DeclareRequest)(nil), // 1: runner.v1.DeclareRequest
(*FetchTaskRequest)(nil), // 2: runner.v1.FetchTaskRequest
(*UpdateTaskRequest)(nil), // 3: runner.v1.UpdateTaskRequest
(*UpdateLogRequest)(nil), // 4: runner.v1.UpdateLogRequest
(*RegisterResponse)(nil), // 5: runner.v1.RegisterResponse
(*DeclareResponse)(nil), // 6: runner.v1.DeclareResponse
(*FetchTaskResponse)(nil), // 7: runner.v1.FetchTaskResponse
(*UpdateTaskResponse)(nil), // 8: runner.v1.UpdateTaskResponse
(*UpdateLogResponse)(nil), // 9: runner.v1.UpdateLogResponse
}
var file_runner_v1_services_proto_depIdxs = []int32{
0, // 0: runner.v1.RunnerService.Register:input_type -> runner.v1.RegisterRequest
1, // 1: runner.v1.RunnerService.FetchTask:input_type -> runner.v1.FetchTaskRequest
2, // 2: runner.v1.RunnerService.UpdateTask:input_type -> runner.v1.UpdateTaskRequest
3, // 3: runner.v1.RunnerService.UpdateLog:input_type -> runner.v1.UpdateLogRequest
4, // 4: runner.v1.RunnerService.Register:output_type -> runner.v1.RegisterResponse
5, // 5: runner.v1.RunnerService.FetchTask:output_type -> runner.v1.FetchTaskResponse
6, // 6: runner.v1.RunnerService.UpdateTask:output_type -> runner.v1.UpdateTaskResponse
7, // 7: runner.v1.RunnerService.UpdateLog:output_type -> runner.v1.UpdateLogResponse
4, // [4:8] is the sub-list for method output_type
0, // [0:4] is the sub-list for method input_type
1, // 1: runner.v1.RunnerService.Declare:input_type -> runner.v1.DeclareRequest
2, // 2: runner.v1.RunnerService.FetchTask:input_type -> runner.v1.FetchTaskRequest
3, // 3: runner.v1.RunnerService.UpdateTask:input_type -> runner.v1.UpdateTaskRequest
4, // 4: runner.v1.RunnerService.UpdateLog:input_type -> runner.v1.UpdateLogRequest
5, // 5: runner.v1.RunnerService.Register:output_type -> runner.v1.RegisterResponse
6, // 6: runner.v1.RunnerService.Declare:output_type -> runner.v1.DeclareResponse
7, // 7: runner.v1.RunnerService.FetchTask:output_type -> runner.v1.FetchTaskResponse
8, // 8: runner.v1.RunnerService.UpdateTask:output_type -> runner.v1.UpdateTaskResponse
9, // 9: runner.v1.RunnerService.UpdateLog:output_type -> runner.v1.UpdateLogResponse
5, // [5:10] is the sub-list for method output_type
0, // [0:5] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name