mirror of
https://github.com/hoverkraft-tech/compose-action.git
synced 2026-01-09 14:13:06 +08:00
* upgrade: docker-compose - user docker compose instead * remove: yarn and clean format js file
43 lines
1.1 KiB
JavaScript
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);
|
|
}
|