refactor: make shareable components abstract
Metadata
Current evaluation
Merged after three approvals and passing CI checks. Refactored Rockcraft's pack action into abstract, shareable common modules to support future Node-based Craft Actions, modifying 13 files with a net code reduction.
Suggested action: —
No scores available.
Issue body
This PR prepares for the creation of other Node-based Craft Actions by refactoring the pieces of Rockcraft's pack action that seemed shareable out into "common" modules. I tried my best to keep the task focused and break up the commits, but frankly this was just a very loud PR. Sorry.
I made a temporary repository with two CI runs to validate this: https://github.com/bepri/test-actions/actions
The first run was the simplest case, just `rockcraft init` with a standard, optionless call to this action. The second run used an unmaintained base and customized many of the options.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after three approvals and passing CI checks. Refactored Rockcraft's pack action into abstract, shareable common modules to support future Node-based Craft Actions, modifying 13 files with a net code reduction. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a refactor extracting shareable components from Rockcraft's pack action into abstract common modules. This prepares the codebase for future Node-based Craft Actions, with changes validated via external CI testing. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #73 refactor: make rockcraft-pack follow new call conventions | craft-actions | merged | Merged after approvals and CI. Refactored rockcraft-pack to adopt new conventions: actions in dedicated directories, tests co-located, shared logic in common/. Updated 17 files. | |
| #354 refactor: use craft-application for "pack" | rockcraft | merged | Merged a refactor routing rockcraft pack to the new craft-application-based runner, resolving issue #316. The update spans 24 files with 935 additions and 40 deletions, received two approvals, and passed CI checks. | |
| #715 refactor: use craft-platform for the build plans | rockcraft | merged | Merged refactor to use craft-platform for build plans, creating a single source for Rockcraft and remote builds. Approved by two reviewers, resolving issue #698 with 31 additions and 3 deletions across five files. | |
| #1 rockcraft-pack: new action initializing repository | craft-actions | merged | Merged the rockcraft-pack GitHub Action for building ROCKs within workflows. Approved by two reviewers, the update adds 21 files and initializes the craft tools action collection. | |
| #395 refactor: merge feature/craft-application | rockcraft | merged | Merged feature/craft-application into main, completing Rockcraft's migration to craft-application 1.0.0. The refactoring modified 99 files, resolved multiple issues, and introduced breaking changes. Approved by two reviewers with passing CI. | |
| #316 Rebase "rockcraft pack" onto craft-application framework | rockcraft | closed | Merged via PR #354 into a feature branch. The rockcraft pack command was rebased onto the craft-application framework to reduce code duplication across craft tools. |