fix: make final CI check always run and fail if dependencies fail#344
Merged
fix: make final CI check always run and fail if dependencies fail#344
Conversation
When using --hk-pkl-root with a local path, the migrate command generates local imports (e.g., import "/path/to/pkl/Builtins.pkl") rather than package URLs (e.g., import "package://github.com/jdx/hk"). The test was incorrectly expecting a package URL even when passing a local pkl root path. This fixes the assertion to check for the correct local import format. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
The final check was getting skipped when dependencies were skipped, which allowed PRs to be merged even when CI hadn't fully run. Changes: - Add `if: always()` to ensure the final check always runs - Check the result of each dependent job and fail if any didn't succeed - Add build job to dependencies for completeness This ensures the final check is always a reliable gate for merging. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Merged
jdx
added a commit
that referenced
this pull request
Oct 5, 2025
## [1.17.0](https://github.com/jdx/hk/compare/v1.16.0..v1.17.0) - 2025-10-05 ### 🚀 Features - Add hk util trailing-whitespace command by [@jdx](https://github.com/jdx) in [#319](#319) - add mixed_line_ending builtin by [@jdx](https://github.com/jdx) in [#324](#324) - add check_symlinks builtin by [@jdx](https://github.com/jdx) in [#326](#326) - add check_executables_have_shebangs builtin by [@jdx](https://github.com/jdx) in [#325](#325) - Add check-merge-conflict util command and builtin by [@jdx](https://github.com/jdx) in [#322](#322) - add check_case_conflict builtin by [@jdx](https://github.com/jdx) in [#323](#323) - add detect_private_key builtin by [@jdx](https://github.com/jdx) in [#332](#332) - add check_added_large_files builtin by [@jdx](https://github.com/jdx) in [#329](#329) - add python_debug_statements builtin by [@jdx](https://github.com/jdx) in [#331](#331) - add python_check_ast builtin by [@jdx](https://github.com/jdx) in [#330](#330) - add no_commit_to_branch builtin by [@jdx](https://github.com/jdx) in [#333](#333) - add check_byte_order_marker and fix_byte_order_marker builtins by [@jdx](https://github.com/jdx) in [#328](#328) - add regex pattern support for glob and exclude by [@jdx](https://github.com/jdx) in [#336](#336) - automatically batch large file lists to prevent ARG_MAX errors by [@jdx](https://github.com/jdx) in [#338](#338) ### 🐛 Bug Fixes - Add validation for stage attribute requiring fix command by [@jdx](https://github.com/jdx) in [#327](#327) - display stderr when check_list_files returns empty list by [@jdx](https://github.com/jdx) in [#334](#334) - added new builtins to Builtins.pkl by [@jdx](https://github.com/jdx) in [b8a2b17](b8a2b17) - enable experimental settings in mise.toml for swift support by [@jdx](https://github.com/jdx) in [#342](#342) - correct airflow migration test to expect local imports by [@jdx](https://github.com/jdx) in [#343](#343) - make final CI check always run and fail if dependencies fail by [@jdx](https://github.com/jdx) in [#344](#344) - add ruff format to ruff builtin by [@jdx](https://github.com/jdx) in [#340](#340) ### 🚜 Refactor - Split util module into separate files by [@jdx](https://github.com/jdx) in [#321](#321) ### 🛡️ Security - migrate pre-commit by [@jdx](https://github.com/jdx) in [#318](#318) ### 🔍 Other Changes - split CI runs into parallel jobs and add docs-sync mise task by [@jdx](https://github.com/jdx) in [#337](#337) - remove v0 pkl files from docs/public by [@jdx](https://github.com/jdx) in [#341](#341) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Release 1.17.0 with new migrate command, many util subcommands, refreshed docs, and dependency updates. > > - **Version**: bump `hk` to `1.17.0` (Cargo.toml, usage specs, docs). > - **CLI**: > - **New Command**: `migrate pre-commit` with flags (`--config`, `--output`, `--force`, `--hk-pkl-root`). > - **Util Subcommands**: add `check-added-large-files`, `check-byte-order-marker`, `fix-byte-order-marker`, `check-case-conflict`, `check-executables-have-shebangs`, `check-merge-conflict`, `check-symlinks`, `detect-private-key`, `end-of-file-fixer`, `mixed-line-ending`, `no-commit-to-branch`, `python-check-ast`, `python-debug-statements`, `trailing-whitespace`. > - **Docs**: > - Update `docs/cli/index.md`, regenerate `docs/cli/commands.json`, and `hk.usage.kdl`. > - Split `util` docs into per-command pages and add `migrate` docs. > - **Dependencies**: update `Cargo.lock` crate versions and set `hk` crate version to `1.17.0`. > - **Changelog**: add `CHANGELOG.md` entry for `1.17.0` with features/bug fixes. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 75b972a. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: mise-en-dev <[email protected]>
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.
Summary
Fixes the
finalcheck in ci.yml to always run and properly gate PR merges, preventing PRs from being merged when CI jobs are skipped.Problem
The
finalcheck was usingneeds:withoutif: always(), which meant:Solution
if: always()to ensure the final check always runsbuildjob to the dependencies for completenessNow the final check will:
Test plan
The workflow change will be tested by CI itself. The final check should:
🤖 Generated with Claude Code
Note
Updates
finalCI job to always run and explicitly fail if any dependency (includingbuild) did not succeed..github/workflows/ci.yml):if: always()tofinaljob to ensure it always executes.buildinneedsdependencies.needs.<job>.resultforbuild,ci-libgit2,ci-nolibgit2,ci-other, andmsrv; exits with non-zero if any are notsuccess.Written by Cursor Bugbot for commit 14401ad. This will update automatically on new commits. Configure here.