Skip to content

Commit f54f8df

Browse files
authored
Merge pull request #121 from fullstack-devops/bugfix/false-release-version
Fix: false release version override
2 parents efbf580 + f30eba7 commit f54f8df

File tree

16 files changed

+56
-116
lines changed

16 files changed

+56
-116
lines changed

.github/workflows/Release.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
awesome-ci-${{ github.sha }}
4646
4747
publish_release:
48+
environment: production
4849
runs-on: ubuntu-latest
4950
needs: [create_release, build]
5051
steps:

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ awesome-ci: dep
3232
GOOS=windows GOARCH=amd64 go build ${GOARGS} -tags "${GOTAGS}" -ldflags "${LDFLAGS}" -o ${BUILD_DIR}/package/awesome-ci_${VERSION}_amd64.exe ./cmd/awesome-ci
3333
GOOS=windows GOARCH=arm64 go build ${GOARGS} -tags "${GOTAGS}" -ldflags "${LDFLAGS}" -o ${BUILD_DIR}/package/awesome-ci_${VERSION}_arm64.exe ./cmd/awesome-ci
3434

35-
test: awesome-ci ## Run unittests
36-
go test -short -v ./internal/pkg/...
35+
test: ## Run unittests
36+
-go test -short -v ./internal/pkg/...
3737

38-
race: awesome-ci ## Run data race detector
38+
race: ## Run data race detector
3939
-go test -race -short -v ${PKG_LIST}
4040

4141
# this requires ruby with the gem asciidoctor, asciidoctor-pdf and asciidoctor-diagram installed -> gem install asciidoctor-**

