• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / go-config
87%

Build:
DEFAULT BRANCH: master
Repo Added 04 Dec 2025 09:06AM UTC
Token 28U7dhyYpWTBXnC8RgS24Vyduc5IZpLvc regen
Build 291 Last
Files 44
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
Sync Branches
  • master
  • bigbes/gh-10-govuncheck
  • bigbes/gh-11-pin-golangci-lint-version
  • bigbes/gh-15-rewrite-tests
  • bigbes/gh-26-invalid-yamls
  • bigbes/gh-28-autofetch-new-schemas
  • bigbes/gh-44-modified-literal
  • bigbes/gh-no-add-documentation
  • bigbes/gh-no-add-testing
  • bigbes/gh-no-env-scalar-coercion
  • bigbes/gh-no-fix-empty-scalar
  • bigbes/gh-no-fix-govulncheck
  • bigbes/gh-no-fix-maps-merging
  • bigbes/gh-no-fix-tarantool-order
  • bigbes/gh-no-jsonschema-subst-params
  • bigbes/gh-no-layered-effective-resolution
  • bigbes/gh-no-lazy-schema-loading
  • bigbes/gh-no-light-etcd-shim
  • bigbes/gh-no-mutable-marshal-fixes
  • bigbes/gh-no-struct-source
  • bigbes/gh-no-update-actions
  • bigbes/gh-no-update-go-storage
  • bigbes/gh-no-update-go-storage-deps
  • bigbes/gh-no-vulncheck-fix
  • bigbes/jsonschema-substitute-params
  • bigbes/release-v1.0.0
  • bigbes/release-v1.1.0
  • bigbes/release-v1.2.0
  • bigbes/release-v1.3.0
  • bigbes/release-v1.4.0
  • bigbes/tntp-5711-keypath
  • bigbes/tntp-5712-node
  • bigbes/tntp-5716-value-api
  • bigbes/tntp-5717-basic-collectors
  • bigbes/tntp-5718-merging-algo-v3
  • bigbes/tntp-5719-config-builder
  • bigbes/tntp-5721-scopes
  • bigbes/tntp-5722-jsonschema-validation-support
  • bigbes/tntp-5723-add-directory-collector
  • bigbes/tntp-5723-add-go-storage-source-v2
  • bigbes/tntp-5723-add-go-storage-source-v3
  • bigbes/tntp-5723-tarantool
  • bigbes/tntp-5723-tarantool-v2
  • bigbes/tntp-5724-delete-cascade
  • bigbes/tntp-5724-mutable
  • bigbes/tntp-5724-mutable-p1
  • bigbes/tntp-5724-snapshot
  • bigbes/tntp-5724-yaml-marshal
  • bigbes/tntp-7385-env-from-jsonschema
  • bigbes/tntp-7385-env-ignore
  • bigbes/tntp-7385-offline-json-schema
  • bigbes/tntp-7559-nil-in-builder-addcollector
  • bigbes/tntp-7586-better-sync-commit
  • bigbes/tntp-7660-config-validate
  • bigbes/tntp-7660-without-validation
  • mockird31/gh-no-parsing-empty-array
  • mockird31/gh-no-parsing-inline-structs
  • oleg-jukovec/gh-32-fix-empty-instances
  • oleg-jukovec/gh-34-fix-array-flag
  • oleg-jukovec/gh-36-remove-leader-inherbit
  • patapenka-alexey/tntp-5618-basic-ci
  • patapenka-alexey/tntp-572-file-yaml-collectors
  • patapenka-alexey/tntp-5720-file-yaml-collectors
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.2.0
  • refs/tags/v1.3.0
  • refs/tags/v1.4.0

28 Jul 2026 12:51PM UTC coverage: 87.258% (+0.1%) from 87.148%
30360773524

push

github

bigbes
jsonschema: schema-aware scalar coercion

Environment-variable collectors deliver every value as a string, so a
strict scalar schema such as {"type": "boolean"} rejects an override like
MYAPP_FLAG=true even though the typed decode would accept it. Consumers
had to widen every env-overridable scalar to a ["boolean", "string"]
union to work around this.

