You've already forked go-semantic-release
feat(changelog): add docker usage to changelog
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -16,3 +16,4 @@ go-semantic-release
|
|||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
cover.html
|
cover.html
|
||||||
|
build/
|
||||||
21
.release.yml
21
.release.yml
@@ -1,21 +1,12 @@
|
|||||||
commitFormat: angular
|
|
||||||
title: "go-semantic-release release"
|
|
||||||
branch:
|
|
||||||
master: beta
|
|
||||||
rc: rc
|
|
||||||
beta: beta
|
|
||||||
alpha: alpha
|
|
||||||
changelog:
|
|
||||||
printAll: false
|
|
||||||
template: ''
|
|
||||||
templatePath: ''
|
|
||||||
release: 'github'
|
release: 'github'
|
||||||
|
github:
|
||||||
|
repo: "go-semantic-release"
|
||||||
|
user: "nightapes"
|
||||||
|
commitFormat: angular
|
||||||
|
branch:
|
||||||
|
master: release
|
||||||
assets:
|
assets:
|
||||||
- name: ./build/go-semantic-release
|
- name: ./build/go-semantic-release
|
||||||
compress: false
|
compress: false
|
||||||
- name: ./build/go-semantic-release.exe
|
- name: ./build/go-semantic-release.exe
|
||||||
compress: false
|
compress: false
|
||||||
github:
|
|
||||||
repo: "go-semantic-release"
|
|
||||||
user: "nightapes"
|
|
||||||
customUrl: ""
|
|
||||||
|
|||||||
180
README.md
180
README.md
@@ -2,24 +2,178 @@
|
|||||||
|
|
||||||
## Release Types
|
## Release Types
|
||||||
|
|
||||||
| Type | Git tag | Changelog | Release | Write access git | Api token |
|
| Type | Implemendet | Git tag | Changelog | Release | Write access git | Api token |
|
||||||
|--- |:---: |:---: |:---: |:---: |:---: |
|
| ---------- | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: |
|
||||||
| `git` | :white_check_mark: | | | :white_check_mark:| |
|
| `github` | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: |
|
||||||
| `github` | :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: |
|
||||||
| `gitlab` | :white_check_mark: | :white_check_mark: | :white_check_mark:| | :white_check_mark: |
|
| `git` | Comming soon | :white_check_mark: | | | :white_check_mark: | |
|
||||||
|
| `bitbuckt` | Comming soon | :white_check_mark: | | | :white_check_mark: | |
|
||||||
|
|
||||||
|
|
||||||
|
## Supported CI Pipelines
|
||||||
|
|
||||||
|
* Github Actions
|
||||||
|
* Gitlab CI
|
||||||
|
* Travis CI
|
||||||
|
* Custom CI, set enviroment `CI=true`
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
`go-semantic-release` config file
|
||||||
|
Create a file with the name `.release.yml` or anything else, but you need to set to every command `-c <your config file>`
|
||||||
|
|
||||||
|
### Example config
|
||||||
|
|
||||||
|
```yml
|
||||||
|
commitFormat: angular
|
||||||
|
branch:
|
||||||
|
master: release
|
||||||
|
release: 'github'
|
||||||
|
github:
|
||||||
|
repo: "go-semantic-release"
|
||||||
|
user: "nightapes"
|
||||||
|
assets:
|
||||||
|
- name: ./build/go-semantic-release
|
||||||
|
compress: false
|
||||||
|
- name: ./build/go-semantic-release.exe
|
||||||
|
compress: false
|
||||||
|
```
|
||||||
|
|
||||||
|
#### CommitFormat
|
||||||
|
|
||||||
|
Set the commit format, at the moment we support ony [angular](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit-message-format), more coming soon.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
commitFormat: angular
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Branch
|
||||||
|
|
||||||
|
You can define which kind of release should be created for different branches.
|
||||||
|
|
||||||
|
Supported release kinds:
|
||||||
|
|
||||||
|
* `release` -> `v1.0.0`
|
||||||
|
* `rc` -> `v1.0.0-rc.0`
|
||||||
|
* `beta` -> `v1.0.0-beta.0`
|
||||||
|
* `alpha` -> `v1.0.0-alpha.0`
|
||||||
|
|
||||||
|
Add a branch config to your config
|
||||||
|
|
||||||
|
```yml
|
||||||
|
branch:
|
||||||
|
<branch-name>: <kind>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Relase
|
||||||
|
|
||||||
|
At the moment we support releases to gitlab and github.
|
||||||
|
|
||||||
|
##### Github
|
||||||
|
|
||||||
|
```yml
|
||||||
|
release: 'github'
|
||||||
|
github:
|
||||||
|
user: "<user/group"
|
||||||
|
repo: "<repositroyname>"
|
||||||
|
## Optional, if your not using github.com
|
||||||
|
customURL: <https://your.github>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Gitlab
|
||||||
|
|
||||||
|
```yml
|
||||||
|
release: 'gitlab'
|
||||||
|
gitlab:
|
||||||
|
repo: "<repositroyname>" ## Example group/project
|
||||||
|
## Optional, if your not using gitlab.com
|
||||||
|
customURL: <https://your.gitlab>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Assets
|
||||||
|
|
||||||
|
You can upload assets to a release
|
||||||
|
|
||||||
|
Support for gitlab and github.
|
||||||
|
If you want, you can let the file be compressed before uploading
|
||||||
|
|
||||||
|
```yml
|
||||||
|
assets:
|
||||||
|
- name: ./build/go-semantic-release
|
||||||
|
compress: false
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Changelog
|
||||||
|
|
||||||
|
```yml
|
||||||
|
changelog:
|
||||||
|
printAll: false ## Print all valid commits to changelog
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Docker
|
||||||
|
|
||||||
|
You can print a help text for a docker image
|
||||||
|
|
||||||
|
```yml
|
||||||
|
changelog:
|
||||||
|
docker:
|
||||||
|
latest: false ## If you uploaded a latest image
|
||||||
|
repository: ## Your docker repository, which is used for docker run
|
||||||
|
```
|
||||||
|
|
||||||
|
### Version
|
||||||
|
|
||||||
|
`go-semantic-release` has two modes for calcualting the version: automatic or manual.
|
||||||
|
|
||||||
|
#### Automatic
|
||||||
|
|
||||||
|
Version will be calculated on the `next` or `release` command
|
||||||
|
|
||||||
|
#### Manual
|
||||||
|
|
||||||
|
If you don't want that `go-semantic-release` is calculating the version from the commits, you can set the version by hand with
|
||||||
|
following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./go-semantic-release set 1.1.1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Print version
|
||||||
|
|
||||||
|
Print the next version, can be used to add version to your program
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./go-semantic-release next
|
||||||
|
```
|
||||||
|
Example with go-lang
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go build -ldflags "--X main.version=`./go-semantic-release next`"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create release
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./go-semantic-release release
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Build
|
## Build from source
|
||||||
|
|
||||||
`go build ./cmd/go-semantic-release/`
|
```bash
|
||||||
|
go build ./cmd/go-semantic-release/
|
||||||
|
```
|
||||||
|
|
||||||
## Run
|
### Testing
|
||||||
|
|
||||||
Print the next version
|
```bash
|
||||||
|
go test ./...
|
||||||
|
```
|
||||||
|
|
||||||
`./go-semantic-release version next`
|
### Linting
|
||||||
|
|
||||||
Set a version
|
```
|
||||||
|
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0
|
||||||
`./go-semantic-release version set v1.1.1`
|
golangci-lint run ./...
|
||||||
|
```
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
go build ./cmd/main.go && ./main.exe version next --path /f/Repro/ambassador/
|
|
||||||
go build ./cmd/main.go && ./main.exe --loglevel debug version set v1.1.1 --path /f/Repro/ambassador/
|
|
||||||
@@ -11,7 +11,7 @@ func init() {
|
|||||||
|
|
||||||
var zipCmd = &cobra.Command{
|
var zipCmd = &cobra.Command{
|
||||||
Use: "zip",
|
Use: "zip",
|
||||||
Short: "Zip configured artifact from release config",
|
Short: "Zip configured artifact from release config (internal)",
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
config, err := cmd.Flags().GetString("config")
|
config, err := cmd.Flags().GetString("config")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -31,17 +31,34 @@ introduced by commit:
|
|||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
{{ if .HasDocker}}
|
||||||
|
## Docker image
|
||||||
|
|
||||||
|
New docker image is released under {{$.Backtick}}{{.DockerRepository}}:{{.Version}}{{$.Backtick}}
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
{{$.Backtick}}docker run {{.DockerRepository}}:{{.Version}}{{$.Backtick}}
|
||||||
|
{{ if .HasDockerLatest}}
|
||||||
|
or
|
||||||
|
|
||||||
|
{{$.Backtick}}docker run {{.DockerRepository}}:latest{{$.Backtick}}
|
||||||
|
{{ end -}}
|
||||||
|
{{ end -}}
|
||||||
`
|
`
|
||||||
|
|
||||||
type changelogContent struct {
|
type changelogContent struct {
|
||||||
Commits map[string][]shared.AnalyzedCommit
|
Commits map[string][]shared.AnalyzedCommit
|
||||||
BreakingChanges []shared.AnalyzedCommit
|
BreakingChanges []shared.AnalyzedCommit
|
||||||
Order []string
|
Order []string
|
||||||
Version string
|
Version string
|
||||||
Now time.Time
|
Now time.Time
|
||||||
Backtick string
|
Backtick string
|
||||||
HasURL bool
|
HasURL bool
|
||||||
URL string
|
URL string
|
||||||
|
HasDocker bool
|
||||||
|
HasDockerLatest bool
|
||||||
|
DockerRepository string
|
||||||
}
|
}
|
||||||
|
|
||||||
//Changelog struct
|
//Changelog struct
|
||||||
@@ -92,14 +109,17 @@ func (c *Changelog) GenerateChanglog(templateConfig shared.ChangelogTemplateConf
|
|||||||
}
|
}
|
||||||
|
|
||||||
changelogContent := changelogContent{
|
changelogContent := changelogContent{
|
||||||
Version: templateConfig.Version,
|
Version: templateConfig.Version,
|
||||||
Commits: commitsPerScope,
|
Commits: commitsPerScope,
|
||||||
Now: c.releaseTime,
|
Now: c.releaseTime,
|
||||||
BreakingChanges: commitsBreakingChange,
|
BreakingChanges: commitsBreakingChange,
|
||||||
Backtick: "`",
|
Backtick: "`",
|
||||||
Order: order,
|
Order: order,
|
||||||
HasURL: templateConfig.CommitURL != "",
|
HasURL: templateConfig.CommitURL != "",
|
||||||
URL: templateConfig.CommitURL,
|
URL: templateConfig.CommitURL,
|
||||||
|
HasDocker: c.config.Changelog.Docker.Repository != "",
|
||||||
|
HasDockerLatest: c.config.Changelog.Docker.Latest,
|
||||||
|
DockerRepository: c.config.Changelog.Docker.Repository,
|
||||||
}
|
}
|
||||||
|
|
||||||
title, err := generateTemplate(defaultChangelogTitle, changelogContent)
|
title, err := generateTemplate(defaultChangelogTitle, changelogContent)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package gitlab
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@@ -26,7 +25,6 @@ const GITLAB = "gitlab"
|
|||||||
// Client type struct
|
// Client type struct
|
||||||
type Client struct {
|
type Client struct {
|
||||||
config *config.GitLabProvider
|
config *config.GitLabProvider
|
||||||
context context.Context
|
|
||||||
client *http.Client
|
client *http.Client
|
||||||
baseURL string
|
baseURL string
|
||||||
apiURL string
|
apiURL string
|
||||||
@@ -36,8 +34,12 @@ type Client struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// New initialize a new gitlabRelease
|
// New initialize a new gitlabRelease
|
||||||
func New(config *config.GitLabProvider, accessToken string) (*Client, error) {
|
func New(config *config.GitLabProvider) (*Client, error) {
|
||||||
ctx := context.Background()
|
accessToken, err := util.GetAccessToken(fmt.Sprintf("%s_ACCESS_TOKEN", strings.ToUpper(GITLAB)))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
tokenHeader := util.NewAddHeaderTransport(nil, "PRIVATE-TOKEN", accessToken)
|
tokenHeader := util.NewAddHeaderTransport(nil, "PRIVATE-TOKEN", accessToken)
|
||||||
acceptHeader := util.NewAddHeaderTransport(tokenHeader, "Accept", "application/json")
|
acceptHeader := util.NewAddHeaderTransport(tokenHeader, "Accept", "application/json")
|
||||||
httpClient := &http.Client{
|
httpClient := &http.Client{
|
||||||
@@ -65,7 +67,6 @@ func New(config *config.GitLabProvider, accessToken string) (*Client, error) {
|
|||||||
return &Client{
|
return &Client{
|
||||||
token: accessToken,
|
token: accessToken,
|
||||||
config: config,
|
config: config,
|
||||||
context: ctx,
|
|
||||||
baseURL: config.CustomURL,
|
baseURL: config.CustomURL,
|
||||||
apiURL: config.CustomURL + "/api/v4",
|
apiURL: config.CustomURL + "/api/v4",
|
||||||
client: httpClient,
|
client: httpClient,
|
||||||
|
|||||||
@@ -20,47 +20,55 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestGetCommitURL(t *testing.T) {
|
func TestGetCommitURL(t *testing.T) {
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||||
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
client, err := gitlab.New(&config.GitLabProvider{
|
client, err := gitlab.New(&config.GitLabProvider{
|
||||||
CustomURL: "https://localhost/",
|
CustomURL: "https://localhost/",
|
||||||
Repo: "test/test",
|
Repo: "test/test",
|
||||||
}, "aToken")
|
})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, "https://localhost/test/test/commit/{{hash}}", client.GetCommitURL())
|
assert.Equal(t, "https://localhost/test/test/commit/{{hash}}", client.GetCommitURL())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetCompareURL(t *testing.T) {
|
func TestGetCompareURL(t *testing.T) {
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||||
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
client, err := gitlab.New(&config.GitLabProvider{
|
client, err := gitlab.New(&config.GitLabProvider{
|
||||||
CustomURL: "https://localhost/",
|
CustomURL: "https://localhost/",
|
||||||
Repo: "test/test",
|
Repo: "test/test",
|
||||||
}, "aToken")
|
})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, "https://localhost/test/test/compare/1.0.0...1.0.1", client.GetCompareURL("1.0.0", "1.0.1"))
|
assert.Equal(t, "https://localhost/test/test/compare/1.0.0...1.0.1", client.GetCompareURL("1.0.0", "1.0.1"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateConfig_EmptyRepro(t *testing.T) {
|
func TestValidateConfig_EmptyRepro(t *testing.T) {
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||||
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
_, err := gitlab.New(&config.GitLabProvider{
|
_, err := gitlab.New(&config.GitLabProvider{
|
||||||
CustomURL: "https://localhost/",
|
CustomURL: "https://localhost/",
|
||||||
}, "aToken")
|
})
|
||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateConfig_DefaultURL(t *testing.T) {
|
func TestValidateConfig_DefaultURL(t *testing.T) {
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||||
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
config := &config.GitLabProvider{
|
config := &config.GitLabProvider{
|
||||||
Repo: "localhost/test",
|
Repo: "localhost/test",
|
||||||
}
|
}
|
||||||
_, err := gitlab.New(config, "aToken")
|
_, err := gitlab.New(config)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, "https://gitlab.com", config.CustomURL)
|
assert.Equal(t, "https://gitlab.com", config.CustomURL)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateConfig_CustomURL(t *testing.T) {
|
func TestValidateConfig_CustomURL(t *testing.T) {
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||||
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
config := &config.GitLabProvider{
|
config := &config.GitLabProvider{
|
||||||
Repo: "/localhost/test/",
|
Repo: "/localhost/test/",
|
||||||
CustomURL: "https://localhost/",
|
CustomURL: "https://localhost/",
|
||||||
}
|
}
|
||||||
_, err := gitlab.New(config, "aToken")
|
_, err := gitlab.New(config)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, "https://localhost", config.CustomURL)
|
assert.Equal(t, "https://localhost", config.CustomURL)
|
||||||
assert.Equal(t, "localhost/test", config.Repo)
|
assert.Equal(t, "localhost/test", config.Repo)
|
||||||
@@ -181,8 +189,9 @@ func TestCreateRelease(t *testing.T) {
|
|||||||
if testObject.config.CustomURL == "" {
|
if testObject.config.CustomURL == "" {
|
||||||
testObject.config.CustomURL = testServer.URL
|
testObject.config.CustomURL = testServer.URL
|
||||||
}
|
}
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "aToken")
|
||||||
client, err := gitlab.New(&testObject.config, "aToken")
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
|
client, err := gitlab.New(&testObject.config)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = client.CreateRelease(testObject.releaseVersion, testObject.generatedChangelog)
|
err = client.CreateRelease(testObject.releaseVersion, testObject.generatedChangelog)
|
||||||
@@ -307,8 +316,9 @@ func TestUploadAssets(t *testing.T) {
|
|||||||
if testObject.config.CustomURL == "" {
|
if testObject.config.CustomURL == "" {
|
||||||
testObject.config.CustomURL = testServer.URL
|
testObject.config.CustomURL = testServer.URL
|
||||||
}
|
}
|
||||||
|
os.Setenv("GITLAB_ACCESS_TOKEN", "aToken")
|
||||||
client, err := gitlab.New(&testObject.config, "aToken")
|
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||||
|
client, err := gitlab.New(&testObject.config)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
client.Release = "1.0.0"
|
client.Release = "1.0.0"
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,9 @@ package releaser
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/Nightapes/go-semantic-release/internal/releaser/github"
|
"github.com/Nightapes/go-semantic-release/internal/releaser/github"
|
||||||
"github.com/Nightapes/go-semantic-release/internal/releaser/gitlab"
|
"github.com/Nightapes/go-semantic-release/internal/releaser/gitlab"
|
||||||
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
|
||||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||||
|
|
||||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||||
@@ -42,11 +40,7 @@ func (r *Releasers) GetReleaser() (Releaser, error) {
|
|||||||
return github.New(&r.config.GitHubProvider)
|
return github.New(&r.config.GitHubProvider)
|
||||||
case gitlab.GITLAB:
|
case gitlab.GITLAB:
|
||||||
log.Debugf("initialize new %s-provider", gitlab.GITLAB)
|
log.Debugf("initialize new %s-provider", gitlab.GITLAB)
|
||||||
accessToken, err := util.GetAccessToken(fmt.Sprintf("%s_ACCESS_TOKEN", strings.ToUpper(gitlab.GITLAB)))
|
return gitlab.New(&r.config.GitLabProvider)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return gitlab.New(&r.config.GitLabProvider, accessToken)
|
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf("could not initialize a releaser from this type: %s", r.config.Release)
|
return nil, fmt.Errorf("could not initialize a releaser from this type: %s", r.config.Release)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,23 @@ import (
|
|||||||
|
|
||||||
// ChangelogConfig struct
|
// ChangelogConfig struct
|
||||||
type ChangelogConfig struct {
|
type ChangelogConfig struct {
|
||||||
PrintAll bool `yaml:"printAll,omitempty"`
|
PrintAll bool `yaml:"printAll,omitempty"`
|
||||||
Template string `yaml:"template,omitempty"`
|
Template string `yaml:"template,omitempty"`
|
||||||
TemplatePath string `yaml:"templatePath,omitempty"`
|
TemplatePath string `yaml:"templatePath,omitempty"`
|
||||||
|
Docker ChangelogDocker `yaml:"docker,omitempty"`
|
||||||
|
NPM ChangelogNPM `yaml:"npm,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//ChangelogDocker type struct
|
||||||
|
type ChangelogDocker struct {
|
||||||
|
Latest bool `yaml:"latest"`
|
||||||
|
Repository string `yaml:"repository"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//ChangelogNPM type struct
|
||||||
|
type ChangelogNPM struct {
|
||||||
|
YARN bool `yaml:"latest"`
|
||||||
|
Repository string `yaml:"repository"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//Asset type struct
|
//Asset type struct
|
||||||
|
|||||||
Reference in New Issue
Block a user