mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-09-27 14:10:17 +00:00
55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package rpc
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/cncd/pipeline/pipeline/backend"
|
|
)
|
|
|
|
type (
|
|
// Filter defines filters for fetching items from the queue.
|
|
Filter struct {
|
|
Platform string `json:"platform"`
|
|
}
|
|
|
|
// State defines the pipeline state.
|
|
State struct {
|
|
Proc string `json:"proc"`
|
|
Exited bool `json:"exited"`
|
|
ExitCode int `json:"exit_code"`
|
|
Started int64 `json:"started"`
|
|
Finished int64 `json:"finished"`
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
// Pipeline defines the pipeline execution details.
|
|
Pipeline struct {
|
|
ID string `json:"id"`
|
|
Config *backend.Config `json:"config"`
|
|
Timeout int64 `json:"timeout"`
|
|
}
|
|
)
|
|
|
|
// Peer defines a peer-to-peer connection.
|
|
type Peer interface {
|
|
// Next returns the next pipeline in the queue.
|
|
Next(c context.Context) (*Pipeline, error)
|
|
|
|
// Notify returns true if the pipeline should be cancelled.
|
|
// TODO: rename to Done, Wait?
|
|
Notify(c context.Context, id string) (bool, error)
|
|
|
|
// Extend extends the pipeline deadline
|
|
Extend(c context.Context, id string) error
|
|
|
|
// Update updates the pipeline state.
|
|
Update(c context.Context, id string, state State) error
|
|
|
|
// Save saves the pipeline artifact.
|
|
// TODO rename to Upload
|
|
Save(c context.Context, id, mime string, file io.Reader) error
|
|
|
|
// Log writes the pipeline log entry.
|
|
Log(c context.Context, id string, line *Line) error
|
|
}
|