Add coerceScalars, a sibling of coerceNulls, that walks the validation
data alongside the schema and parses a string into the scalar type the
schema demands (boolean, integer or number), resolving $ref and
combinators via the existing helpers. A string is coerced only when the
schema does not also permit "string" and only when it parses; an
unparseable string is left unchanged so validation still reports a type
error. Like null coercion it rewrites the validation copy only, never the
config tree, whose decode already handles string scalars.

Wire it into Validator.Validate after null coercion and cover it with
tests for the bool string forms, integer/number strings, unparseable
strings, genuine string fields, unions, and nested/array locations.

40 of 40 new or added lines in 2 files covered. (100.0%)

4061 of 4654 relevant lines covered (87.26%)

94.52 hits per line

Relevant lines Covered
Build:
Build:
4654 RELEVANT LINES 4061 COVERED LINES
94.52 HITS PER LINE
Source Files on master
  • Tree
  • List 44
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
30360773524 master jsonschema: schema-aware scalar coercion Environment-variable collectors deliver every value as a string, so a strict scalar schema such as {"type": "boolean"} rejects an override like MYAPP_FLAG=true even though the typed decode would accept it.... push 28 Jul 2026 12:53PM UTC bigbes github
87.26
28597893372 master tree: generalize yaml tag parsing and restrict inline to structs Extract the yaml struct-tag splitter into internal/structtag as a convention-agnostic Parse(tag) -> (name, Options) helper, reused by decodeStruct. Restrict `,inline` flattening to... push 02 Jul 2026 02:30PM UTC bigbes github
87.15
28025821951 master jsonschema: schema-aware null coercion with configurable scalar policy With ToAny now yielding nil for empty values, validation needs to know the intended empty shape, which only the schema carries. Add a coercion pass (coerceNulls) run between T... push 23 Jun 2026 12:23PM UTC bigbes github
87.13
27195044128 master Release v1.4.0 push 09 Jun 2026 08:53AM UTC bigbes github
86.87
27193526546 master testutil: switch etcd helper to go-storage etcdtest Use go-storage's test_helpers/etcd package (added in v1.5.x) instead of go.etcd.io/etcd/tests/v3/framework/integration. The new helper is built on embed and avoids dragging the tests/v3 framewor... push 09 Jun 2026 08:25AM UTC bigbes github
86.87
27189335836 master tree: preserve slice held in an array node's Value The empty-array fix reordered nodeToValue to handle the array branch before the leaf check, building the result solely from node.Children(). That drops data for an array-marked leaf that carries ... push 09 Jun 2026 06:57AM UTC bigbes github
86.87
26569300420 master tarantool: embed new JSON Schemas Automated sync of Tarantool JSON Schemas. Added versions: 3.6.3, 3.5.2, 3.3.5. push 28 May 2026 10:31AM UTC bigbes github
86.88
26416729126 master config: align cross-loader MergeReplace and plug array footgun in mergeNodeValue Two follow-ups exposed by the new MergeDeep default. 1) accumulateLayerResult (cross-loader merger) had a special-case for MergeReplace that recursively merged m... push 25 May 2026 07:35PM UTC bigbes github
86.88
26288686435 master marshal: quote YAML 1.1 ambiguous string tokens on re-emit The style-preserving marshal path re-emitted scalars with their original style. go.yaml.in/yaml/v3 parses unquoted off/on/yes/no as plain !!str under the YAML 1.2 core schema, so a source... push 22 May 2026 12:49PM UTC bigbes github
86.94
26214572179 master Release v1.3.0 Promote the [Unreleased] block to [v1.3.0] - 2026-05-19, add the undocumented schema lazy-load (#57), source-precedence (#61), and JSON Schema error-message (#60) changes, and open a fresh [Unreleased] section. push 21 May 2026 08:26AM UTC bigbes github
86.45
See All Builds (289)

Badge your Repo: go-config

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc