compose-action/main.js
bany 0645acf21a
upgrade: docker-compose to v2 (#30)
* upgrade: docker-compose
- user docker compose instead

* remove: yarn and clean format js file
2023-07-23 12:05:52 +09:00

43 lines
1.1 KiB
JavaScript

const core = require("@actions/core");
const compose = require("docker-compose");
const utils = require("./utils");
// Use docker compose v2
// ref: https://github.com/PDMLab/docker-compose/tree/master#import-for-docker-compose-v2
// The migration of Docker was done with Docker Compose. Use the official plugin instead.
// ref: https://docs.docker.com/compose/migrate/
const composeV2 = compose.v2;
try {
const composeFiles = utils.parseComposeFiles(
core.getMultilineInput("compose-file")
);
if (!composeFiles.length) {
return;
}
const services = core.getMultilineInput("services", { required: false });
const options = {
config: composeFiles,
log: true,
composeOptions: utils.parseFlags(core.getInput("compose-flags")),
commandOptions: utils.parseFlags(core.getInput("up-flags")),
};
const promise =
services.length > 0
? composeV2.upMany(services, options)
: composeV2.upAll(options);
promise
.then(() => {
console.log("compose started");
})
.catch((err) => {
core.setFailed(`compose up failed ${JSON.stringify(err)}`);
});
} catch (error) {
core.setFailed(error.message);
}