From 44c8eeb5a62dd645f8ac2c6b9e29e8bcd957fa0f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 08:52:49 +0000 Subject: [PATCH] Bump code.cloudfoundry.org/clock from 1.88.0 to 1.89.0 Bumps [code.cloudfoundry.org/clock](https://github.com/cloudfoundry/clock) from 1.88.0 to 1.89.0. - [Release notes](https://github.com/cloudfoundry/clock/releases) - [Commits](https://github.com/cloudfoundry/clock/compare/v1.88.0...v1.89.0) --- updated-dependencies: - dependency-name: code.cloudfoundry.org/clock dependency-version: 1.89.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +- go.sum | 12 +- vendor/github.com/onsi/ginkgo/v2/.gitignore | 3 +- vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md | 16 ++ vendor/github.com/onsi/ginkgo/v2/README.md | 7 +- vendor/github.com/onsi/ginkgo/v2/RELEASING.md | 108 +++++++++--- .../onsi/ginkgo/v2/reporters/junit_report.go | 17 ++ .../onsi/ginkgo/v2/types/version.go | 2 +- vendor/github.com/onsi/gomega/.gitignore | 3 +- vendor/github.com/onsi/gomega/CHANGELOG.md | 14 ++ vendor/github.com/onsi/gomega/README.md | 7 +- vendor/github.com/onsi/gomega/RELEASING.md | 166 +++++++++++++++--- vendor/github.com/onsi/gomega/gomega_dsl.go | 2 +- vendor/modules.txt | 6 +- 14 files changed, 303 insertions(+), 66 deletions(-) diff --git a/go.mod b/go.mod index 094ed0c7..1617a8a1 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.26.2 require ( code.cloudfoundry.org/bbs v1.17.0 code.cloudfoundry.org/bbs/models v1.13.0 - code.cloudfoundry.org/clock v1.88.0 + code.cloudfoundry.org/clock v1.89.0 code.cloudfoundry.org/debugserver v0.115.0 code.cloudfoundry.org/diego-logging-client v0.125.0 code.cloudfoundry.org/lager/v3 v3.87.0 @@ -15,8 +15,8 @@ require ( code.cloudfoundry.org/workpool v0.0.0-20250911194158-1489753f182e github.com/cloudfoundry/dropsonde v1.1.0 github.com/lib/pq v1.12.3 - github.com/onsi/ginkgo/v2 v2.32.2 - github.com/onsi/gomega v1.43.0 + github.com/onsi/ginkgo/v2 v2.33.0 + github.com/onsi/gomega v1.43.1 github.com/tedsuo/ifrit v0.0.0-20260908181113-dd353a7daa27 ) diff --git a/go.sum b/go.sum index 3b01343f..bbfe9aef 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,8 @@ code.cloudfoundry.org/bbs/models v1.13.0 h1:rFnXwBUWT1PqeNI6/S/2RmIDa143apLu5KYz code.cloudfoundry.org/bbs/models v1.13.0/go.mod h1:58T80LLEoBX4Z76TbQIDr93xSTx5soZw1JJM7Mht1E4= code.cloudfoundry.org/cfhttp/v2 v2.94.0 h1:Ucka/FRAXCN5tgYbNpgqasZYs4C9ziintkLAKjIppbg= code.cloudfoundry.org/cfhttp/v2 v2.94.0/go.mod h1:q4ZmifScc5baTNZLHxDEGkxAr0oyxqJNJf94SgytFMc= -code.cloudfoundry.org/clock v1.88.0 h1:rlPCGl0D5fV9vjNl8ww+QS3ffvhRl+zoQdCdv+uHtFg= -code.cloudfoundry.org/clock v1.88.0/go.mod h1:XUG+XI/odMYn6y9rqSX4+PqSBHrJ3jD7UR5dBNnc7/o= +code.cloudfoundry.org/clock v1.89.0 h1:IZ8WWg+c/YDDxVVjJOv/Ct8UUf27GGJUrr8E4PxYQc4= +code.cloudfoundry.org/clock v1.89.0/go.mod h1:nShO3Ahms/V9MPWXfCAqWtJ39YOqI7K9IAKkAf8bb68= code.cloudfoundry.org/debugserver v0.115.0 h1:O8d5PcmxaHbFv5xLPef3zLX5cWCaIWkZT3JJKw+gfY8= code.cloudfoundry.org/debugserver v0.115.0/go.mod h1:qj/fULS0PGHWUlwOn2lWbLmMpOfY13aCRGT5+H5dnjY= code.cloudfoundry.org/diego-logging-client v0.125.0 h1:QrmUuWCk390+1vHAZLLAbc5UeDZPMYHGlKbKhOLfT+s= @@ -98,10 +98,10 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.32.2 h1:2o6vyFvR6snrJWgRVztC+OwuqqPEMI1UzYl2s2iU7Cg= -github.com/onsi/ginkgo/v2 v2.32.2/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= -github.com/onsi/gomega v1.43.0 h1:VlG/1FxqNxhSO+lq/OHBNaaqwiBK/mO8JbVkX9Y+FeU= -github.com/onsi/gomega v1.43.0/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= +github.com/onsi/ginkgo/v2 v2.33.0 h1:C8gBA6Uc2ZEubiV+SXiu5tZnMTwEmXHgkJwGozKtZf8= +github.com/onsi/ginkgo/v2 v2.33.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= +github.com/onsi/gomega v1.43.1 h1:vGIPFuYrIO6/0Z09s0I0QQQgFchiX4+tb1re3MScJYo= +github.com/onsi/gomega v1.43.1/go.mod h1:e/C2HwaZ1DhvjzXXuFhcR7hY7Sh9pl7MmoWKEjzwcdA= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= diff --git a/vendor/github.com/onsi/ginkgo/v2/.gitignore b/vendor/github.com/onsi/ginkgo/v2/.gitignore index c9f05462..54fe2bd1 100644 --- a/vendor/github.com/onsi/ginkgo/v2/.gitignore +++ b/vendor/github.com/onsi/ginkgo/v2/.gitignore @@ -6,4 +6,5 @@ integration/tmp_*/ .vscode .idea/ *.log -*.test \ No newline at end of file +*.test +/.release/ diff --git a/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md b/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md index 45fa5343..396f97ce 100644 --- a/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md +++ b/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md @@ -1,3 +1,19 @@ +## Unreleased + +### Features + +### Fixes + +### Maintenance + +## 2.33.0 + +### Features +- The JUnit reporter now records each spec's `ReportEntry`s as `` on its `` element, with the entry's name and its JSON-encoded value. Thanks @pohly! [23db51a] + +### Maintenance +- Releases are now cut by a GitHub Actions workflow (Actions -> Release -> Run workflow) rather than by hand, with changelog entries collected under `## Unreleased` as the work happens. See RELEASING.md. [8616ecb] + ## 2.32.2 ### Fixes diff --git a/vendor/github.com/onsi/ginkgo/v2/README.md b/vendor/github.com/onsi/ginkgo/v2/README.md index ad5e45f6..3d658346 100644 --- a/vendor/github.com/onsi/ginkgo/v2/README.md +++ b/vendor/github.com/onsi/ginkgo/v2/README.md @@ -1,6 +1,9 @@ -![Ginkgo](https://onsi.github.io/ginkgo/images/ginkgo.png) + + + Ginkgo + -[![test](https://github.com/onsi/ginkgo/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/onsi/ginkgo/actions?query=workflow%3Atest+branch%3Amaster) | [Ginkgo Docs](https://onsi.github.io/ginkgo/) +[![test](https://github.com/onsi/ginkgo/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/onsi/ginkgo/actions/workflows/test.yml?query=branch%3Amaster) [![Ginkgo Docs](docs/images/docs-badge.svg)](https://onsi.github.io/ginkgo/) [![Sponsor onsi](docs/images/sponsor-badge.svg)](https://github.com/sponsors/onsi) --- diff --git a/vendor/github.com/onsi/ginkgo/v2/RELEASING.md b/vendor/github.com/onsi/ginkgo/v2/RELEASING.md index 363815d7..559e7e52 100644 --- a/vendor/github.com/onsi/ginkgo/v2/RELEASING.md +++ b/vendor/github.com/onsi/ginkgo/v2/RELEASING.md @@ -1,23 +1,85 @@ -A Ginkgo release is a tagged git sha and a GitHub release. To cut a release: - -1. Ensure CHANGELOG.md is up to date. - - Use - ```bash - LAST_VERSION=$(git tag --sort=version:refname | tail -n1) - CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) - echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md - ``` - to update the changelog - - Categorize the changes into - - Breaking Changes (requires a major version) - - New Features (minor version) - - Fixes (fix version) - - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) -1. Update `VERSION` in `types/version.go` -1. Commit, push, and release: - ``` - git commit -m "vM.m.p" - git push - gh release create "vM.m.p" - git fetch --tags origin master - ``` \ No newline at end of file +# Releasing Ginkgo + +A release is one GitHub Actions run: **Actions → Release → Run workflow → bump: patch | minor**, +from `master`. From the command line: + +```bash +gh workflow run release.yml -f bump=patch # or -f bump=minor +``` + +The run: + +1. Runs the whole test workflow (`test.yml`). Nothing else happens unless it passes. +2. Runs `scripts/release.sh`, which + - computes the next version from `VERSION` in `types/version.go`, + - renames `## Unreleased` in `CHANGELOG.md` to `## X.Y.Z` (dropping empty `###` subsections) and + puts a fresh, empty `## Unreleased` above it, + - writes `VERSION` and stamps the version into every plugin manifest + (`plugins/*/.claude-plugin/plugin.json`), so the Claude Code plugin ships in lockstep, + - commits `vX.Y.Z` as `github-actions[bot]`, tags it `vX.Y.Z`, and pushes the commit and the tag + together (`git push --atomic`, fast-forward only), + - creates the GitHub release `vX.Y.Z`, whose notes are the body of `## X.Y.Z`. + +The Go module is released by the `vX.Y.Z` tag. There is no other release tooling. + +## The changelog + +`CHANGELOG.md` starts with an `## Unreleased` section: + +```markdown +## Unreleased + +### Features + +### Fixes + +### Maintenance + +## 2.32.2 +... +``` + +Add an entry under `## Unreleased` with each user-facing change, as you make it. Never edit a +released section. Empty subsections are dropped when the section is released, so leaving +`### Maintenance` empty costs nothing. + +If `## Unreleased` has no entries (only blank lines and `###` headings), the release stops before +changing anything — and so does a re-run after a successful release. + +To draft entries from the commits since the last release: + +```bash +git log --pretty=format:'- %s [%h]' "$(git tag --sort=version:refname | tail -n1)"..HEAD +``` + +Categorize what you keep into + +- Breaking changes (these need a major version, which this workflow does not cut) +- `### Features` (minor version) +- `### Fixes` (patch version) +- `### Maintenance` (in general, changes with no user impact don't belong in the changelog at all) + +## If a release fails + +Open the failed run and click **Re-run failed jobs**. A re-run checks out the same commit as the +first attempt and computes the same version. It resumes based on what already exists: + +| Where it failed | What a re-run does | +|---|---| +| Tests, or before the push | Nothing reached GitHub. The re-run starts over. | +| The push (master moved during the run) | The re-run fails the same way. Start a new run from the current master. | +| After the push (the tag `vX.Y.Z` is on GitHub) | The re-run builds from the tag instead of making a new commit. | +| Creating the GitHub release | The release is created, or its notes are refreshed if it already exists. | + +The commit and the tag are pushed together, so the tag being on GitHub means the release commit is +on master too. + +## Trying the release script locally + +`GINKGO_RELEASE_DRY_RUN=1 scripts/release.sh patch` does the whole release locally — the changelog +and version rewrites, the commit and the tag — then skips the push and the GitHub release. It still +checks `origin` for an existing tag, so run it in a throwaway clone whose `origin` is a local bare +repository, not in your working copy. + +The version and changelog logic lives in `scripts/release`, with its own Ginkgo suite +(`scripts/release/release_test.go`) that runs with the rest of the suites. diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go b/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go index d4720ee9..b7ef42c2 100644 --- a/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go @@ -11,6 +11,7 @@ The schema used for the generated JUnit xml file was adapted from https://llg.cu package reporters import ( + "encoding/json" "encoding/xml" "fmt" "maps" @@ -136,6 +137,8 @@ type JUnitTestCase struct { SystemOut string `xml:"system-out,omitempty"` //SystemOut maps onto any captured GinkgoWriter output - maps onto SpecReport.CapturedGinkgoWriterOutput SystemErr string `xml:"system-err,omitempty"` + //Properties captures any ReportEntries attached to the spec via AddReportEntry, as key/value pairs with the JSON dump of the value as value. + Properties *JUnitProperties `xml:"properties,omitempty"` } type JUnitSkipped struct { @@ -241,6 +244,20 @@ func GenerateJUnitReportWithConfig(report types.Report, dst string, config Junit if !config.OmitCapturedStdOutErr { test.SystemOut = systemOutForUnstructuredReporters(spec) } + if len(spec.ReportEntries) > 0 { + properties := JUnitProperties{} + for _, entry := range spec.ReportEntries { + value, err := json.Marshal(entry.GetRawValue()) + if err != nil { + value = []byte(fmt.Sprintf("%q", err.Error())) + } + properties.Properties = append(properties.Properties, JUnitProperty{ + Name: entry.Name, + Value: string(value), + }) + } + test.Properties = &properties + } suite.Tests += 1 switch spec.State { diff --git a/vendor/github.com/onsi/ginkgo/v2/types/version.go b/vendor/github.com/onsi/ginkgo/v2/types/version.go index a34f1f3a..9fb4938e 100644 --- a/vendor/github.com/onsi/ginkgo/v2/types/version.go +++ b/vendor/github.com/onsi/ginkgo/v2/types/version.go @@ -1,3 +1,3 @@ package types -const VERSION = "2.32.2" +const VERSION = "2.33.0" diff --git a/vendor/github.com/onsi/gomega/.gitignore b/vendor/github.com/onsi/gomega/.gitignore index 425d0a50..b3003b4e 100644 --- a/vendor/github.com/onsi/gomega/.gitignore +++ b/vendor/github.com/onsi/gomega/.gitignore @@ -4,4 +4,5 @@ .idea gomega.iml TODO -.vscode \ No newline at end of file +.vscode +/.release/ diff --git a/vendor/github.com/onsi/gomega/CHANGELOG.md b/vendor/github.com/onsi/gomega/CHANGELOG.md index 8f1d34e3..51239daf 100644 --- a/vendor/github.com/onsi/gomega/CHANGELOG.md +++ b/vendor/github.com/onsi/gomega/CHANGELOG.md @@ -1,3 +1,17 @@ +## Unreleased + +### Features + +### Fixes + +### Maintenance + +## 1.43.1 + +### Maintenance +- Update go.yaml.in/yaml/v3 to v3.0.5 [d547015] +- Releases are now cut by a GitHub Actions workflow (Actions -> Release -> Run workflow) rather than by hand, with changelog entries collected under `## Unreleased` as the work happens. Releases still ship the stripped-down tree on `master-lite` - tests removed and Ginkgo dropped from `go.mod` - and the workflow now builds it and checks it on every push. See RELEASING.md. [e9dc84d] + ## 1.43.0 ### Features diff --git a/vendor/github.com/onsi/gomega/README.md b/vendor/github.com/onsi/gomega/README.md index 6eb36fdf..ac545907 100644 --- a/vendor/github.com/onsi/gomega/README.md +++ b/vendor/github.com/onsi/gomega/README.md @@ -1,6 +1,9 @@ -![Gomega: Ginkgo's Preferred Matcher Library](http://onsi.github.io/gomega/images/gomega.png) + + + Gomega: Ginkgo's Preferred Matcher Library + -[![test](https://github.com/onsi/gomega/actions/workflows/test.yml/badge.svg)](https://github.com/onsi/gomega/actions/workflows/test.yml) +[![test](https://github.com/onsi/gomega/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/onsi/gomega/actions/workflows/test.yml?query=branch%3Amaster) [![Gomega Docs](docs/images/docs-badge.svg)](https://onsi.github.io/gomega/) [![Sponsor onsi](docs/images/sponsor-badge.svg)](https://github.com/sponsors/onsi) Jump straight to the [docs](http://onsi.github.io/gomega/) to learn about Gomega, including a list of [all available matchers](http://onsi.github.io/gomega/#provided-matchers). diff --git a/vendor/github.com/onsi/gomega/RELEASING.md b/vendor/github.com/onsi/gomega/RELEASING.md index 9973fff4..fdbeb37c 100644 --- a/vendor/github.com/onsi/gomega/RELEASING.md +++ b/vendor/github.com/onsi/gomega/RELEASING.md @@ -1,23 +1,143 @@ -A Gomega release is a tagged sha and a GitHub release. To cut a release: - -1. Ensure CHANGELOG.md is up to date. - - Use - ```bash - LAST_VERSION=$(git tag --sort=version:refname | tail -n1) - CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) - echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md - ``` - to update the changelog - - Categorize the changes into - - Breaking Changes (requires a major version) - - New Features (minor version) - - Fixes (fix version) - - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) -1. Update GOMEGA_VERSION in `gomega_dsl.go` -1. Commit, push, and release: - ``` - git commit -m "vM.m.p" - git push - gh release create "vM.m.p" - git fetch --tags origin master - ``` \ No newline at end of file +# Releasing Gomega + +A release is one GitHub Actions run: **Actions → Release → Run workflow → bump: patch | minor**, +from `master`. From the command line: + +```bash +gh workflow run release.yml -f bump=patch # or -f bump=minor +``` + +The run: + +1. Runs the whole test workflow (`test.yml`). Nothing else happens unless it passes. +2. Runs `scripts/release.sh`, which + - computes the next version from `GOMEGA_VERSION` in `gomega_dsl.go`, + - renames `## Unreleased` in `CHANGELOG.md` to `## X.Y.Z` (dropping empty `###` subsections) and + puts a fresh, empty `## Unreleased` above it, + - writes `GOMEGA_VERSION` and stamps the version into every plugin manifest + (`plugins/*/.claude-plugin/plugin.json`), so the Claude Code plugin ships in lockstep, + - commits that on `master` as `vX.Y.Z (full)`, as `github-actions[bot]`, + - builds the released tree on `master-lite` and tags **that** commit `vX.Y.Z` (see below), + - pushes `master`, `master-lite`, and the tag together (`git push --atomic`, fast-forward only), + - creates the GitHub release `vX.Y.Z`, whose notes are the body of `## X.Y.Z`. + +## master and master-lite + +Gomega uses Ginkgo for its own tests, and the go toolchain pulls a dependency's *test* dependencies +into consuming projects as indirect requirements — so a project that uses only Gomega would end up +with all of Ginkgo in its `go.mod`. Since 1.40.0, releases therefore ship a stripped-down tree: + +- `master` holds the real repository, tests and all. The release commit there is `vX.Y.Z (full)`, + and it is **not** what the go toolchain resolves. +- `master-lite` holds the released trees: the same tree with every `_test.go` file deleted and + `go.mod` re-tidied, which drops Ginkgo. `scripts/strip-tests.sh` does that, and asserts that the + result still builds and no longer requires Ginkgo. +- Each release adds one commit to `master-lite`: a merge whose tree is the stripped tree and whose + parents are the previous `master-lite` commit and the `vX.Y.Z (full)` commit on `master`. So + `master-lite`'s history connects to master's, and `git log master-lite` reads as the release + history. +- The `vX.Y.Z` tag is on that `master-lite` commit. It is what `go get github.com/onsi/gomega` + resolves, so `go build` never even sees the test files. + +The test workflow's **Check the released (lite) tree** job runs `scripts/strip-tests.sh` on every +push. If a non-test file ever imports Ginkgo, that job fails long before release day — the released +module could not be built otherwise. + +Release tags are not on `master`, so `git describe` on master does not find them. `GOMEGA_VERSION` +in `gomega_dsl.go` is the version of record, and `git tag --sort=version:refname | tail -n1` names +the latest release. + +If this release process ever causes unexpected changes for a project, please open an issue. + +### Never merge master-lite into master + +`master-lite` always looks ahead of `master`, because its newest commit merges master's release +commit. But its *tree* has the tests taken out, so merging or rebasing it back into master deletes +every `_test.go` file and drops Ginkgo from `go.mod` — cleanly, with no conflicts. GitHub's +"master-lite had recent pushes — Compare & pull request" banner is the one click to avoid. + +Nothing you do locally needs `master-lite`: the release workflow writes it from a fresh checkout. A +stale local `master-lite` branch is harmless, and you can delete it. + +`scripts/check-full-tree.sh` guards against a stripped master: it asserts that a checkout has +`_test.go` files and that `go.mod` requires Ginkgo. The test workflow runs it on every push and +`scripts/release.sh` runs it before cutting a release, so a stripped master gets reported plainly +instead of turning into a test run with nothing in it. + +### Cutting one release after another + +Work on master as usual between releases. The `vX.Y.Z (full)` commit the workflow pushed is an +ordinary commit: `git pull` fast-forwards onto it, it carries the released `CHANGELOG.md` and +`GOMEGA_VERSION`, and you add new `## Unreleased` entries above it. The next release repeats the +same two steps — a new `vX.Y.Z (full)` commit on master, and a new merge on `master-lite` whose +tree is the stripped version of it, carrying the tag. + +Nothing accumulates between releases, and nothing needs reconciling in either direction: each +`master-lite` commit's tree is built from the release commit rather than merged into the previous +one, so `git diff vX.Y.Z vX.Y.Z+1` over two releases shows only the real changes. + +## The changelog + +`CHANGELOG.md` starts with an `## Unreleased` section: + +```markdown +## Unreleased + +### Features + +### Fixes + +### Maintenance + +## 1.43.0 +... +``` + +Add an entry under `## Unreleased` with each user-facing change, as you make it. Never edit a +released section. Empty subsections are dropped when the section is released, so leaving +`### Maintenance` empty costs nothing. + +If `## Unreleased` has no entries (only blank lines and `###` headings), the release stops before +changing anything — and so does a re-run after a successful release. + +To draft entries from the commits since the last release: + +```bash +git log --pretty=format:'- %s [%h]' "$(git tag --sort=version:refname | tail -n1)"..HEAD +``` + +Categorize what you keep into + +- Breaking changes (these need a major version, which this workflow does not cut) +- `### Features` (minor version) +- `### Fixes` (patch version) +- `### Maintenance` (in general, changes with no user impact don't belong in the changelog at all) + +## If a release fails + +Open the failed run and click **Re-run failed jobs**. A re-run checks out the same commit as the +first attempt and computes the same version. It resumes based on what already exists: + +| Where it failed | What a re-run does | +|---|---| +| Tests, or before the push | Nothing reached GitHub. The re-run starts over. | +| The push (master or master-lite moved during the run) | The re-run fails the same way. Start a new run from the current master. | +| After the push (the tag `vX.Y.Z` is on GitHub) | The re-run builds from the tag instead of making new commits. | +| Creating the GitHub release | The release is created, or its notes are refreshed if it already exists. | + +Both branches and the tag are pushed together, so the tag being on GitHub means both release +commits are there too. + +## Trying the release script locally + +`GOMEGA_RELEASE_DRY_RUN=1 scripts/release.sh patch` does the whole release locally — the changelog +and version rewrites, the `master` commit, the stripped `master-lite` commit and the tag on it — +then skips the push and the GitHub release. It still checks `origin` for an existing tag and needs +`origin/master-lite`, so run it in a throwaway clone whose `origin` is a local bare repository, not +in your working copy. + +`scripts/strip-tests.sh` rewrites the working tree in place, so run *it* only on a throwaway +checkout too. + +The version and changelog logic lives in `scripts/release`, with its own Ginkgo suite +(`scripts/release/release_test.go`) that runs with the rest of the suites. diff --git a/vendor/github.com/onsi/gomega/gomega_dsl.go b/vendor/github.com/onsi/gomega/gomega_dsl.go index 3206e05d..dd1511f2 100644 --- a/vendor/github.com/onsi/gomega/gomega_dsl.go +++ b/vendor/github.com/onsi/gomega/gomega_dsl.go @@ -22,7 +22,7 @@ import ( "github.com/onsi/gomega/types" ) -const GOMEGA_VERSION = "1.43.0" +const GOMEGA_VERSION = "1.43.1" const nilGomegaPanic = `You are trying to make an assertion, but haven't registered Gomega's fail handler. If you're using Ginkgo then you probably forgot to put your assertion in an It(). diff --git a/vendor/modules.txt b/vendor/modules.txt index a55bd7f4..21b6f55a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -18,7 +18,7 @@ code.cloudfoundry.org/bbs/models/test/model_helpers # code.cloudfoundry.org/cfhttp/v2 v2.94.0 ## explicit; go 1.25.0 code.cloudfoundry.org/cfhttp/v2 -# code.cloudfoundry.org/clock v1.88.0 +# code.cloudfoundry.org/clock v1.89.0 ## explicit; go 1.26.0 code.cloudfoundry.org/clock # code.cloudfoundry.org/debugserver v0.115.0 @@ -140,7 +140,7 @@ github.com/mailru/easyjson/jwriter # github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d ## explicit github.com/nu7hatch/gouuid -# github.com/onsi/ginkgo/v2 v2.32.2 +# github.com/onsi/ginkgo/v2 v2.33.0 ## explicit; go 1.25.0 github.com/onsi/ginkgo/v2 github.com/onsi/ginkgo/v2/config @@ -164,7 +164,7 @@ github.com/onsi/ginkgo/v2/internal/reporters github.com/onsi/ginkgo/v2/internal/testingtproxy github.com/onsi/ginkgo/v2/reporters github.com/onsi/ginkgo/v2/types -# github.com/onsi/gomega v1.43.0 +# github.com/onsi/gomega v1.43.1 ## explicit; go 1.25.0 github.com/onsi/gomega github.com/onsi/gomega/format