← Back to issue list

refactor: make shareable components abstract

View original Github issue

Metadata

Project
craft-actions
Number
#61
Type
pull request
State
merged
Author
bepri
Labels
Created
Updated
Closed

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.
82%
#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.
76%
#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.
73%
#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.
72%
#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.
72%
#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.
72%