@catladder/pipeline
Version:
Panter workflow for cloud CI/CD and DevOps
55 lines (54 loc) • 1.88 kB
JavaScript
;
var __read = this && this.__read || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} catch (error) {
e = {
error: error
};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getBuildInfoVariables = exports.ALL_BUILD_VARIABLES = void 0;
var BashExpression_1 = require("../bash/BashExpression");
var bashExpressionPerPipelineType_1 = require("../bash/bashExpressionPerPipelineType");
var BUILD_VARIABLES = {
BUILD_INFO_BUILD_ID: {
default: new BashExpression_1.BashExpression("$(git describe --tags 2>/dev/null || git rev-parse HEAD)")
},
BUILD_INFO_BUILD_TIME: {
default: "unknown-build-time",
gitlab: new BashExpression_1.BashExpression("$CI_JOB_STARTED_AT")
},
BUILD_INFO_CURRENT_VERSION: {
default: new BashExpression_1.BashExpression(
// because we do shallow fetch, we need to ask the origin
"$(tag=$(git ls-remote origin \"refs/tags/v*[0-9]\" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z \"$tag\" ] && echo \"0.0.0\" || echo \"$tag\")")
}
};
exports.ALL_BUILD_VARIABLES = Object.keys(BUILD_VARIABLES);
var getBuildInfoVariables = function (ctx) {
var pipelineType = ctx.pipelineType;
return Object.fromEntries(Object.entries(BUILD_VARIABLES).map(function (_a) {
var _b = __read(_a, 2),
key = _b[0],
value = _b[1];
return [key, (0, bashExpressionPerPipelineType_1.getBashExpressionPerPipelineType)(value, pipelineType)];
}));
};
exports.getBuildInfoVariables = getBuildInfoVariables;