compose-action/main.js
Razvan ada3c6c7cd
feat: add support for compose flags (#7)
Add support for options (eg: --profile) to be passed to docker-compose.
2022-08-27 15:12:55 +09:00

33 lines
899 B
JavaScript

const core = require("@actions/core");
const compose = require("docker-compose");
const fs = require("fs");
const utils = require("./utils");
try {
const composeFile = core.getInput("compose-file");
if (!fs.existsSync(composeFile)) {
console.log(`${composeFile} not exists`);
return;
}
const services = core.getMultilineInput("services", { required: false });;
const options = {
config: composeFile,
log: true,
composeOptions: utils.parseFlags(core.getInput("compose-flags")),
commandOptions: utils.parseFlags(core.getInput("up-flags"))
};
const promise =
services.length > 0
? compose.upMany(services, options)
: compose.upAll(options);
promise
.then(() => { console.log("compose started"); })
.catch((err) => { core.setFailed(`compose up failed ${JSON.stringify(err)}`); });
} catch (error) {
core.setFailed(error.message);
}