Add linting stage.

This commit is contained in:
2025-11-15 13:05:00 -08:00
parent 3135c18d95
commit a5b7727c8f
5 changed files with 27 additions and 4 deletions

View File

@@ -33,10 +33,26 @@ jobs:
command: go build ./... command: go build ./...
- store_test_results: - store_test_results:
path: /tmp/test-reports path: /tmp/test-reports
lint:
docker:
- image: golangci/golangci-lint:v2.6.2-alpine
steps:
- checkout
- run: golangci-lint run
test:
docker:
# We use golang:bookworm instead of golang:alpine because we want to run
# tests with the race detector enabled. The race detector requires glibc,
# which is only present in the Debian-based containers.
- image: golang:1.25-bookworm
working_directory: ~/repo
steps:
- checkout
- run: go test -v -race ./...
# Invoke jobs via workflows # Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows # See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows: workflows:
testbuild: testbuild:
jobs: jobs:
- testbuild - testbuild
- lint

View File

@@ -99,7 +99,11 @@ func init() {
panic(err.Error()) panic(err.Error())
} }
n = int64(binary.LittleEndian.Uint64(buf[:])) // G115: Intentional uint64->int64 conversion. Overflow is acceptable here
// since math/rand.NewSource accepts any int64 value (positive or negative)
// as a valid seed. The conversion ensures uniform distribution across the
// entire int64 range.
n = int64(binary.LittleEndian.Uint64(buf[:])) // #nosec G115
src := mrand.NewSource(n) src := mrand.NewSource(n)
prng = mrand.New(src) prng = mrand.New(src)

View File

@@ -44,7 +44,7 @@ func TestSetup(t *testing.T) {
} }
} }
// Ensure that tries incremenets as expected. // Ensure that tries increments as expected.
func TestTries(t *testing.T) { func TestTries(t *testing.T) {
b := NewWithoutJitter(5, 1) b := NewWithoutJitter(5, 1)

View File

@@ -1,3 +1,6 @@
This project is an exploration into the utility of Jetbrains' Junie
to write smaller but tedious programs.
Task: build a certificate bundling tool in cmd/cert-bundler. It Task: build a certificate bundling tool in cmd/cert-bundler. It
creates archives of certificates chains. creates archives of certificates chains.

View File

@@ -23,7 +23,7 @@ func Example() {
map[string]string{"when": time.Now().String()}) map[string]string{"when": time.Now().String()})
} }
func ExampleNewFromFile() { func ExampleNewSplitFile() {
flog, err := logging.NewSplitFile("example.log", "example.err", true) flog, err := logging.NewSplitFile("example.log", "example.err", true)
if err != nil { if err != nil {
log.Fatal("filelog", "failed to open logger", log.Fatal("filelog", "failed to open logger",