You've already forked dcmerge
Compare commits
1 Commits
master
...
96007dc289
Author | SHA1 | Date | |
---|---|---|---|
96007dc289
|
@@ -1,4 +1,4 @@
|
|||||||
name: "Run Golang tests"
|
name: Golang Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -6,27 +6,9 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches: [ '**' ]
|
branches: [ '**' ]
|
||||||
tags-ignore: [ '**' ]
|
tags-ignore: [ '**' ]
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# integration-test:
|
unittest:
|
||||||
# name: "Run integration tests"
|
|
||||||
# runs-on: ${{ matrix.os }}
|
|
||||||
# strategy:
|
|
||||||
# matrix:
|
|
||||||
# go: [ stable ]
|
|
||||||
# os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
|
|
||||||
# steps:
|
|
||||||
# - uses: actions/checkout@v4.3.0
|
|
||||||
# - uses: actions/setup-go@v5.5.0
|
|
||||||
# with:
|
|
||||||
# go-version: ${{ matrix.go }}
|
|
||||||
# - env:
|
|
||||||
# GOPROXY: ${{ vars.GOPROXY }}
|
|
||||||
# run: make test/integration
|
|
||||||
|
|
||||||
unit-test:
|
|
||||||
name: "Run unit tests"
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -34,7 +16,7 @@ jobs:
|
|||||||
os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
|
os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5.0.0
|
- uses: actions/checkout@v5.0.0
|
||||||
- uses: actions/setup-go@v6.0.0
|
- uses: actions/setup-go@v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ matrix.go }}
|
go-version: ${{ matrix.go }}
|
||||||
- env:
|
- env:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
name: "Lint Golang files"
|
name: Golang CI lint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -6,14 +6,12 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches: [ '**' ]
|
branches: [ '**' ]
|
||||||
tags-ignore: [ '**' ]
|
tags-ignore: [ '**' ]
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
golangci:
|
golangci:
|
||||||
name: "Run golang CI linter"
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -21,9 +19,9 @@ jobs:
|
|||||||
os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
|
os: [ ubuntu-latest-amd64, ubuntu-latest-arm64 ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5.0.0
|
- uses: actions/checkout@v5.0.0
|
||||||
- uses: actions/setup-go@v6.0.0
|
- uses: actions/setup-go@v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ matrix.go }}
|
go-version: ${{ matrix.go }}
|
||||||
- uses: golangci/golangci-lint-action@v8.0.0
|
- uses: golangci/golangci-lint-action@v8.0.0
|
||||||
with:
|
with:
|
||||||
version: v2.5.0 # renovate: datasource=github-releases depName=golangci/golangci-lint
|
version: v2.1
|
@@ -1,4 +1,4 @@
|
|||||||
name: "Lint Markdown files"
|
name: 'Lint Markdown files'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -6,14 +6,13 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches: [ '*' ]
|
branches: [ '*' ]
|
||||||
tags-ignore: [ '*' ]
|
tags-ignore: [ '*' ]
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
markdown-lint:
|
markdown-lint:
|
||||||
name: "Run markdown linter"
|
runs-on:
|
||||||
runs-on: ubuntu-latest
|
- ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5.0.0
|
- uses: actions/checkout@v5.0.0
|
||||||
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
||||||
with:
|
with:
|
||||||
globs: '**/*.md'
|
globs: '**/*.md'
|
@@ -1,4 +1,4 @@
|
|||||||
name: "Release"
|
name: Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -9,15 +9,15 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
name: "Release application"
|
runs-on:
|
||||||
runs-on: ubuntu-latest
|
- ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5.0.0
|
- uses: actions/checkout@v5.0.0
|
||||||
- uses: docker/setup-qemu-action@v3.6.0
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
- uses: actions/setup-go@v6.0.0
|
- uses: actions/setup-go@v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: stable
|
go-version: stable
|
||||||
- uses: docker/login-action@v3.6.0
|
- uses: docker/login-action@v3.5.0
|
||||||
with:
|
with:
|
||||||
registry: git.cryptic.systems
|
registry: git.cryptic.systems
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
@@ -26,13 +26,12 @@ jobs:
|
|||||||
GITEA_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
GITEA_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
GONOSUMDB: ${{ vars.GONOSUMDB }}
|
GONOSUMDB: ${{ vars.GONOSUMDB }}
|
||||||
GOPROXY: ${{ vars.GOPROXY }}
|
GOPROXY: ${{ vars.GOPROXY }}
|
||||||
uses: goreleaser/goreleaser-action@v6.4.0
|
uses: goreleaser/goreleaser-action@v6.3.0
|
||||||
with:
|
with:
|
||||||
version: v2.12.5 # renovate: datasource=github-releases depName=goreleaser/goreleaser
|
version: "~> v2"
|
||||||
args: release --clean
|
args: release --clean
|
||||||
|
|
||||||
sync-to-hub-docker-io:
|
sync-to-hub-docker-io:
|
||||||
name: "Upload Images to docker.io"
|
|
||||||
needs:
|
needs:
|
||||||
- release
|
- release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
name: "Update Docker Hub Description"
|
name: Update Docker Hub Description
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -8,12 +8,13 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-description-on-hub-docker-io:
|
update-description-on-hub-docker-io:
|
||||||
runs-on: ubuntu-latest
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5.0.0
|
- uses: actions/checkout@v5.0.0
|
||||||
- uses: peter-evans/dockerhub-description@v5.0.0
|
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||||
repository: volkerraschek/dcmerge
|
repository: volkerraschek/dcmerge
|
||||||
readme-filepath: README.md
|
readme-filepath: README.md
|
@@ -1,13 +0,0 @@
|
|||||||
version: "2"
|
|
||||||
linters:
|
|
||||||
default: standard
|
|
||||||
enable:
|
|
||||||
- errname
|
|
||||||
- gosec
|
|
||||||
|
|
||||||
exclusions:
|
|
||||||
rules: []
|
|
||||||
warn-unused: true
|
|
||||||
|
|
||||||
run:
|
|
||||||
tests: true
|
|
@@ -90,13 +90,11 @@ func run(cmd *cobra.Command, args []string) error {
|
|||||||
|
|
||||||
switch {
|
switch {
|
||||||
case len(outputFile) > 0:
|
case len(outputFile) > 0:
|
||||||
// #nosec G301
|
|
||||||
err = os.MkdirAll(filepath.Dir(outputFile), 0755)
|
err = os.MkdirAll(filepath.Dir(outputFile), 0755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// #nosec G304
|
|
||||||
f, err := os.Create(outputFile)
|
f, err := os.Create(outputFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
6
go.mod
6
go.mod
@@ -3,8 +3,8 @@ module git.cryptic.systems/volker.raschek/dcmerge
|
|||||||
go 1.20
|
go 1.20
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/spf13/cobra v1.10.1
|
github.com/spf13/cobra v1.9.1
|
||||||
github.com/stretchr/testify v1.11.1
|
github.com/stretchr/testify v1.10.0
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -12,5 +12,5 @@ require (
|
|||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.9 // indirect
|
github.com/spf13/pflag v1.0.6 // indirect
|
||||||
)
|
)
|
||||||
|
12
go.sum
12
go.sum
@@ -6,12 +6,12 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf
|
|||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
|
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||||
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
|
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||||
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
|
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||||
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
@@ -43,7 +43,7 @@ func Fetch(urls ...string) ([]*dockerCompose.Config, error) {
|
|||||||
return dockerComposeConfigs, nil
|
return dockerComposeConfigs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var ErrPathIsDir error = errors.New("path is a directory")
|
var ErrorPathIsDir error = errors.New("path is a directory")
|
||||||
|
|
||||||
func getDockerComposeViaHTTP(url string) (*dockerCompose.Config, error) {
|
func getDockerComposeViaHTTP(url string) (*dockerCompose.Config, error) {
|
||||||
req, err := http.NewRequest(http.MethodGet, url, nil)
|
req, err := http.NewRequest(http.MethodGet, url, nil)
|
||||||
@@ -78,10 +78,9 @@ func readDockerComposeFromFile(name string) (*dockerCompose.Config, error) {
|
|||||||
case err != nil:
|
case err != nil:
|
||||||
return nil, err
|
return nil, err
|
||||||
case fileStat.IsDir():
|
case fileStat.IsDir():
|
||||||
return nil, fmt.Errorf("%w: %s", ErrPathIsDir, name)
|
return nil, fmt.Errorf("%w: %s", ErrorPathIsDir, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// #nosec G304
|
|
||||||
file, err := os.Open(name)
|
file, err := os.Open(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Reference in New Issue
Block a user