MCPcopy Index your code
hub / github.com/drone-plugins/drone-github-release / Exec

Method Exec

plugin.go:54–162  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

52)
53
54func (p Plugin) Exec() error {
55 var (
56 files []string
57 )
58
59 if p.Build.Event != "tag" {
60 return fmt.Errorf("The GitHub Release plugin is only available for tags")
61 }
62
63 if p.Config.APIKey == "" {
64 return fmt.Errorf("You must provide an API key")
65 }
66
67 if !fileExistsValues[p.Config.FileExists] {
68 return fmt.Errorf("Invalid value for file_exists")
69 }
70
71 if !strings.HasSuffix(p.Config.BaseURL, "/") {
72 p.Config.BaseURL = p.Config.BaseURL + "/"
73 }
74
75 if !strings.HasSuffix(p.Config.UploadURL, "/") {
76 p.Config.UploadURL = p.Config.UploadURL + "/"
77 }
78
79 var err error
80 if p.Config.Note != "" {
81 if p.Config.Note, err = readStringOrFile(p.Config.Note); err != nil {
82 return fmt.Errorf("error while reading %s: %v", p.Config.Note, err)
83 }
84 }
85
86 if p.Config.Title != "" {
87 if p.Config.Title, err = readStringOrFile(p.Config.Title); err != nil {
88 return fmt.Errorf("error while reading %s: %v", p.Config.Note, err)
89 }
90 }
91
92 for _, glob := range p.Config.Files {
93 globed, err := filepath.Glob(glob)
94
95 if err != nil {
96 return fmt.Errorf("Failed to glob %s. %s", glob, err)
97 }
98
99 if globed != nil {
100 files = append(files, globed...)
101 }
102 }
103
104 if len(p.Config.Checksum) > 0 {
105 var (
106 err error
107 )
108
109 files, err = writeChecksums(files, p.Config.Checksum, p.Config.ChecksumFile, p.Config.ChecksumFlatten)
110
111 if err != nil {

Callers 1

runFunction · 0.95

Calls 4

buildReleaseMethod · 0.95
uploadFilesMethod · 0.95
readStringOrFileFunction · 0.85
writeChecksumsFunction · 0.85

Tested by

no test coverage detected