1
0
Fork 0
mirror of https://github.com/imjasonh/apidiff-action synced 2026-07-06 22:52:43 +00:00
Commit graph

94 commits

Author SHA1 Message Date
Jason Hall
e6fd309a7b
fix: skip hooks when updating dist in CI
- Add --no-verify to skip pre-commit hooks
- Prevents ESLint errors from blocking dist updates
2025-07-30 10:13:15 -04:00
Jason Hall
5479fe6adc
feat: add update-dist workflow for automatic dist updates
- Runs on PRs to automatically update dist if needed
- Can also be triggered manually via workflow_dispatch
- Only runs on PRs from the same repo (not forks)
2025-07-30 10:10:33 -04:00
Jason Hall
f9e2109299
feat: add check-dist workflow based on actions/javascript-action
- Uses exact same approach as official GitHub template
- References .node-version file for consistency
- Uses standard git diff options
2025-07-30 10:08:38 -04:00
Jason Hall
2dc724bd9b
fix: remove check-dist workflow and add contributing guide
- The check-dist workflow has OS-specific build differences
- Add CONTRIBUTING.md to document the build process
- Developers must manually run 'npm run build' before committing
2025-07-30 10:01:03 -04:00
Jason Hall
36bb228576
fix: use more aggressive whitespace ignoring in check-dist
- Ignore all whitespace differences to handle OS-specific formatting
- This prevents false positives from macOS vs Ubuntu build differences
2025-07-30 09:58:47 -04:00
Jason Hall
b91371174f
refactor: simplify dist management to match GitHub Actions template
- Remove pre-commit hooks for building/checking dist
- Add check-dist.yml workflow that validates dist in CI
- This matches the approach used by actions/javascript-action
- Eliminates OS-specific build differences affecting commits
2025-07-30 09:53:16 -04:00
Jason Hall
c8230cc936
fix: make pre-commit scripts work in CI without nvm
- Check if already on Node 20 before trying to use nvm
- This fixes CI where nvm is not available but Node 20 is already set
2025-07-30 09:35:56 -04:00
Jason Hall
113224a225
fix: ensure pre-commit hooks use Node 20
- Create dedicated scripts for pre-commit hooks that source nvm
- Ensure dist is always built with Node 20 to match CI environment
- This prevents Node version mismatches between local and CI builds
2025-07-30 09:32:45 -04:00
Jason Hall
051f997977
Enforce Node 20 in pre-commit hooks
- Add Node version check to build-dist pre-commit hook
- Create helper script to switch to Node 20
- Update documentation with clear instructions
- Fix YAML syntax in pre-commit config

This ensures dist is always built with Node 20, preventing CI failures
due to version mismatches.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 09:22:44 -04:00
Jason Hall
f2b49d3bf2
Remove automated build workflow, require local builds
- Remove build-dist.yml workflow
- Update documentation to clarify local build requirement
- Keep pre-commit hooks to ensure dist is always up to date

This ensures developers build dist locally with the correct Node version
before committing, which is checked by CI.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 09:17:40 -04:00
Jason Hall
9f05344e16
Configure Node.js v20 for local development
- Add .node-version and .nvmrc files specifying Node 20.9.0
- Add engines field to package.json requiring Node 20
- Re-enable dist build/check hooks in pre-commit
- Add build-dist workflow for automated builds with Node 20
- Update documentation with Node version requirements

This ensures consistent builds between local development and CI.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 09:13:03 -04:00
Jason Hall
1cabe34a14
Standardize on Node.js v20 and disable dist checks
- Keep action.yml using node20 (GitHub Actions supported version)
- Document requirement to use Node v20 for development
- Disable pre-commit dist build/check hooks since output varies between Node versions
- Update CLAUDE.md with Node version requirements

This ensures consistency between local development and CI.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 09:02:24 -04:00
Jason Hall
4fb67b86d5
Re-enable check-dist hook now that dist/ is committed 2025-07-30 08:56:03 -04:00
Jason Hall
25b3f0a37e
Prepare to commit dist/index.js
- Remove dist/ from .gitignore
- Exclude dist/ from pre-commit hooks
- Exclude *.md from prettier formatting
- Update CLAUDE.md with build documentation
- Temporarily disable check-dist hook

