jenkins-pipeline-shared-libraries/vars/buildChain.groovy (10 lines of code) (raw):

/* * It gets buildChain verion from composite action.yml file */ def getBuildChainVersionFromCompositeActionFile(String actionFilePath = '.ci/actions/build-chain/action.yml', String usesContainingString = 'github-action-build-chain@') { def actionObject = readYaml(file: actionFilePath) def uses = actionObject.runs.steps.uses def action = uses != null ? uses.find({ it.contains(usesContainingString) }) : null if (action == null) { throw new RuntimeException("There's not steps with 'uses' for build-chain ${usesContainingString}") } def buildChainScmRevision = action.substring(action.indexOf('@') + 1) return "^${buildChainScmRevision}" }