Skip to content

Commit a548246

Browse files
authoredApr 24, 2020
Retire satori UUID and use a community driven fork (#241)
* Retire satori UUID and use a community driven fork * Addressed the bot's concerns
1 parent 5b343c4 commit a548246

16 files changed

+135
-66
lines changed
 

‎go.mod

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ require (
2020
github.com/gaia-pipeline/flag v1.7.4-pre
2121
github.com/gaia-pipeline/protobuf v0.0.0-20180812091451-7be8a901b55a
2222
github.com/gliderlabs/ssh v0.1.1 // indirect
23+
github.com/gofrs/uuid v3.2.0+incompatible
2324
github.com/gogo/protobuf v1.2.1 // indirect
2425
github.com/golang/protobuf v1.3.1
2526
github.com/google/go-cmp v0.2.0 // indirect
@@ -45,7 +46,6 @@ require (
4546
github.com/pelletier/go-buffruneio v0.2.0 // indirect
4647
github.com/pkg/errors v0.8.1
4748
github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967
48-
github.com/satori/go.uuid v1.2.0
4949
github.com/sergi/go-diff v1.0.0 // indirect
5050
github.com/sirupsen/logrus v1.4.2 // indirect
5151
github.com/src-d/gcfg v1.3.0 // indirect
@@ -62,3 +62,5 @@ require (
6262
gopkg.in/yaml.v2 v2.2.2
6363
gotest.tools v2.2.0+incompatible // indirect
6464
)
65+
66+
go 1.13

‎go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ github.com/gaia-pipeline/protobuf v0.0.0-20180812091451-7be8a901b55a h1:/5XAmdAy
4848
github.com/gaia-pipeline/protobuf v0.0.0-20180812091451-7be8a901b55a/go.mod h1:H0w7MofSuW53Nz7kesnBdVkvr437flf5B7D9Lcsb+lQ=
4949
github.com/gliderlabs/ssh v0.1.1 h1:j3L6gSLQalDETeEg/Jg0mGY0/y/N6zI2xX1978P0Uqw=
5050
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
51+
github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
52+
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
5153
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
5254
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
5355
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
@@ -124,8 +126,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
124126
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
125127
github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE=
126128
github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
127-
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
128-
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
129129
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
130130
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
131131
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=

‎handlers/pipeline.go

+11-8
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@ import (
55
"strconv"
66
"time"
77

8-
"github.com/gaia-pipeline/gaia/helper/stringhelper"
9-
10-
"github.com/gaia-pipeline/gaia/security"
8+
"github.com/gofrs/uuid"
9+
"github.com/labstack/echo"
10+
"github.com/robfig/cron"
1111

1212
"github.com/gaia-pipeline/gaia"
13+
"github.com/gaia-pipeline/gaia/helper/stringhelper"
14+
"github.com/gaia-pipeline/gaia/security"
1315
"github.com/gaia-pipeline/gaia/services"
1416
"github.com/gaia-pipeline/gaia/workers/pipeline"
15-
"github.com/labstack/echo"
16-
"github.com/robfig/cron"
17-
uuid "github.com/satori/go.uuid"
1817
)
1918

2019
// PipelineGitLSRemote checks for available git remote branches.
@@ -52,15 +51,19 @@ func CreatePipeline(c echo.Context) error {
5251
// Set initial value
5352
p.Created = time.Now()
5453
p.StatusType = gaia.CreatePipelineRunning
55-
p.ID = uuid.Must(uuid.NewV4(), nil).String()
54+
v4, err := uuid.NewV4()
55+
if err != nil {
56+
return c.String(http.StatusBadRequest, err.Error())
57+
}
58+
p.ID = uuid.Must(v4, nil).String()
5659

5760
// Add pipeline type tag if not already existent
5861
if !stringhelper.IsContainedInSlice(p.Pipeline.Tags, p.Pipeline.Type.String(), true) {
5962
p.Pipeline.Tags = append(p.Pipeline.Tags, p.Pipeline.Type.String())
6063
}
6164

6265
// Save this pipeline to our store
63-
err := storeService.CreatePipelinePut(p)
66+
err = storeService.CreatePipelinePut(p)
6467
if err != nil {
6568
gaia.Cfg.Logger.Debug("cannot put pipeline into store", "error", err.Error())
6669
return c.String(http.StatusInternalServerError, err.Error())

‎handlers/workers.go

+9-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import (
66
"net/http"
77
"time"
88

9-
"github.com/gaia-pipeline/gaia/security"
10-
119
"github.com/Pallinder/go-randomdata"
10+
"github.com/gofrs/uuid"
11+
"github.com/labstack/echo"
12+
1213
"github.com/gaia-pipeline/gaia"
14+
"github.com/gaia-pipeline/gaia/security"
1315
"github.com/gaia-pipeline/gaia/services"
14-
"github.com/labstack/echo"
15-
uuid "github.com/satori/go.uuid"
1616
)
1717

1818
const (
@@ -57,8 +57,12 @@ func RegisterWorker(c echo.Context) error {
5757
worker.Name = randomdata.SillyName() + "_" + randomdata.SillyName()
5858
}
5959

60+
v4, err := uuid.NewV4()
61+
if err != nil {
62+
return c.String(http.StatusInternalServerError, "error generating uuid")
63+
}
6064
w := gaia.Worker{
61-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
65+
UniqueID: uuid.Must(v4, nil).String(),
6266
Name: worker.Name,
6367
Tags: worker.Tags,
6468
RegisterDate: time.Now(),

‎security/secret_generator.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ package security
33
import (
44
"crypto/rand"
55

6-
uuid "github.com/satori/go.uuid"
6+
"github.com/gofrs/uuid"
77
)
88

99
// GenerateRandomUUIDV5 will return a 32bit random seeded UUID based on
1010
// a randomly generated UUID v4.
1111
func GenerateRandomUUIDV5() string {
12-
nsUUID := uuid.NewV4()
12+
nsUUID, _ := uuid.NewV4()
1313
token := make([]byte, 32)
1414
_, _ = rand.Read(token)
1515
namespace := string(token)

‎store/store_test.go

+27-12
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import (
88
"testing"
99
"time"
1010

11+
"github.com/gofrs/uuid"
12+
1113
"github.com/gaia-pipeline/gaia"
12-
uuid "github.com/satori/go.uuid"
1314
)
1415

1516
func TestInit(t *testing.T) {
@@ -172,8 +173,12 @@ func TestCreatePipelinePut(t *testing.T) {
172173
}
173174
defer store.Close()
174175

176+
v4, err := uuid.NewV4()
177+
if err != nil {
178+
t.Fatal(err)
179+
}
175180
p := &gaia.CreatePipeline{
176-
ID: uuid.Must(uuid.NewV4(), nil).String(),
181+
ID: uuid.Must(v4, nil).String(),
177182
Created: time.Now(),
178183
StatusType: gaia.CreatePipelineRunning,
179184
Pipeline: gaia.Pipeline{
@@ -206,8 +211,9 @@ func TestCreatePipelineGet(t *testing.T) {
206211
var getIDs []string
207212

208213
for i := 0; i < 3; i++ {
214+
v4, _ := uuid.NewV4()
209215
p := gaia.CreatePipeline{
210-
ID: uuid.Must(uuid.NewV4(), nil).String(),
216+
ID: uuid.Must(v4, nil).String(),
211217
Pipeline: gaia.Pipeline{
212218
Repo: &gaia.GitRepo{},
213219
},
@@ -388,23 +394,25 @@ func TestPipelineGetRunHighestID(t *testing.T) {
388394
t.Fatal(err)
389395
}
390396

397+
v4, _ := uuid.NewV4()
391398
pipelineRun1 := &gaia.PipelineRun{
392399
ID: 1,
393400
PipelineID: 1,
394401
Status: gaia.RunRunning,
395-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
402+
UniqueID: uuid.Must(v4, nil).String(),
396403
StartDate: time.Now(),
397404
}
398405
err = store.PipelinePutRun(pipelineRun1)
399406
if err != nil {
400407
t.Fatal(err)
401408
}
402409

410+
newV4, _ := uuid.NewV4()
403411
pipelineRun2 := &gaia.PipelineRun{
404412
ID: 2,
405413
PipelineID: 1,
406414
Status: gaia.RunRunning,
407-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
415+
UniqueID: uuid.Must(newV4, nil).String(),
408416
StartDate: time.Now(),
409417
}
410418
err = store.PipelinePutRun(pipelineRun2)
@@ -439,8 +447,9 @@ func TestPipelinePutRun(t *testing.T) {
439447
}
440448
defer store.Close()
441449

450+
v4, _ := uuid.NewV4()
442451
run := gaia.PipelineRun{
443-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
452+
UniqueID: uuid.Must(v4, nil).String(),
444453
ID: 1,
445454
PipelineID: 1,
446455
ScheduleDate: time.Now(),
@@ -470,22 +479,24 @@ func TestPipelineGetScheduled(t *testing.T) {
470479
}
471480
defer store.Close()
472481

482+
v4, _ := uuid.NewV4()
473483
pipelineRun1 := &gaia.PipelineRun{
474484
ID: 1,
475485
PipelineID: 1,
476486
Status: gaia.RunNotScheduled,
477-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
487+
UniqueID: uuid.Must(v4, nil).String(),
478488
}
479489
err = store.PipelinePutRun(pipelineRun1)
480490
if err != nil {
481491
t.Fatal(err)
482492
}
483493

494+
v4, _ = uuid.NewV4()
484495
pipelineRun2 := &gaia.PipelineRun{
485496
ID: 2,
486497
PipelineID: 1,
487498
Status: gaia.RunNotScheduled,
488-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
499+
UniqueID: uuid.Must(v4, nil).String(),
489500
}
490501
err = store.PipelinePutRun(pipelineRun2)
491502
if err != nil {
@@ -528,8 +539,9 @@ func TestPipelineGetRunByPipelineIDAndID(t *testing.T) {
528539
}
529540
defer store.Close()
530541

542+
v4, _ := uuid.NewV4()
531543
run := gaia.PipelineRun{
532-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
544+
UniqueID: uuid.Must(v4, nil).String(),
533545
ID: 1,
534546
PipelineID: 1,
535547
ScheduleDate: time.Now(),
@@ -582,11 +594,12 @@ func TestPipelineGetAllRuns(t *testing.T) {
582594
}
583595

584596
for i := 0; i < 2; i++ {
597+
v4, _ := uuid.NewV4()
585598
p := &gaia.PipelineRun{
586599
ID: i,
587600
PipelineID: 1,
588601
Status: gaia.RunNotScheduled,
589-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
602+
UniqueID: uuid.Must(v4, nil).String(),
590603
}
591604
err = store.PipelinePutRun(p)
592605
if err != nil {
@@ -646,23 +659,25 @@ func TestPipelineGetLatestRun(t *testing.T) {
646659
t.Fatal(err)
647660
}
648661

662+
v4, _ := uuid.NewV4()
649663
pipelineRun1 := &gaia.PipelineRun{
650664
ID: 1,
651665
PipelineID: 1,
652666
Status: gaia.RunRunning,
653-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
667+
UniqueID: uuid.Must(v4, nil).String(),
654668
StartDate: time.Now(),
655669
}
656670
err = store.PipelinePutRun(pipelineRun1)
657671
if err != nil {
658672
t.Fatal(err)
659673
}
660674

675+
v4, _ = uuid.NewV4()
661676
pipelineRun2 := &gaia.PipelineRun{
662677
ID: 2,
663678
PipelineID: 1,
664679
Status: gaia.RunRunning,
665-
UniqueID: uuid.Must(uuid.NewV4(), nil).String(),
680+
UniqueID: uuid.Must(v4, nil).String(),
666681
StartDate: time.Now(),
667682
}
668683
err = store.PipelinePutRun(pipelineRun2)

‎workers/pipeline/build_cpp.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/gaia-pipeline/gaia"
1414
"github.com/gaia-pipeline/gaia/services"
15-
uuid "github.com/satori/go.uuid"
15+
"github.com/gofrs/uuid"
1616
)
1717

1818
const (
@@ -28,11 +28,15 @@ type BuildPipelineCpp struct {
2828
// PrepareEnvironment prepares the environment before we start the build process.
2929
func (b *BuildPipelineCpp) PrepareEnvironment(p *gaia.CreatePipeline) error {
3030
// create uniqueName for destination folder
31-
uniqueName := uuid.Must(uuid.NewV4(), nil)
31+
v4, err := uuid.NewV4()
32+
if err != nil {
33+
return err
34+
}
35+
uniqueName := uuid.Must(v4, nil)
3236

3337
// Create local temp folder for clone
3438
cloneFolder := filepath.Join(gaia.Cfg.HomePath, gaia.TmpFolder, gaia.TmpCppFolder, srcFolder, uniqueName.String())
35-
err := os.MkdirAll(cloneFolder, 0700)
39+
err = os.MkdirAll(cloneFolder, 0700)
3640
if err != nil {
3741
return err
3842
}

‎workers/pipeline/build_golang.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/gaia-pipeline/gaia"
1414
"github.com/gaia-pipeline/gaia/services"
15-
uuid "github.com/satori/go.uuid"
15+
"github.com/gofrs/uuid"
1616
)
1717

1818
const (
@@ -27,12 +27,16 @@ type BuildPipelineGolang struct {
2727
// PrepareEnvironment prepares the environment before we start the build process.
2828
func (b *BuildPipelineGolang) PrepareEnvironment(p *gaia.CreatePipeline) error {
2929
// create uniqueName for destination folder
30-
uniqueName := uuid.Must(uuid.NewV4(), nil)
30+
v4, err := uuid.NewV4()
31+
if err != nil {
32+
return err
33+
}
34+
uniqueName := uuid.Must(v4, nil)
3135

3236
// Create local temp folder for clone
3337
goPath := filepath.Join(gaia.Cfg.HomePath, gaia.TmpFolder, gaia.TmpGoFolder)
3438
cloneFolder := filepath.Join(goPath, srcFolder, uniqueName.String())
35-
err := os.MkdirAll(cloneFolder, 0700)
39+
err = os.MkdirAll(cloneFolder, 0700)
3640
if err != nil {
3741
return err
3842
}

‎workers/pipeline/build_java.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/gaia-pipeline/gaia"
1414
"github.com/gaia-pipeline/gaia/services"
15-
uuid "github.com/satori/go.uuid"
15+
"github.com/gofrs/uuid"
1616
)
1717

1818
var (
@@ -33,12 +33,16 @@ type BuildPipelineJava struct {
3333
// PrepareEnvironment prepares the environment before we start the build process.
3434
func (b *BuildPipelineJava) PrepareEnvironment(p *gaia.CreatePipeline) error {
3535
// create uniqueName for destination folder
36-
uniqueName := uuid.Must(uuid.NewV4(), nil)
36+
v4, err := uuid.NewV4()
37+
if err != nil {
38+
return err
39+
}
40+
uniqueName := uuid.Must(v4, nil)
3741

3842
// Create local temp folder for clone
3943
rootPath := filepath.Join(gaia.Cfg.HomePath, gaia.TmpFolder, javaFolder)
4044
cloneFolder := filepath.Join(rootPath, srcFolder, uniqueName.String())
41-
err := os.MkdirAll(cloneFolder, 0700)
45+
err = os.MkdirAll(cloneFolder, 0700)
4246
if err != nil {
4347
return err
4448
}

‎workers/pipeline/build_nodejs.go

+8-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/gaia-pipeline/gaia"
1414
"github.com/gaia-pipeline/gaia/services"
15-
uuid "github.com/satori/go.uuid"
15+
"github.com/gofrs/uuid"
1616
)
1717

1818
const nodeJSInternalCloneFolder = "jsclone"
@@ -25,11 +25,16 @@ type BuildPipelineNodeJS struct {
2525
// PrepareEnvironment prepares the environment before we start the build process.
2626
func (b *BuildPipelineNodeJS) PrepareEnvironment(p *gaia.CreatePipeline) error {
2727
// create uniqueName for destination folder
28-
uniqueName := uuid.Must(uuid.NewV4(), nil)
28+
v4, err := uuid.NewV4()
29+
if err != nil {
30+
gaia.Cfg.Logger.Debug("unable to generate uuid", "error", err.Error())
31+
return err
32+
}
33+
uniqueName := uuid.Must(v4, nil)
2934

3035
// Create local temp folder for clone
3136
cloneFolder := filepath.Join(gaia.Cfg.HomePath, gaia.TmpFolder, gaia.TmpNodeJSFolder, srcFolder, uniqueName.String(), nodeJSInternalCloneFolder)
32-
err := os.MkdirAll(cloneFolder, 0700)
37+
err = os.MkdirAll(cloneFolder, 0700)
3338
if err != nil {
3439
return err
3540
}

0 commit comments

Comments
 (0)
Please sign in to comment.