This prepares for committing the compiled dist/index.js file.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 08:55:35 -04:00
Jason Hall
a627281753
Remove release workflow (#10)
The release workflow is not needed when creating releases through
GitHub's UI. The workflow was failing because:

1. Creating a release in GitHub UI automatically creates the tag
2. The tag creation triggers the workflow
3. The workflow tries to create a release that already exists

Since releases are being created manually through the UI, this
workflow adds no value and only causes confusion with failures.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-30 12:45:42 +00:00
Jason Hall
75baff3043
Add CLAUDE.md for Claude Code guidance (#9)
This file provides essential guidance for future Claude instances working
on this repository, including:

- Common development commands
- High-level architecture overview
- Testing structure and local testing instructions
- Build process details
- Key design decisions

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-30 12:40:39 +00:00
Jason Hall
ca7b01f792
Merge pull request #8 from imjasonh/exclude-package-lock-from-json-formatting
Exclude package-lock.json from pretty-format-json hook
2025-07-30 08:31:00 -04:00
Jason Hall
796d4dde5c
Exclude package-lock.json from pretty-format-json hook
This prevents Dependabot PRs from failing CI due to package-lock.json
formatting differences. The file is auto-generated by npm and its exact
formatting is not important as long as it's valid JSON.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 08:29:39 -04:00
Jason Hall
9ad9e36f2c
Merge pull request #6 from imjasonh/dependabot/npm_and_yarn/development-dependencies-648a19f458
Bump the development-dependencies group with 6 updates
2025-07-30 08:28:14 -04:00
Jason Hall
b52db364a6
Fix package-lock.json formatting for pre-commit hooks 2025-07-30 08:26:52 -04:00
Jason Hall
abe2cb62d2
Merge pull request #7 from imjasonh/setup-husky-hooks
Set up husky pre-commit hooks
2025-07-29 18:06:23 -04:00
Jason Hall
deed53e7b8
Add husky pre-commit hook
- Runs lint-staged for automatic formatting of JS/JSON/YAML
- Runs pre-commit for all validation checks
- Ensures code quality before commits reach the repository
- Prevents CI failures due to formatting issues
2025-07-29 18:05:10 -04:00
dependabot[bot]
06055fb27b
Bump the development-dependencies group with 6 updates
Bumps the development-dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `9.32.0` |
| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | `9.1.2` | `10.1.8` |
| [husky](https://github.com/typicode/husky) | `8.0.3` | `9.1.7` |
| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.5` |
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `16.1.2` |


Updates `eslint` from 8.57.1 to 9.32.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.1...v9.32.0)

Updates `eslint-config-prettier` from 9.1.2 to 10.1.8
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/commits/v10.1.8)

Updates `husky` from 8.0.3 to 9.1.7
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v8.0.3...v9.1.7)

Updates `jest` from 29.7.0 to 30.0.5
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.0.5/packages/jest)

Updates `@types/jest` from 29.5.14 to 30.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

Updates `lint-staged` from 15.5.2 to 16.1.2
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v15.5.2...v16.1.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.32.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: eslint-config-prettier
  dependency-version: 10.1.8
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: husky
  dependency-version: 9.1.7
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: jest
  dependency-version: 30.0.5
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: "@types/jest"
  dependency-version: 30.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: lint-staged
  dependency-version: 16.1.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 22:03:33 +00:00
Jason Hall
3d82cf94dd
Merge pull request #5 from imjasonh/add-dependabot
Add Dependabot configuration
2025-07-29 18:02:05 -04:00
Jason Hall
f47f0ff743
Fix formatting in dependabot.yml
- Apply prettier formatting (single quotes)
- Add newline at end of file
2025-07-29 18:00:34 -04:00
Jason Hall
3d17f2e7e8
Add Dependabot configuration
- Enable automatic dependency updates for npm packages
- Enable automatic updates for GitHub Actions
- Group updates to reduce PR noise:
  - Production dependencies in one group
  - Development dependencies in another group
  - All GitHub Actions updates grouped together
- Schedule weekly checks on Mondays
2025-07-29 17:55:14 -04:00
Jason Hall
c6b0ae7b48
Merge pull request #4 from imjasonh/imjasonh-patch-1
Update README.md
2025-07-29 17:41:54 -04:00
Jason Hall
c464ce8241
Update README.md 2025-07-29 17:41:16 -04:00
Jason Hall
6a27c8d063
Merge pull request #2 from imjasonh/convert-to-action
Convert to apidiff-action GitHub Action
2025-07-29 17:35:16 -04:00
Jason Hall
f9bedf8b44
Use pre-commit action in CI
- Replace individual lint/test/build steps with pre-commit action
- Ensures CI runs exactly the same checks as local development
- Includes dist up-to-date check via pre-commit hooks
2025-07-29 17:21:43 -04:00
Jason Hall
805c061497
Fix lint errors and formatting
- Remove unused variables
- Add .eslintignore to exclude dist/
- Apply prettier formatting
- Fix all pre-commit hook issues
2025-07-29 17:07:15 -04:00
Jason Hall
e3eca548b6
Fix apidiff path handling for export files
Use relative paths when comparing export files
2025-07-29 17:04:28 -04:00
Jason Hall
99351e17cb
Fix apidiff export path handling
Use relative paths when creating export files in subdirectories
2025-07-29 17:00:26 -04:00
Jason Hall
d05e5461cf
Merge main and resolve conflicts
Keep Node.js-based configuration for both CI and pre-commit
2025-07-29 16:44:48 -04:00
Jason Hall
b92e3a611c
Transform to apidiff-action GitHub Action
- Remove all Go code and replace with Node.js GitHub Action
- Use official golang.org/x/exp/cmd/apidiff tool
- Add PR comment functionality
- Support both git refs and directory comparisons
- Add comprehensive test suite with testdata examples
- Update CI to test action with breaking/safe/clean examples

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 16:33:49 -04:00
Jason Hall
e99c464ef3
Merge pull request #1 from imjasonh/add-ci-cd
Simplify CI workflow to use pre-commit action
2025-07-29 15:05:05 -04:00
Jason Hall
24ccbeb042
Remove golangci config to support v2
golangci-lint v2.3.0 works best with default configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 15:01:40 -04:00
Jason Hall
986abe49b3
Fix CI: Install goimports and add golangci-lint to pre-commit
- Add goimports installation to CI workflow
- Add golangci-lint to pre-commit hooks
- Fix deprecated golangci-lint config options (gomnd→mnd, check-shadowing→shadow)
- Remove duplicate issues section in golangci.yml

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 14:54:53 -04:00
Jason Hall
23799581ad
Simplify CI workflow to use pre-commit action 2025-07-29 14:47:09 -04:00
Jason Hall
37ea620324
Add CI/CD setup with pre-commit hooks and GitHub Actions
- Add pre-commit configuration for code quality checks
- Set up GitHub Actions for CI with test, lint, and build jobs
- Add golangci-lint configuration
- Create Makefile for common development tasks
- Update README with development instructions
- Fix code formatting issues

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 14:38:27 -04:00
Jason Hall
abf9339c2d
Merge branch 'main' of https://github.com/imjasonh/goapidiff 2025-07-29 10:26:36 -04:00
Jason Hall
8c8f02a168
Fix README formatting 2025-07-29 10:26:25 -04:00
Jason Hall
449d0c57e6
Initial commit of goapidiff
A Go tool that analyzes API changes between two versions and reports breaking changes.

Features:
- Detects breaking API changes in Go code
- Compares git refs or directories
- Ignores internal/ packages by default
- Multiple output formats: text, JSON, markdown
- CI-friendly exit codes

Built on top of golang.org/x/exp/apidiff which provides the core API analysis.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 10:25:22 -04:00
Jason Hall
4accceced1
Initial commit 2025-07-29 10:24:36 -04:00