Skip to content

chore: pre-release cleanup and workflow optimization for v1.12.0#53

Merged
erraggy merged 1 commit intomainfrom
chore/prep-release-v1.12.0
Nov 29, 2025
Merged

chore: pre-release cleanup and workflow optimization for v1.12.0#53
erraggy merged 1 commit intomainfrom
chore/prep-release-v1.12.0

Conversation

@erraggy
Copy link
Copy Markdown
Owner

@erraggy erraggy commented Nov 29, 2025

Summary

This PR prepares the repository for the v1.12.0 release by cleaning up misplaced files, adding GitHub Copilot support, and fixing the failing race-test workflow.

Changes

1. Benchmark Files Cleanup

  • Removed duplicate benchmark files from root directory:
    • benchmark-comparison-v1.9.12.txt (duplicate of benchmarks/benchmark-comparison-v1.9.12.txt)
    • benchmark-v1.9.10.txt (duplicate of benchmarks/benchmark-v1.9.10.txt)
    • benchmark-v1.9.12.txt (duplicate of benchmarks/benchmark-v1.9.12.txt)
  • Removed temporary benchmark files:
    • benchmark-baseline.txt
    • benchmark-20251128-171330.txt
  • Result: All benchmark files from v1.9.10 forward are now properly organized in the benchmarks/ directory

2. GitHub Copilot Integration

  • Added .github/copilot-instructions.md based on CLAUDE.md
  • Ensures consistent AI assistance whether using Claude Code or GitHub Copilot
  • Contains project overview, architecture, testing requirements, and API design philosophy

3. Workflow Cleanup

  • Removed .github/workflows/claude-code-review.yml (replaced by native GitHub Copilot PR reviews)

4. CI Performance Optimization and Race-Test Fix

  • Enabled Go module and build caching in all GitHub Actions workflows:
    • .github/workflows/go-race.yml
    • .github/workflows/go.yml
    • .github/workflows/golangci-lint.yml
  • Added cache: true to actions/setup-go@v6 in each workflow

Problem Solved

The race-test workflow was consistently failing with exit code 143 (SIGTERM), indicating a timeout. Investigation revealed:

  1. Root Cause: The workflow timeout (30 minutes) was being exceeded because:

    • Go modules were downloaded fresh on every run (~1-2 minutes)
    • No build cache was available
    • Combined with race detection's 2-20x slowdown, total time exceeded 30 minutes
  2. Solution: Enabled Go module and build caching via cache: true in actions/setup-go@v6

  3. Expected Impact:

    • First run: Downloads and caches dependencies (~1-2 minutes overhead)
    • Subsequent runs: Uses cached modules (seconds instead of minutes)
    • Race-test workflow should complete well under 30 minutes
  4. Local Verification: Ran race tests locally with -race -timeout=20m -parallel=4 flags - all tests passed in ~3 minutes with no race conditions detected.

Testing

  • ✅ Verified all benchmark files exist in benchmarks/ directory
  • ✅ Ran go test -race -timeout=20m -parallel=4 ./... locally - all tests pass
  • ✅ Confirmed .github/copilot-instructions.md contains complete project guidance
  • ✅ No code changes - only file organization and CI configuration

Related Issues

Part of v1.12.0 release preparation (includes builder package from PR #52)

🤖 Generated with Claude Code

This commit prepares the repository for the v1.12.0 release by cleaning up
misplaced files, adding GitHub Copilot support, and fixing CI workflow issues.

Changes:
- Remove duplicate benchmark files from root directory (already in benchmarks/)
- Remove temporary benchmark files (benchmark-baseline.txt, benchmark-20251128-171330.txt)
- Add .github/copilot-instructions.md for GitHub Copilot integration
- Remove .github/workflows/claude-code-review.yml (replaced by native Copilot PR reviews)
- Enable Go module caching in all GitHub Actions workflows (go-race.yml, go.yml, golangci-lint.yml)

The race-test workflow was failing with exit code 143 (timeout) because Go modules
were being downloaded fresh on every run. Enabling cache: true in actions/setup-go@v6
resolves this by caching both downloaded modules and build artifacts, reducing CI time
and preventing timeouts.

All benchmark files from v1.9.10 forward are now properly organized in the
benchmarks/ directory (backfilled in PR #48).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings November 29, 2025 05:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the repository for v1.12.0 release by cleaning up misplaced benchmark files, adding GitHub Copilot integration, removing an obsolete workflow, and optimizing CI performance through caching.

  • Removes duplicate benchmark files from root directory that already exist in benchmarks/
  • Removes temporary benchmark files that should be gitignored
  • Adds .github/copilot-instructions.md to provide GitHub Copilot with project context
  • Removes claude-code-review.yml workflow (replaced by native GitHub Copilot)
  • Enables Go module and build caching in CI workflows to improve performance

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
benchmark-v1.9.12.txt Removed duplicate from root (proper copy exists in benchmarks/)
benchmark-v1.9.10.txt Removed duplicate from root (proper copy exists in benchmarks/)
benchmark-comparison-v1.9.12.txt Removed comparison file (should be gitignored, not committed)
.github/copilot-instructions.md Added GitHub Copilot guidance based on CLAUDE.md
.github/workflows/claude-code-review.yml Removed workflow replaced by native GitHub Copilot
.github/workflows/golangci-lint.yml Added cache: true to speed up CI
.github/workflows/go.yml Added cache: true to speed up CI
.github/workflows/go-race.yml Added cache: true to fix timeout issues

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.52%. Comparing base (b5dd575) to head (2f1f747).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #53   +/-   ##
=======================================
  Coverage   66.52%   66.52%           
=======================================
  Files          42       42           
  Lines        7795     7795           
=======================================
  Hits         5186     5186           
  Misses       2070     2070           
  Partials      539      539           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@erraggy erraggy added this to the v1.12.0 milestone Nov 29, 2025
@erraggy erraggy self-assigned this Nov 29, 2025
@erraggy erraggy merged commit ca7332b into main Nov 29, 2025
13 of 14 checks passed
@erraggy erraggy deleted the chore/prep-release-v1.12.0 branch November 29, 2025 05:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants