The current implementation of the loading custom actions from jobs..steps[*].uses only supports tags as action reference. We need to upgrade the action loader to handle tags, branches and commits for better system flexibility and compatibility with GitHub actions.
jobs.<job_id>.steps[*].uses is passed as a source to the getActionDirectory method. The reference is parsed using parseRepoRef and assumed to be a tag.
Desired Behaviour:
The function should be able to identify if the given ref from parseRepoRef is a tag, branch, or commit ID.
Act accordingly based on the type of reference detected using dagger client instead of this assumption
Tasks:
Modify the getActionDirectory function to detect the type of ref (tag, branch, or commit).
Handle each type of reference accordingly and fetch the relevant directory.
Extend unit tests to cover the new reference types.
Description
The current implementation of the loading custom actions from jobs..steps[*].uses only supports
tags
as action reference. We need to upgrade the action loader to handle tags, branches and commits for better system flexibility and compatibility with GitHub actions.Current Behaviour:
Core logic happening in getActionDirectory method
jobs.<job_id>.steps[*].uses
is passed as asource
to thegetActionDirectory
method. The reference is parsed usingparseRepoRef
and assumed to be a tag.Desired Behaviour:
Tasks: