From ebedf6303a673f884dedc74f579b0b08ae32b193 Mon Sep 17 00:00:00 2001 From: dipto0321 Date: Fri, 3 Jul 2026 12:30:51 +0600 Subject: [PATCH] docs: ci/release tooling doc-accuracy batch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four bundled fixes from issue #69: - CONTRIBUTING.md dropped a bogus CoGitto status check from the CI matrix and corrected the count to 9. - CONTRIBUTING.md corrected make ci description: tidy fmt vet lint test in that order, with a warning that fmt rewrites the tree. - .goreleaser.yaml, .github/workflows/release.yml, and docs/release-checklist.md all claimed 6 binaries; actual is 5 (linux/windows/darwin × amd64/arm64 minus windows/arm64) + checksums.txt. - .github/workflows/ci.yml renamed coverage.txt to coverage.out to match the documented make test output. Closes #69 --- .github/workflows/ci.yml | 4 ++-- .github/workflows/release.yml | 3 ++- .goreleaser.yaml | 6 ++++-- CHANGELOG.md | 21 +++++++++++++++++++++ CONTRIBUTING.md | 13 ++++++++----- docs/release-checklist.md | 2 +- 6 files changed, 38 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 601a055..cdcdd2b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -100,7 +100,7 @@ jobs: shell: bash run: | go test -race \ - -coverprofile coverage.txt \ + -coverprofile coverage.out \ -covermode atomic \ ./... @@ -108,7 +108,7 @@ jobs: if: matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v4 with: - file: coverage.txt + file: coverage.out flags: unittests fail_ci_if_error: false env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1507329..a36ae4b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,8 @@ # 1. Checkout at full depth so GoReleaser can read every commit. # 2. Set up Go with the same version pin as CI. # 3. Run `goreleaser release --clean` which: -# - Builds all 6 platform binaries (linux/darwin/windows × amd64/arm64) +# - Builds all 5 platform binaries (linux/darwin/windows × amd64/arm64, +# minus the windows/arm64 entry that's excluded in .goreleaser.yaml) # - Generates SHA256 checksums # - Creates a GitHub Release with an auto-generated changelog # - Pushes to the homebrew-tap repo (if HOMEBREW_TAP_TOKEN is set) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 4874d12..6ac18d7 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -6,13 +6,15 @@ # SCOOP_BUCKET_TOKEN — provided by GitHub Actions (per-repo secret) # # Outputs: -# - 6 single-binary archives in dist/: +# - 5 single-binary archives in dist/ (windows/arm64 is intentionally +# excluded by the builds[].ignore block — add later if demanded): # nodeup__linux_amd64.tar.gz # nodeup__linux_arm64.tar.gz # nodeup__darwin_amd64.tar.gz # nodeup__darwin_arm64.tar.gz # nodeup__windows_amd64.zip -# - checksums.txt with SHA256 for every artifact +# - checksums.txt with SHA256 for every artifact (the 6th release +# file, but it's a checksums manifest, not a binary) # - A GitHub Release titled `v` with changelog and all artifacts # - A homebrew formula pushed to github.com/dipto0321/homebrew-tap # - A scoop manifest pushed to github.com/dipto0321/scoop-bucket diff --git a/CHANGELOG.md b/CHANGELOG.md index 037f4c5..dbae87e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -709,6 +709,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 dead `confirm := true` / `_ = confirm` lines in `cleanup.go` and the `_ = yes` line in `upgrade.go` flagged in #61 had already been removed by #76 / PR #95. Closes #61. +- Bundled CI/release tooling doc-accuracy fixes from issue #69: + `CONTRIBUTING.md` claimed a 10-check matrix including a + nonexistent "CoGitto status check" (contradicting its own + later "Sign-off (future)" section, which correctly notes + CoGitto-style enforcement is "not required today"). Dropped + the bogus check and corrected the matrix count to 9 (5 + builds + 1 lint + 3 OS tests). The same paragraph's + description of `make ci` was wrong (omitted `fmt`, misstated + order); now correctly states `tidy fmt vet lint test` and + warns that `fmt` rewrites the working tree in place. The + `make ci` description in `CLAUDE.md` was already correct and + is unchanged. `.goreleaser.yaml`, `.github/workflows/release.yml`, + and `docs/release-checklist.md` all claimed "6 binaries" + attached — the actual matrix (linux/windows/darwin × + amd64/arm64, minus the documented `windows/arm64` exclusion) + produces 5 archives + checksums.txt; all three are corrected + to say "5 binaries + checksums.txt." `.github/workflows/ci.yml` + was uploading `coverage.txt` to Codecov while the documented + `make test` produces `coverage.out`; renamed to `coverage.out` + so a contributor running the documented `make test` sees the + same filename CI consumes. Closes #69. ## [0.0.0] - 2024-07-01 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e6117f..c13b2a3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,11 +73,10 @@ config.manager= explicitly, or omit the key for auto-detect. commitlint rules. 3. **Fill in `.github/PULL_REQUEST_TEMPLATE.md`.** The Type-of-change checklist maps to the SemVer bump. -4. **CI must be green.** Same 10-check matrix as `main`: +4. **CI must be green.** Same 9-check matrix as `main`: - 5 builds (linux/darwin × amd64/arm64 + windows/amd64) - 1 lint (golangci-lint + commitlint) - 3 OS tests (ubuntu/macos/windows) - - 1 CoGitto status check 5. **Squash-merge with the source branch deleted** — same as PRs #1–#10. 6. **No force-pushes after review.** Force-pushes during authoring are fine (use `--force-with-lease`). @@ -107,9 +106,13 @@ go test ./internal/detector/... go test ./internal/detector/... -run TestNvm ``` -`make ci` runs `tidy`, `vet`, `test`, and `golangci-lint run`. There is -no separate "docs regen" step — docs are pure markdown and updated by -hand in PRs. +`make ci` runs `tidy fmt vet lint test` (in that order). The `fmt` +step rewrites Go files in place (`gofmt -s -w .` + `goimports -w .`), +so run it on a clean tree or be ready to commit the rewrites — a +contributor who only read the previous version of this paragraph +wouldn't expect `make ci` to mutate their working tree. There is +no separate "docs regen" step — docs are pure markdown and updated +by hand in PRs. ## Issue etiquette diff --git a/docs/release-checklist.md b/docs/release-checklist.md index 9fadff8..19af970 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -34,7 +34,7 @@ git push origin vX.Y.Z ## Post-tag (release.yml fires automatically) - [ ] GitHub Release visible at /releases/tag/vX.Y.Z -- [ ] All 6 binaries attached + checksums.txt +- [ ] All 5 binaries attached + checksums.txt - [ ] Homebrew formula pushed to `dipto0321/homebrew-tap` - [ ] Scoop manifest pushed to `dipto0321/scoop-bucket` - [ ] npm wrapper published to the npm registry (see below)