singularci
Version:
SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms
57 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateBuildDockerImageTask = exports.generateRunTask = exports.generateCheckoutTask = void 0;
const generateCheckoutTask = (task) => {
let runCommand = "";
runCommand += `git clone ${task.getRepositoryURL()}`;
return {
run: runCommand
};
};
exports.generateCheckoutTask = generateCheckoutTask;
const generateRunTask = (task) => {
let runCommand = "";
if (task.getCommands().length == 1) {
runCommand = task.getCommands()[0];
}
else if (task.getCommands().length > 1) {
for (let i = 0; i < task.getCommands().length; i++) {
runCommand += `${task.getCommands()[i]}\n`;
}
}
return {
run: runCommand
};
};
exports.generateRunTask = generateRunTask;
const generateBuildDockerImageTask = (task) => {
return [
{
name: "Set up QEMU",
uses: "docker/setup-qemu-action@v2"
},
{
name: "Set up Docker Buildx",
uses: "docker/setup-buildx-action@v2"
},
{
name: "Login to DockerHub",
uses: "docker/login-action@v2",
with: {
username: task.getUserName(),
password: task.getPassword()
}
},
{
name: "Build and push",
uses: "docker/build-push-action@v3",
with: {
push: true,
tags: `${task.getUserName()}/${task.getImageName()}:latest`,
file: `${task.getBuildFilePath()}Dockerfile`
}
}
];
};
exports.generateBuildDockerImageTask = generateBuildDockerImageTask;
//# sourceMappingURL=tasks.js.map