2019-09-06 23:32:38 +00:00
|
|
|
// Copyright (c) 2019, the Drone Plugins project authors.
|
|
|
|
// Please see the AUTHORS file for details. All rights reserved.
|
|
|
|
// Use of this source code is governed by an Apache 2.0 license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
package plugin
|
|
|
|
|
2019-09-07 00:12:46 +00:00
|
|
|
import "time"
|
|
|
|
|
2019-09-06 23:32:38 +00:00
|
|
|
type (
|
2019-10-10 20:05:11 +00:00
|
|
|
// Pipeline being executed.
|
|
|
|
//
|
|
|
|
// Represents the full Drone environment that the plugin is executing in.
|
|
|
|
Pipeline struct {
|
|
|
|
Build Build
|
|
|
|
Repo Repo
|
|
|
|
Commit Commit
|
|
|
|
Stage Stage
|
|
|
|
Step Step
|
|
|
|
SemVer SemVer
|
|
|
|
}
|
|
|
|
|
2019-09-09 23:54:52 +00:00
|
|
|
// Build represents a build of a repository.
|
|
|
|
Build struct {
|
|
|
|
// Action that triggered the build. This value is used to differentiate
|
|
|
|
// bettween a pull request being opened vs synchronized.
|
|
|
|
Action string
|
|
|
|
// Created time of the build.
|
|
|
|
Created time.Time
|
2019-09-10 00:03:34 +00:00
|
|
|
// DeployTo the environment.
|
|
|
|
DeployTo string
|
2019-09-09 23:54:52 +00:00
|
|
|
// Event that triggered the build.
|
|
|
|
Event string
|
2019-09-10 00:03:34 +00:00
|
|
|
// FailedStages of the build.
|
|
|
|
FailedStages []string
|
|
|
|
// FailedSteps of the build.
|
|
|
|
FailedSteps []string
|
2019-09-09 23:54:52 +00:00
|
|
|
// Finished time of the build.
|
|
|
|
Finished time.Time
|
|
|
|
// Number for the build.
|
|
|
|
Number int
|
|
|
|
// Parent build number for the build.
|
|
|
|
Parent int
|
2019-09-10 00:03:34 +00:00
|
|
|
// PullRequest number of the build.
|
|
|
|
PullRequest int
|
2019-09-09 23:54:52 +00:00
|
|
|
// Started time of the build.
|
|
|
|
Started time.Time
|
|
|
|
// Status of the build.
|
|
|
|
Status string
|
|
|
|
// SourceBranch for the pull request.
|
|
|
|
SourceBranch string
|
|
|
|
// Tag of the build.
|
|
|
|
Tag string
|
|
|
|
// TargetBranch for the pull request.
|
|
|
|
TargetBranch string
|
|
|
|
}
|
|
|
|
|
2019-09-09 21:02:00 +00:00
|
|
|
// Repo represents the repository for the build.
|
|
|
|
Repo struct {
|
|
|
|
DefaultBranch string
|
|
|
|
FullName string
|
|
|
|
Link string
|
|
|
|
Name string
|
|
|
|
Owner string
|
|
|
|
Private bool
|
|
|
|
RemoteURL string
|
|
|
|
SCM string
|
|
|
|
Visibility string
|
|
|
|
}
|
|
|
|
|
2019-09-09 23:16:32 +00:00
|
|
|
// Commit represents the current commit being built.
|
|
|
|
Commit struct {
|
|
|
|
// After contains the commit sha after the patch is applied.
|
|
|
|
After string
|
|
|
|
// Author of the commit.
|
|
|
|
Author string
|
|
|
|
// AuthorAvatar of the commit.
|
|
|
|
AuthorAvatar string
|
|
|
|
// AuthorEmail of the commit.
|
|
|
|
AuthorEmail string
|
|
|
|
// AuthorName of the commit.
|
|
|
|
AuthorName string
|
|
|
|
// Before contains the commit sha before the patch is applied.
|
|
|
|
Before string
|
|
|
|
// Branch target for the push or pull request. This may be empty for
|
|
|
|
// tag events.
|
|
|
|
Branch string
|
|
|
|
// Link to the commit or object in the source control management system.
|
|
|
|
Link string
|
|
|
|
// Message for the current commit.
|
|
|
|
Message string
|
|
|
|
// Ref for the current commit.
|
|
|
|
Ref string
|
|
|
|
// SHA for the current commit.
|
|
|
|
SHA string
|
|
|
|
}
|
|
|
|
|
2019-09-07 00:12:46 +00:00
|
|
|
// Stage represents a build stage.
|
|
|
|
Stage struct {
|
|
|
|
// Arch is the platform architecture of the current build stage.
|
|
|
|
Arch string
|
|
|
|
// DependsOn is a list of dependencies for the current build stage.
|
|
|
|
DependsOn []string
|
|
|
|
// Finished is the unix timestamp for when the pipeline is finished.
|
|
|
|
//
|
|
|
|
// A running pipleine cannot have a finish timestamp, therefore, the
|
|
|
|
// system aways sets this value to the current timestamp.
|
|
|
|
Finished time.Time
|
|
|
|
// Kind is the kind of resource being executed.
|
|
|
|
//
|
|
|
|
// This value is sourced from the `kind` attribute in the yaml
|
|
|
|
// configuration file
|
|
|
|
Kind string
|
|
|
|
// Machine provides the name of the host machine on which the build
|
|
|
|
// stage is currently running.
|
|
|
|
Machine string
|
|
|
|
// Name is the name for the current running build stage.
|
|
|
|
Name string
|
|
|
|
// Number is the stage number for the current running build stage.
|
|
|
|
Number int
|
|
|
|
// OS is the target operating system for the current build stage.
|
|
|
|
OS string
|
|
|
|
// Started is the unix timestamp for when a build stage was started by
|
|
|
|
// the runner.
|
|
|
|
Started time.Time
|
|
|
|
// Status is the status for the current running build stage.
|
|
|
|
//
|
|
|
|
// If all of the stage's steps are passing, the status defaults to
|
|
|
|
// success.
|
|
|
|
Status string
|
|
|
|
// Type is the type of resource being executed.
|
|
|
|
Type string
|
|
|
|
// Variant is the target architecture variant for the current build
|
|
|
|
// stage.
|
|
|
|
Variant string
|
|
|
|
// Version is OS version for the current build stage.
|
|
|
|
Version string
|
|
|
|
}
|
|
|
|
|
2019-09-06 23:32:38 +00:00
|
|
|
// Step represents the currently running step within the stage.
|
|
|
|
Step struct {
|
|
|
|
Name string
|
|
|
|
Number int
|
|
|
|
}
|
2019-09-09 21:26:56 +00:00
|
|
|
|
|
|
|
// SemVer represents the semantic version of the currently running build.
|
|
|
|
//
|
|
|
|
// This value is only applicable for tags. If the tag cannot be parsed into
|
|
|
|
// a semantic version then SemVer.Error will have the reason.
|
|
|
|
SemVer struct {
|
|
|
|
// Build version number.
|
|
|
|
//
|
|
|
|
// This is signified by a + at the end of the tag.
|
|
|
|
Build string
|
|
|
|
// Error is the semantic version parsing error if the tag was invalid.
|
|
|
|
Error string
|
|
|
|
// Major version number.
|
|
|
|
Major string
|
|
|
|
// Minor version number.
|
|
|
|
Minor string
|
|
|
|
// Patch version number.
|
|
|
|
Patch string
|
|
|
|
// Prerelease version.
|
|
|
|
Prerelease string
|
|
|
|
// Short version of the semantic version string where labels and
|
|
|
|
// metadata are truncated.
|
|
|
|
Short string
|
|
|
|
// Version is the full semantic version.
|
|
|
|
Version string
|
|
|
|
}
|
2019-09-06 23:32:38 +00:00
|
|
|
)
|