2022-08-13 15:41:01 +01:00
|
|
|
package client
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-08-14 06:29:00 +01:00
|
|
|
|
2022-08-17 07:25:14 +01:00
|
|
|
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
|
2022-08-13 15:41:01 +01:00
|
|
|
)
|
|
|
|
|
2022-08-28 07:05:56 +01:00
|
|
|
type Filter struct {
|
|
|
|
Kind string `json:"kind"`
|
|
|
|
Type string `json:"type"`
|
|
|
|
OS string `json:"os"`
|
|
|
|
Arch string `json:"arch"`
|
|
|
|
Capacity int `json:"capacity"`
|
|
|
|
}
|
|
|
|
|
2022-08-13 15:41:01 +01:00
|
|
|
// A Client manages communication with the runner.
|
|
|
|
type Client interface {
|
|
|
|
// Ping sends a ping message to the server to test connectivity.
|
|
|
|
Ping(ctx context.Context, machine string) error
|
2022-08-14 06:29:00 +01:00
|
|
|
|
2022-08-28 07:05:56 +01:00
|
|
|
// Register for new runner.
|
|
|
|
Register(ctx context.Context, args *runnerv1.RegisterRequest) (*runnerv1.Runner, error)
|
2022-09-01 08:09:22 +01:00
|
|
|
|
|
|
|
// Request requests the next available build stage for execution.
|
|
|
|
Request(ctx context.Context, args *runnerv1.RequestRequest) (*runnerv1.Stage, error)
|
2022-08-13 15:41:01 +01:00
|
|
|
}
|