Compare commits

...

2 commits

Author SHA1 Message Date
c4ee92e94f
chore: remove gitlab CI config
All checks were successful
/ linting (push) Successful in 31s
/ tests (push) Successful in 22s
2024-05-04 22:02:46 +02:00
1d4690fce1
chore: update golangci-lint conf 2024-05-04 22:01:57 +02:00
3 changed files with 1726 additions and 583 deletions

View file

@ -1,72 +0,0 @@
image: golang:latest
stages:
- test
- build
- release
variables:
GOPATH: "${CI_PROJECT_DIR}/.gocache"
GOLANGCI_LINT_CACHE: "${GOPATH}/golangci-lint_cache"
GOCACHE: "${GOPATH}/go-build"
.cache: &depscache
key: $CI_COMMIT_REF_SLUG
paths:
- $CI_PROJECT_DIR/.gocache
code_navigation:
stage: test
image: sourcegraph/lsif-go:latest
allow_failure: true # recommended
script:
- lsif-go --no-animation
- ls -lh dump.lsif
artifacts:
reports:
lsif: dump.lsif
lint:
stage: test
image: golangci/golangci-lint:latest
script:
- golangci-lint cache status
- golangci-lint run --timeout 5m --out-format junit-xml > lint.junit.xml
cache:
<<: *depscache
policy: pull-push
artifacts:
reports:
junit: lint.junit.xml
tests:
stage: test
script:
- export PATH="$PATH:$GOPATH/bin"
- go install gotest.tools/gotestsum@latest
- gotestsum --junitfile tests.junit.xml -- -coverprofile=coverage.txt -covermode atomic -race ./...
after_script:
- export PATH="$PATH:$GOPATH/bin"
- go install github.com/boumenot/gocover-cobertura@latest
- gocover-cobertura < coverage.txt > coverage.xml
- go tool cover -func=coverage.txt | grep "total:"
coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/'
cache:
<<: *depscache
policy: pull-push
artifacts:
reports:
cobertura: coverage.xml
junit: tests.junit.xml
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- |
release-cli create \
--name "${CI_COMMIT_TAG}" \
--tag-name "${CI_COMMIT_TAG}" \
--milestone "${CI_COMMIT_TAG}"

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
package conf
package conf_test
import (
"os"
@ -7,6 +7,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"code.bcarlin.xyz/go/conf"
)
type testconf struct {
@ -36,7 +38,7 @@ func TestLoadFile(t *testing.T) {
file := "test_data/valid.json"
err := LoadFile(file, &c)
err := conf.LoadFile(file, &c)
require.NoError(t, err)
assert.Equal(t, "config string", c.String)
@ -55,7 +57,7 @@ func TestLoadFile(t *testing.T) {
file := "test_data/invalid.json"
err := LoadFile(file, &c)
err := conf.LoadFile(file, &c)
require.Error(t, err)
assert.Equal(t, "default string", c.String)
@ -74,7 +76,7 @@ func TestLoadFile(t *testing.T) {
file := "does-not-exist.conf"
err := LoadFile(file, &c)
err := conf.LoadFile(file, &c)
require.Error(t, err)
assert.Equal(t, "default string", c.String)
@ -104,7 +106,7 @@ func TestLoadFiles(t *testing.T) {
err = os.WriteFile(paths[1], content2, 0o600)
require.NoError(t, err)
err = LoadFiles(&c, paths...)
err = conf.LoadFiles(&c, paths...)
require.NoError(t, err)
assert.Equal(t, "foo", c.String)
@ -129,7 +131,7 @@ func TestLoadFiles(t *testing.T) {
err = os.WriteFile(paths[1], content2, 0o600)
require.NoError(t, err)
err = LoadFiles(&c, paths...)
err = conf.LoadFiles(&c, paths...)
require.NoError(t, err)
assert.Equal(t, "bar", c.String)
@ -150,7 +152,7 @@ func TestLoadFiles(t *testing.T) {
err := os.WriteFile(paths[1], content2, 0o600)
require.NoError(t, err)
err = LoadFiles(&c, paths...)
err = conf.LoadFiles(&c, paths...)
require.NoError(t, err)
assert.Equal(t, "bar", c.String)
@ -174,7 +176,7 @@ func TestLoadFiles(t *testing.T) {
err = os.WriteFile(paths[1], content2, 0o600)
require.NoError(t, err)
err = LoadFiles(&c, paths...)
err = conf.LoadFiles(&c, paths...)
require.Error(t, err)
assert.Equal(t, "", c.String)
@ -195,7 +197,7 @@ func TestSaveFile(t *testing.T) {
tmpDir := t.TempDir()
file := filepath.Join(tmpDir, "test.conf")
err := SaveFile(file, &c)
err := conf.SaveFile(file, &c)
require.NoError(t, err)
assert.FileExists(t, file)
@ -212,7 +214,7 @@ func TestSaveFile(t *testing.T) {
tmpDir := t.TempDir()
file := filepath.Join(tmpDir, "test.conf")
err := SaveFile(file, func() error { return nil })
err := conf.SaveFile(file, func() error { return nil })
require.Error(t, err)
assert.NoFileExists(t, file)
@ -228,7 +230,7 @@ func TestSaveFile(t *testing.T) {
}
file := "cannot/write/here.conf"
err := SaveFile(file, &c)
err := conf.SaveFile(file, &c)
require.Error(t, err)
assert.NoFileExists(t, file)
@ -251,11 +253,11 @@ func TestLoadAndUpdateFile(t *testing.T) {
tmpDir := t.TempDir()
file := filepath.Join(tmpDir, "test.conf")
err := LoadAndUpdateFile(file, &c)
err := conf.LoadAndUpdateFile(file, &c)
require.NoError(t, err)
var c2 testconf
err = read(file, &c2)
err = conf.LoadFile(file, &c2)
require.NoError(t, err)
assert.Equal(t, c.String, c2.String)
assert.Equal(t, c.Int, c2.Int)
@ -277,7 +279,7 @@ func TestLoadAndUpdateFile(t *testing.T) {
tmpDir := t.TempDir()
file := filepath.Join(tmpDir, "does-not-exist", "test.conf")
err := LoadAndUpdateFile(file, &c)
err := conf.LoadAndUpdateFile(file, &c)
require.Error(t, err)
assert.NoFileExists(t, file)
@ -302,7 +304,7 @@ func TestLoadAndUpdateFile(t *testing.T) {
err := os.WriteFile(file, content, 0o644)
require.NoError(t, err)
err = LoadAndUpdateFile(file, &c)
err = conf.LoadAndUpdateFile(file, &c)
require.Error(t, err)
assert.False(t, updated)
@ -325,11 +327,11 @@ func TestLoadAndUpdateFile(t *testing.T) {
err := os.WriteFile(file, content, 0o644)
require.NoError(t, err)
err = LoadAndUpdateFile(file, &c)
err = conf.LoadAndUpdateFile(file, &c)
require.NoError(t, err)
var c2 testconf
err = read(file, &c2)
err = conf.LoadFile(file, &c2)
require.NoError(t, err)
assert.Equal(t, "config string", c2.String)
assert.Equal(t, 42, c2.Int)
@ -354,12 +356,13 @@ func TestLoadAndUpdateFile(t *testing.T) {
err := os.WriteFile(file, content, 0o644)
require.NoError(t, err)
err = LoadAndUpdateFile(file, &c)
err = conf.LoadAndUpdateFile(file, &c)
require.NoError(t, err)
newContent, err := os.ReadFile(file)
require.NoError(t, err)
assert.Contains(t, string(newContent), "Int")
assert.Contains(t, string(newContent), "Int") //nolint:usestdlibvars // not the constant here
assert.Contains(t, string(newContent), "Invariant")
assert.True(t, updated)
@ -382,7 +385,7 @@ func TestLoadAndUpdateFile(t *testing.T) {
err := os.WriteFile(file, content, 0o644)
require.NoError(t, err)
err = LoadAndUpdateFile(file, &c)
err = conf.LoadAndUpdateFile(file, &c)
require.NoError(t, err)
newContent, err := os.ReadFile(file)