mirror of
https://github.com/lukaszraczylo/semver-generator.git
synced 2026-06-18 01:41:19 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
53c059c091
|
@@ -126,11 +126,7 @@ jobs:
|
|||||||
- name: Prepare for push
|
- name: Prepare for push
|
||||||
id: prep
|
id: prep
|
||||||
run: |
|
run: |
|
||||||
if [ -z "${{ needs.prepare.outputs.RELEASE_VERSION }}" ]; then
|
TAGS="${{ needs.prepare.outputs.DOCKER_IMAGE }}:${{ needs.prepare.outputs.GITHUB_SHA }},${{ needs.prepare.outputs.DOCKER_IMAGE }}:${{ needs.prepare.outputs.RELEASE_VERSION }},${{ needs.prepare.outputs.DOCKER_IMAGE }}:latest"
|
||||||
TAGS="${{ needs.prepare.outputs.DOCKER_IMAGE }}:${{ needs.prepare.outputs.GITHUB_SHA }},${{ needs.prepare.outputs.DOCKER_IMAGE }}:latest"
|
|
||||||
else
|
|
||||||
TAGS="${{ needs.prepare.outputs.DOCKER_IMAGE }}:${{ needs.prepare.outputs.GITHUB_SHA }},${{ needs.prepare.outputs.DOCKER_IMAGE }}:${{ needs.prepare.outputs.RELEASE_VERSION }},${{ needs.prepare.outputs.DOCKER_IMAGE }}:latest"
|
|
||||||
fi
|
|
||||||
echo ::set-output name=tags::${TAGS}
|
echo ::set-output name=tags::${TAGS}
|
||||||
BRANCH=$(echo ${GITHUB_REF##*/} | tr '[A-Z]' '[a-z]')
|
BRANCH=$(echo ${GITHUB_REF##*/} | tr '[A-Z]' '[a-z]')
|
||||||
LABELS="org.opencontainers.image.revision=${{ needs.prepare.outputs.GITHUB_SHA }}"
|
LABELS="org.opencontainers.image.revision=${{ needs.prepare.outputs.GITHUB_SHA }}"
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ func checkLatestRelease() (string, bool) {
|
|||||||
fmt.Println("Query error >>", err)
|
fmt.Println("Query error >>", err)
|
||||||
return "", false
|
return "", false
|
||||||
}
|
}
|
||||||
|
fmt.Println(result)
|
||||||
result = gjson.Get(result, "repository.releases.nodes.0.tag.name").String()
|
result = gjson.Get(result, "repository.releases.nodes.0.tag.name").String()
|
||||||
if result == "v1" {
|
if result == "v1" {
|
||||||
result = gjson.Get(result, "repository.releases.nodes.1.tag.name").String()
|
result = gjson.Get(result, "repository.releases.nodes.1.tag.name").String()
|
||||||
|
|||||||
+3
-9
@@ -55,7 +55,6 @@ type Force struct {
|
|||||||
Major int
|
Major int
|
||||||
Commit string
|
Commit string
|
||||||
Existing bool
|
Existing bool
|
||||||
Strict bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type SemVer struct {
|
type SemVer struct {
|
||||||
@@ -116,14 +115,9 @@ func debugPrint(content string) {
|
|||||||
|
|
||||||
var extractNumber = regexp.MustCompile("[0-9]+")
|
var extractNumber = regexp.MustCompile("[0-9]+")
|
||||||
|
|
||||||
func parseExistingSemver(tagName string, currentSemver SemVer) (semanticVersion SemVer) {
|
func parseExistingSemver(tagName string) (semanticVersion SemVer) {
|
||||||
debugPrint(fmt.Sprintln("Parsing existing semver:", tagName))
|
|
||||||
var tagNameParts []string
|
var tagNameParts []string
|
||||||
tagNameParts = strings.Split(tagName, ".")
|
tagNameParts = strings.Split(tagName, ".")
|
||||||
if len(tagNameParts) < 3 {
|
|
||||||
debugPrint("Unable to parse incompatible semver ( non x.y.z )")
|
|
||||||
return currentSemver
|
|
||||||
}
|
|
||||||
semanticVersion.Major, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[0], -1)[0])
|
semanticVersion.Major, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[0], -1)[0])
|
||||||
semanticVersion.Minor, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[1], -1)[0])
|
semanticVersion.Minor, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[1], -1)[0])
|
||||||
semanticVersion.Patch, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[2], -1)[0])
|
semanticVersion.Patch, _ = strconv.Atoi(extractNumber.FindAllString(tagNameParts[2], -1)[0])
|
||||||
@@ -140,7 +134,7 @@ func (s *Setup) CalculateSemver() SemVer {
|
|||||||
for _, tagHash := range s.Tags {
|
for _, tagHash := range s.Tags {
|
||||||
if commit.Hash == tagHash.Hash {
|
if commit.Hash == tagHash.Hash {
|
||||||
debugPrint(fmt.Sprintln("Found existing tag:", tagHash.Name, "related to", commit.Message))
|
debugPrint(fmt.Sprintln("Found existing tag:", tagHash.Name, "related to", commit.Message))
|
||||||
s.Semver = parseExistingSemver(tagHash.Name, s.Semver)
|
s.Semver = parseExistingSemver(tagHash.Name)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -336,7 +330,7 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
repo.ListCommits()
|
repo.ListCommits()
|
||||||
if params.varExisting || repo.Force.Existing {
|
if params.varExisting {
|
||||||
repo.ListExistingTags()
|
repo.ListExistingTags()
|
||||||
}
|
}
|
||||||
repo.ForcedVersioning()
|
repo.ForcedVersioning()
|
||||||
|
|||||||
+1
-5
@@ -569,11 +569,7 @@ func (suite *Tests) Test_parseExistingSemver() {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
suite.T().Run(tt.name, func(t *testing.T) {
|
suite.T().Run(tt.name, func(t *testing.T) {
|
||||||
got := parseExistingSemver(tt.args.tagName, SemVer{
|
got := parseExistingSemver(tt.args.tagName)
|
||||||
Major: 1,
|
|
||||||
Minor: 1,
|
|
||||||
Patch: 1,
|
|
||||||
})
|
|
||||||
assert.Equal(tt.wantSemanticVersion.Major, got.Major, "Unexpected MAJOR semver result in "+tt.name)
|
assert.Equal(tt.wantSemanticVersion.Major, got.Major, "Unexpected MAJOR semver result in "+tt.name)
|
||||||
assert.Equal(tt.wantSemanticVersion.Minor, got.Minor, "Unexpected MINOR semver result in "+tt.name)
|
assert.Equal(tt.wantSemanticVersion.Minor, got.Minor, "Unexpected MINOR semver result in "+tt.name)
|
||||||
assert.Equal(tt.wantSemanticVersion.Patch, got.Patch, "Unexpected PATCH semver result in "+tt.name)
|
assert.Equal(tt.wantSemanticVersion.Patch, got.Patch, "Unexpected PATCH semver result in "+tt.name)
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ force:
|
|||||||
major: 1
|
major: 1
|
||||||
minor: 4
|
minor: 4
|
||||||
existing: true
|
existing: true
|
||||||
commit: 960207e4677476ad31a9f389f74eaf9f33d49613
|
|
||||||
wording:
|
wording:
|
||||||
patch:
|
patch:
|
||||||
- update
|
- update
|
||||||
|
|||||||
+1
-2
@@ -1,8 +1,7 @@
|
|||||||
version: 1
|
version: 1
|
||||||
force:
|
force:
|
||||||
major: 1
|
major: 1
|
||||||
existing: false
|
existing: true
|
||||||
strict: false
|
|
||||||
wording:
|
wording:
|
||||||
patch:
|
patch:
|
||||||
- update
|
- update
|
||||||
|
|||||||
Reference in New Issue
Block a user