Conversation
* Resolve production lint findings. Mark existing best-effort cleanup and transaction errors as intentionally ignored without changing their execution order or error-handling policy. Remove unused parameters and return values, ineffective assignments, redundant conversions, and an unreachable duplicate branch. Correct misspelled source comments. * Resolve test lint findings. Remove assignments whose values are overwritten before use. Assert errors from test file writes, and correct misspelled descriptions and variable names. * Enable additional golangci-lint checks. Enable ineffassign, misspell, nakedret, SA staticcheck checks except SA1019, and unconvert with read-only module resolution. Run golangci-lint 2.12.2 through the official GitHub Action. Keep make lint limited to invoking the installed binary and document the workflow. * Install the pinned golangci-lint version with Go. Restore make lint bootstrapping without executing a downloaded installation script.
MinIO archived the open-source Server and Client (mc) and stopped serving their binaries: every artifact under dl.min.io now returns HTTP 410 Gone. The s3_plugin_e2e test case downloads both, so it fails on the first curl. CI has not run since 2026-09-09, before the shutdown, so this has not gone red yet -- it breaks on the next run of that test case. Pin the final open-source releases from their GitHub release assets, which are still published, and verify each binary against the sha256sum MinIO publishes next to it. The previous code chmod +x'd an unverified download. Server RELEASE.2025-09-07T16-13-09Z, client RELEASE.2025-08-13T08-35-41Z. Both keep the minio/mc file names and the default minioadmin credentials, so the server startup, health probe and bucket setup are unchanged. The release/checksum values are plain shell variables rather than exported env: anything with a MINIO_ prefix would be read as configuration by the MinIO server started a few lines below.
Justin Mclean noted during the 2.2.0-rc1 IPMC vote that this NOTICE
carries the full Apache-2.0 boilerplate, and that NOTICE is reserved for
notifications that are legally required.
The text came from upstream: github.com/greenplum-db/gpbackup-archive ships a NOTICE whose
body is the VMware attribution followed by the Apache-2.0 grant
boilerplate, and the whole file was copied in when the code was donated.
Copying all of it is more than section 4(d) of the Apache License asks
for. It requires "the attribution notices contained within such NOTICE
file", not the file itself, and infra.apache.org/licensing-howto.html is
explicit that a bundled dependency's NOTICE "must be analyzed and the
relevant portions bubbled up", and that one should "keep NOTICE as brief
and simple as possible" and "not add anything to NOTICE which is not
legally required".
So keep the part that is an attribution notice:
This product includes software originally developed by VMware.
Greenplum Database Backup
Copyright 2017-Present VMware, Inc. or its affiliates. All Rights Reserved.
and drop the license grant, which is not one. The Apache-2.0 terms
continue to reach users through LICENSE and the source file headers,
which is where they belong.
Assisted-by: Claude Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cherry-pick the three commits that have landed on
mainsinceREL_2_STABLEwas last synced (which is also where
2.2.0-incubating-rc1is tagged).661c5babUpdate golangci-lint and resolve lint findings. (Update golangci-lint and resolve lint findings. #114)d0642705Fix s3_plugin_e2e: dl.min.io no longer serves MinIO binaries76e2b8a7Remove license text from NOTICEAll three apply without conflicts.
The NOTICE change is the reason this matters for the release: Justin Mclean
raised the NOTICE content during the 2.2.0-rc1 IPMC vote, and rc1 is tagged at
the current
REL_2_STABLEhead, so without this the same issue ships in rc2.The MinIO fix is also time-sensitive.
dl.min.ionow returns HTTP 410 forevery artifact, so the
s3_plugin_e2ejob breaks on its first curl the nexttime it runs on this branch.
One commit on
mainis deliberately not included:deeb0946("CI: pin Cloudberry branch to
REL_2_STABLE").CLOUDBERRY_REFis alreadyREL_2_STABLEhere, so the commit reduces to aTODO: switch back to main once Cloudberry 3.x stabilizes with PG16comment, which is amain-branch concernand does not belong on a 2.x release branch.
After this,
REL_2_STABLEandmaindiffer only in the two intentional CIdivergences: the workflow trigger list includes
REL_2_STABLE, and themain-only TODO comment above is absent.Verified locally on top of
REL_2_STABLE:go build ./...andgo vet ./...cleans3plugin and the gpbackman packages