internal/app/awesome-ci/ces/detect.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func DetectCes() (cesType CES,
2424

2525
if creds, errRc := rcFile.Load(); errRc == nil {
2626
cesType = CES{
27-
Type: rcFile.CESType,
27+
Type: rcpersist.CESTypeLoMa,
2828
EnvFile: envFile,
2929
}
3030
scmPortalType = rcFile.SCMPortalType

internal/app/awesome-ci/cmd/pullrequest/pullrequest.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ import (
77
)
88

99
var (
10-
number int
11-
formatOut string
10+
number int
11+
formatOut string
12+
mergeCommitSha string
1213
)
1314

1415
var Cmd = &cobra.Command{
@@ -25,7 +26,7 @@ var infoCmd = &cobra.Command{
2526
Short: "get pull request info",
2627
Long: `Print all infos about a pull request in GitHub.`,
2728
Run: func(cmd *cobra.Command, args []string) {
28-
service.PrintPRInfos(number, formatOut)
29+
service.PrintPRInfos(number, mergeCommitSha, formatOut)
2930
},
3031
}
3132

@@ -35,6 +36,7 @@ func init() {
3536

3637
// Flags
3738
infoCmd.Flags().IntVarP(&number, "number", "n", 0, "overwrite the issue number")
39+
infoCmd.Flags().StringVarP(&mergeCommitSha, "merge-commit-sha", "c", "", "send a given merge commit sha")
3840
// needs to be implemented
3941
// infoCmd.Flags().StringVarP(&formatOut, "output", "o", "", "define output available: [json, yaml]")
4042
}

internal/app/awesome-ci/cmd/root_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"path/filepath"
88
"strings"
99
"testing"
10-
"time"
1110

1211
"github.com/fullstack-devops/awesome-ci/internal/app/awesome-ci/cmd"
1312

@@ -20,7 +19,6 @@ const fmTemplate = `---
2019
layout: default
2120
nav_order: 2
2221
parent: CLI
23-
date: %s
2422
title: "%s"
2523
---
2624
`
@@ -39,14 +37,13 @@ func TestCreateCobraDocs(t *testing.T) {
3937
}
4038

4139
func filePrepender(filename string) string {
42-
now := time.Now().Format(time.RFC3339)
4340
name := filepath.Base(filename)
4441
base := strings.TrimSuffix(name, path.Ext(name))
4542

4643
if base != "awesome-ci" {
4744
base = strings.Replace(base, "awesome-ci", "", -1)
4845
}
49-
return fmt.Sprintf(fmTemplate, now, strings.Replace(base, "_", " ", -1))
46+
return fmt.Sprintf(fmTemplate, strings.Replace(base, "_", " ", -1))
5047
}
5148

5249
func linkHandler(name string) string {

internal/app/awesome-ci/scm-portal/github/issues.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ func (ghrc *GitHubRichClient) SearchIssuesForOverrides(prNumber int) (nextVersio
116116

117117
if aciVersionOverride.MatchString(*comment.Body) {
118118
nextVersion = aciVersionOverride.FindStringSubmatch(*comment.Body)[1]
119+
log.Infof("found version override in comment form %s at %s", comment.User.GetLogin(), comment.GetCreatedAt())
119120
break
120121
}
121122

@@ -124,6 +125,7 @@ func (ghrc *GitHubRichClient) SearchIssuesForOverrides(prNumber int) (nextVersio
124125
if err != nil && err != semver.ErrUseMinimalPatchVersion {
125126
log.Warnln(err)
126127
}
128+
log.Infof("found patchLevel override in comment form %s at %s", comment.User.GetLogin(), comment.GetCreatedAt())
127129
break
128130
}
129131
}

internal/app/awesome-ci/scm-portal/github/pullrequest.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,41 @@ import (
44
"fmt"
55

66
"github.com/google/go-github/v49/github"
7+
log "github.com/sirupsen/logrus"
78
)
89

910
// GetPrInfos need the PullRequest-Number
1011
func (ghrc *GitHubRichClient) GetPrInfos(prNumber int, mergeCommitSha string) (prInfos *github.PullRequest, err error) {
1112
if prNumber != 0 {
13+
1214
prInfos, _, err = ghrc.Client.PullRequests.Get(ctx, ghrc.Owner, ghrc.Repository, prNumber)
1315
if err != nil {
1416
return nil, fmt.Errorf("could not load any information about the given pull request %d: %v", prNumber, err)
1517
}
16-
}
17-
if mergeCommitSha != "" && prNumber == 0 {
18+
log.Infof("found pull request '%s' with given number %d", *prInfos.Title, prNumber)
19+
20+
return
21+
} else if mergeCommitSha != "" {
22+
23+
log.Infoln("listing pull requests to compare with merge commit sha")
1824
prOpts := github.PullRequestListOptions{
1925
State: "all",
2026
Sort: "updated",
2127
Direction: "desc",
2228
ListOptions: github.ListOptions{
23-
PerPage: 10,
29+
PerPage: 50,
2430
},
2531
}
2632
pullRequests, _, err := ghrc.Client.PullRequests.List(ctx, ghrc.Owner, ghrc.Repository, &prOpts)
2733
if err != nil {
2834
return nil, fmt.Errorf("could not load any information about the given pull request %d: %v", prNumber, err)
2935
}
36+
37+
log.Infof("listed %d pull requests, searching for maching mergeCommitSha", len(pullRequests))
3038
var found int = 0
3139
for _, pr := range pullRequests {
3240
if pr.GetMergeCommitSHA() == mergeCommitSha {
41+
log.Infof("found matching pull requests with number %d, and mergeCommitSha %s", *pr.Number, *pr.MergeCommitSHA)
3342
prInfos = pr
3443
found = found + 1
3544
}

internal/app/awesome-ci/scm-portal/prmr_request.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
// 3. read comments from pr/mr and looking for overrides
1515
func (lay SCMLayer) GetPrInfos(number int, mergeCommitSha string) (infos *PrMrRequestInfos, err error) {
1616
infos = &PrMrRequestInfos{}
17-
infos.Number = number
1817

1918
// 1. get pr/mr infos from github or gitlab
2019
switch grc := lay.Grc.(type) {
@@ -25,6 +24,7 @@ func (lay SCMLayer) GetPrInfos(number int, mergeCommitSha string) (infos *PrMrRe
2524
return nil, err
2625
}
2726

27+
infos.Number = *prInfos.Number
2828
infos.Sha = *prInfos.Head.SHA
2929
infos.ShaShort = infos.Sha[:8]
3030
infos.BranchName = *prInfos.Head.Ref
@@ -42,12 +42,12 @@ func (lay SCMLayer) GetPrInfos(number int, mergeCommitSha string) (infos *PrMrRe
4242
}
4343

4444
// 2. comment help instructions to issue
45-
if errCommHelp := lay.CommentHelpToPullRequest(number); errCommHelp != nil {
45+
if errCommHelp := lay.CommentHelpToPullRequest(infos.Number); errCommHelp != nil {
4646
log.Warnln(errCommHelp)
4747
}
4848

4949
// 3. read comments from pr/mr and looking for overrides
50-
version, patchLevel, err := lay.SearchIssuesForOverrides(number)
50+
version, patchLevel, err := lay.SearchIssuesForOverrides(infos.Number)
5151
if err != nil {
5252
return nil, err
5353
}
@@ -75,7 +75,7 @@ func (lay SCMLayer) GetPrInfos(number int, mergeCommitSha string) (infos *PrMrRe
7575
return infos, nil
7676

7777
} else {
78-
log.Traceln("version override via pr comments specified")
78+
log.Infoln("version override via pr comments specified")
7979
infos.NextVersion = *version
8080
}
8181

internal/app/awesome-ci/service/externalTasks.go

Lines changed: 0 additions & 43 deletions
This file was deleted.

internal/app/awesome-ci/service/pullrequest.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,22 @@ import (
1010
log "github.com/sirupsen/logrus"
1111
)
1212

13-
func PrintPRInfos(number int, formatOut string) {
13+
func PrintPRInfos(number int, mergeCommitSha string, formatOut string) {
1414
scmLayer, err := scmportal.LoadSCMPortalLayer()
1515
if err != nil {
1616
log.Fatalln(err)
1717
}
1818

19-
if err = evalPrNumber(&number); err != nil {
20-
log.Fatalln(err)
19+
log.Infof("detected ces type: %s", scmLayer.CES.Type)
20+
21+
if mergeCommitSha == "" {
22+
if err = evalPrNumber(&number); err != nil {
23+
log.Fatalln(err)
24+
}
25+
log.Infof("evaluated pull request number %d", number)
2126
}
2227

23-
prInfos, err := scmLayer.GetPrInfos(number, "")
28+
prInfos, err := scmLayer.GetPrInfos(number, mergeCommitSha)
2429
if err != nil {
2530
log.Fatalln(err)
2631
}

0 commit comments

Comments
 (0)