Merge pull request #29 from Nightapes/typo

fix(gitutil): fix log message for tags
This commit is contained in:
Felix Wiedmann
2020-01-08 22:49:28 +01:00
committed by GitHub
6 changed files with 88 additions and 12 deletions

View File

@@ -35,9 +35,12 @@ jobs:
- name: Build Docker image
if: github.ref != 'refs/heads/master'
run: |
docker build -t nightapes/go-semantic-release:development .
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
docker login -u nightapes -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com
docker build -t nightapes/go-semantic-release:development .
docker push nightapes/go-semantic-release:development
docker tag nightapes/go-semantic-release:development docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development
docker push docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development
- name: Push Docker image
if: github.ref != 'refs/heads/master'
@@ -48,4 +51,5 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
docker login -u nightapes -p $GITHUB_TOKEN docker.pkg.github.com
./build/go-semantic-release-temp release --loglevel trace

View File

@@ -17,7 +17,9 @@ changelog:
hooks:
preRelease:
- docker build -t nightapes/go-semantic-release:latest .
- docker build -t nightapes/go-semantic-release:$RELEASE_VERSION .
- docker tag nightapes/go-semantic-release:latest docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:$RELEASE_VERSION
- docker tag nightapes/go-semantic-release:latest nightapes/go-semantic-release:$RELEASE_VERSION
postRelease:
- docker push nightapes/go-semantic-release:latest
- docker push nightapes/go-semantic-release:$RELEASE_VERSION
- docker push docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:$RELEASE_VERSION

View File

@@ -3,11 +3,11 @@
## Release Types
| Type | Implemendet | Git tag | Changelog | Release | Write access git | Api token |
| ---------- | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: |
| ----------- | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: |
| `github` | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: |
| `gitlab` | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: |
| `git` | :white_check_mark: | :white_check_mark: | | | :white_check_mark: | |
| `bitbuckt` | Comming soon | :white_check_mark: | | | :white_check_mark: | |
| `bitbucket` | Comming soon | :white_check_mark: | | | :white_check_mark: | |
## Supported CI Pipelines

View File

@@ -0,0 +1,64 @@
package commands
import (
"github.com/Nightapes/go-semantic-release/internal/hooks"
"github.com/Nightapes/go-semantic-release/pkg/semanticrelease"
"github.com/spf13/cobra"
)
func init() {
rootCmd.AddCommand(hooksCmd)
}
var hooksCmd = &cobra.Command{
Use: "hooks",
Short: "Run all hooks",
RunE: func(cmd *cobra.Command, args []string) error {
config, err := cmd.Flags().GetString("config")
if err != nil {
return err
}
repository, err := cmd.Flags().GetString("repository")
if err != nil {
return err
}
force, err := cmd.Flags().GetBool("no-cache")
if err != nil {
return err
}
ignoreConfigChecks, err := cmd.Flags().GetBool("no-checks")
if err != nil {
return err
}
releaseConfig := readConfig(config)
s, err := semanticrelease.New(releaseConfig, repository, !ignoreConfigChecks)
if err != nil {
return err
}
provider, err := s.GetCIProvider()
if err != nil {
return err
}
releaseVersion, err := s.GetNextVersion(provider, force)
if err != nil {
return err
}
hook := hooks.New(releaseConfig, releaseVersion)
err = hook.PreRelease()
if err != nil {
return err
}
return hook.PostRelease()
},
}

View File

@@ -90,7 +90,7 @@ func (g *GitUtil) GetLastVersion() (*semver.Version, string, error) {
err = gitTags.ForEach(func(p *plumbing.Reference) error {
v, err := semver.NewVersion(p.Name().Short())
log.Tracef("Tag %+v with hash: %s", p.Target(), p.Hash())
log.Tracef("Tag %+v with hash: %s", p.Name().Short(), p.Hash())
if err == nil {
tags = append(tags, v)

View File

@@ -3,6 +3,7 @@ package hooks
import (
"bufio"
"os/exec"
"runtime"
"strings"
"github.com/Nightapes/go-semantic-release/internal/shared"
@@ -51,9 +52,14 @@ func (h *Hooks) PostRelease() error {
func (h *Hooks) runCommand(command string) error {
splittedCmd := strings.Split(strings.ReplaceAll(command, "$RELEASE_VERSION", h.version.Next.Version.String()), " ")
cmdReplaced := strings.ReplaceAll(command, "$RELEASE_VERSION", h.version.Next.Version.String())
cmd := exec.Command(splittedCmd[0], splittedCmd[1:]...)
var cmd *exec.Cmd
if runtime.GOOS == "windows" {
cmd = exec.Command("cmd.exe", "/C", cmdReplaced)
} else {
cmd = exec.Command("sh", "-c", cmdReplaced)
}
cmdReader, err := cmd.StdoutPipe()
if err != nil {
@@ -63,7 +69,7 @@ func (h *Hooks) runCommand(command string) error {
scanner := bufio.NewScanner(cmdReader)
go func() {
for scanner.Scan() {
log.WithField("cmd", splittedCmd[0]).Infof("%s\n", scanner.Text())
log.WithField("cmd", strings.Fields(cmdReplaced)[0]).Infof("%s\n", scanner.Text())
}
}()