From 50ef24900f037c8cd5f27080fa256fd54a9642b5 Mon Sep 17 00:00:00 2001 From: Andrew Nesbitt Date: Thu, 27 Aug 2026 14:43:06 +0100 Subject: [PATCH] Prepare v0.1.6 --- .github/workflows/ci.yml | 4 ++-- encode_test.go | 25 ++++++++++++++++++++++--- go.mod | 2 +- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33d2a4a..257f9ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: ['1.25'] + go-version: ['1.26'] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -41,7 +41,7 @@ jobs: - name: Set up Go uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: - go-version: '1.25' + go-version: '1.26' - name: golangci-lint uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9 diff --git a/encode_test.go b/encode_test.go index 40bb09c..90b5d80 100644 --- a/encode_test.go +++ b/encode_test.go @@ -61,13 +61,32 @@ func TestEncodeRoundTrip(t *testing.T) { if p.LicenseDeclared != want.LicenseDeclared { t.Errorf("LicenseDeclared = %q, want %q", p.LicenseDeclared, want.LicenseDeclared) } - if f == FormatCycloneDXJSON && !slices.Equal(p.Properties, want.Properties) { - t.Errorf("Properties = %#v, want %#v", p.Properties, want.Properties) - } }) } } +func TestEncodeCycloneDXPropertiesRoundTrip(t *testing.T) { + src := sampleSBOM() + var buf bytes.Buffer + if err := Encode(&buf, src, FormatCycloneDXJSON); err != nil { + t.Fatalf("Encode: %v", err) + } + out, err := Parse(buf.Bytes()) + if err != nil { + t.Fatalf("Parse: %v\n%s", err, buf.String()) + } + for i := range out.Packages { + if out.Packages[i].Name != "lodash" { + continue + } + if !slices.Equal(out.Packages[i].Properties, src.Packages[0].Properties) { + t.Errorf("Properties = %#v, want %#v", out.Packages[i].Properties, src.Packages[0].Properties) + } + return + } + t.Fatalf("lodash not round-tripped:\n%s", buf.String()) +} + func TestEncodeCycloneDXXML(t *testing.T) { var buf bytes.Buffer if err := Encode(&buf, sampleSBOM(), FormatCycloneDXXML); err != nil { diff --git a/go.mod b/go.mod index 569836f..d683f6e 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/git-pkgs/sbom -go 1.25.6 +go 1.26.7