From d02dd4dc128a6c5c7e0edd42d48028f62cd96f97 Mon Sep 17 00:00:00 2001 From: Guimin YAO Date: Thu, 16 Dec 2021 21:51:59 +1300 Subject: [PATCH 1/4] Add missing BuildNumber to CodeBuildEventAdditionalInformation --- events/codebuild.go | 2 ++ events/codebuild_test.go | 2 ++ events/testdata/codebuild-state-change.json | 1 + 3 files changed, 5 insertions(+) diff --git a/events/codebuild.go b/events/codebuild.go index ed60f84f..3cc80196 100644 --- a/events/codebuild.go +++ b/events/codebuild.go @@ -103,6 +103,8 @@ type CodeBuildEventAdditionalInformation struct { BuildComplete bool `json:"build-complete"` + BuildNumber int `json:"build-number,omitempty"` + Initiator string `json:"initiator"` BuildStartTime CodeBuildTime `json:"build-start-time"` diff --git a/events/codebuild_test.go b/events/codebuild_test.go index bc03032d..1f8032fc 100644 --- a/events/codebuild_test.go +++ b/events/codebuild_test.go @@ -52,6 +52,7 @@ func TestUnmarshalCodeBuildEvent(t *testing.T) { }, Timeout: DurationMinutes(60 * time.Minute), BuildComplete: true, + BuildNumber: 55, Initiator: "MyCodeBuildDemoUser", BuildStartTime: CodeBuildTime(time.Date(2017, 9, 1, 16, 12, 29, 0, time.UTC)), Source: CodeBuildSource{ @@ -189,6 +190,7 @@ func TestUnmarshalCodeBuildEvent(t *testing.T) { }, Timeout: DurationMinutes(60 * time.Minute), BuildComplete: true, + BuildNumber: 55, Initiator: "MyCodeBuildDemoUser", BuildStartTime: CodeBuildTime(time.Date(2017, 9, 1, 16, 12, 29, 0, time.UTC)), Source: CodeBuildSource{ diff --git a/events/testdata/codebuild-state-change.json b/events/testdata/codebuild-state-change.json index 4be1cb75..9c9c4ed7 100644 --- a/events/testdata/codebuild-state-change.json +++ b/events/testdata/codebuild-state-change.json @@ -34,6 +34,7 @@ }, "timeout-in-minutes": 60.0, "build-complete": true, + "build-number": 55.0, "initiator": "MyCodeBuildDemoUser", "build-start-time": "Sep 1, 2017 4:12:29 PM", "source": { From 939843cc57edf470a9a4b6714fa61e731012622f Mon Sep 17 00:00:00 2001 From: Guimin YAO Date: Tue, 11 Jan 2022 10:13:43 +1300 Subject: [PATCH 2/4] Update test data for build-number --- events/testdata/codebuild-state-change.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/events/testdata/codebuild-state-change.json b/events/testdata/codebuild-state-change.json index 9c9c4ed7..88b4b366 100644 --- a/events/testdata/codebuild-state-change.json +++ b/events/testdata/codebuild-state-change.json @@ -34,7 +34,7 @@ }, "timeout-in-minutes": 60.0, "build-complete": true, - "build-number": 55.0, + "build-number": 55, "initiator": "MyCodeBuildDemoUser", "build-start-time": "Sep 1, 2017 4:12:29 PM", "source": { From 24d30e2f40af7af863fcfba00bd164b101162546 Mon Sep 17 00:00:00 2001 From: Guimin YAO Date: Tue, 8 Mar 2022 22:47:45 +1300 Subject: [PATCH 3/4] Introduce CodeBuildNumber type --- events/codebuild.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/events/codebuild.go b/events/codebuild.go index 3cc80196..c50275ff 100644 --- a/events/codebuild.go +++ b/events/codebuild.go @@ -103,7 +103,7 @@ type CodeBuildEventAdditionalInformation struct { BuildComplete bool `json:"build-complete"` - BuildNumber int `json:"build-number,omitempty"` + BuildNumber CodeBuildNumber `json:"build-number,omitempty"` Initiator string `json:"initiator"` @@ -197,3 +197,22 @@ func (t *CodeBuildTime) UnmarshalJSON(data []byte) error { *t = CodeBuildTime(ts) return nil } + +// CodeBuildNumber represents the number of the build +type CodeBuildNumber int32 + +// MarshalJSON converts a given CodeBuildNumber to json +func (n CodeBuildNumber) MarshalJSON() ([]byte, error) { + return json.Marshal(float32(n)) +} + +// UnmarshalJSON converts a given json to a CodeBuildNumber +func (n *CodeBuildNumber) UnmarshalJSON(data []byte) error { + var f float32 + if err := json.Unmarshal(data, &f); err != nil { + return err + } + + *n = CodeBuildNumber(int32(f)) + return nil +} From ee065541328559b024d2a069b0b69243d087e376 Mon Sep 17 00:00:00 2001 From: Guimin YAO Date: Tue, 8 Mar 2022 22:47:57 +1300 Subject: [PATCH 4/4] Update test data --- events/testdata/codebuild-phase-change.json | 1 + events/testdata/codebuild-state-change.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/events/testdata/codebuild-phase-change.json b/events/testdata/codebuild-phase-change.json index 6de723ec..23e09077 100644 --- a/events/testdata/codebuild-phase-change.json +++ b/events/testdata/codebuild-phase-change.json @@ -29,6 +29,7 @@ }, "timeout-in-minutes": 60.0, "build-complete": true, + "build-number": 55.0, "initiator": "MyCodeBuildDemoUser", "build-start-time": "Sep 1, 2017 4:12:29 PM", "source": { diff --git a/events/testdata/codebuild-state-change.json b/events/testdata/codebuild-state-change.json index 88b4b366..9c9c4ed7 100644 --- a/events/testdata/codebuild-state-change.json +++ b/events/testdata/codebuild-state-change.json @@ -34,7 +34,7 @@ }, "timeout-in-minutes": 60.0, "build-complete": true, - "build-number": 55, + "build-number": 55.0, "initiator": "MyCodeBuildDemoUser", "build-start-time": "Sep 1, 2017 4:12:29 PM", "source": {