Skip python setup when running in a container
This commit is contained in:
parent
bceebba814
commit
9d58699da5
4 changed files with 54 additions and 31 deletions
57
dist/index.js
vendored
57
dist/index.js
vendored
|
@ -1001,34 +1001,24 @@ module.exports = require("os");
|
|||
/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) {
|
||||
|
||||
const { inspect } = __webpack_require__(669);
|
||||
const isDocker = __webpack_require__(160);
|
||||
const fs = __webpack_require__(747);
|
||||
const core = __webpack_require__(470);
|
||||
const exec = __webpack_require__(986);
|
||||
const setupPython = __webpack_require__(139);
|
||||
|
||||
function fileExists(path) {
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
} catch (e) {
|
||||
core.debug(`e: ${inspect(e)}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function run() {
|
||||
try {
|
||||
// Allows ncc to find assets to be included in the distribution
|
||||
const src = __webpack_require__.ab + "src";
|
||||
core.debug(`src: ${src}`);
|
||||
|
||||
// Check if the platfrom is Alpine Linux
|
||||
const alpineLinux = fileExists("/etc/alpine-release");
|
||||
core.debug(`alpineLinux: ${alpineLinux}`);
|
||||
|
||||
// Skip Python setup if the platform is Alpine Linux
|
||||
if (!alpineLinux)
|
||||
if (isDocker()) {
|
||||
core.info('Running inside a Docker container');
|
||||
} else {
|
||||
// Setup Python from the tool cache
|
||||
setupPython("3.8.x", "x64");
|
||||
}
|
||||
|
||||
// Install requirements
|
||||
await exec.exec("pip", [
|
||||
|
@ -1411,6 +1401,43 @@ if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
|
|||
exports.debug = debug; // for test
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 160:
|
||||
/***/ (function(module, __unusedexports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
const fs = __webpack_require__(747);
|
||||
|
||||
let isDocker;
|
||||
|
||||
function hasDockerEnv() {
|
||||
try {
|
||||
fs.statSync('/.dockerenv');
|
||||
return true;
|
||||
} catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function hasDockerCGroup() {
|
||||
try {
|
||||
return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
|
||||
} catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = () => {
|
||||
if (isDocker === undefined) {
|
||||
isDocker = hasDockerEnv() || hasDockerCGroup();
|
||||
}
|
||||
|
||||
return isDocker;
|
||||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 211:
|
||||
|
|
20
index.js
20
index.js
|
@ -1,32 +1,22 @@
|
|||
const { inspect } = require("util");
|
||||
const isDocker = require('is-docker');
|
||||
const fs = require("fs");
|
||||
const core = require("@actions/core");
|
||||
const exec = require("@actions/exec");
|
||||
const setupPython = require("./src/setup-python");
|
||||
|
||||
function fileExists(path) {
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
} catch (e) {
|
||||
core.debug(`e: ${inspect(e)}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function run() {
|
||||
try {
|
||||
// Allows ncc to find assets to be included in the distribution
|
||||
const src = __dirname + "/src";
|
||||
core.debug(`src: ${src}`);
|
||||
|
||||
// Check if the platfrom is Alpine Linux
|
||||
const alpineLinux = fileExists("/etc/alpine-release");
|
||||
core.debug(`alpineLinux: ${alpineLinux}`);
|
||||
|
||||
// Skip Python setup if the platform is Alpine Linux
|
||||
if (!alpineLinux)
|
||||
if (isDocker()) {
|
||||
core.info('Running inside a Docker container');
|
||||
} else {
|
||||
// Setup Python from the tool cache
|
||||
setupPython("3.8.x", "x64");
|
||||
}
|
||||
|
||||
// Install requirements
|
||||
await exec.exec("pip", [
|
||||
|
|
5
package-lock.json
generated
5
package-lock.json
generated
|
@ -41,6 +41,11 @@
|
|||
"integrity": "sha512-M9WzgquSOt2nsjRkYM9LRylBLmmlwNCwYbm3Up3PDEshfvdmIfqpFNSK8EJvR18NwZjGHE5z2avlDtYQx2JQnw==",
|
||||
"dev": true
|
||||
},
|
||||
"is-docker": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
|
||||
"integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.9.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
|
||||
|
|
|
@ -23,7 +23,8 @@
|
|||
"dependencies": {
|
||||
"@actions/core": "^1.1.1",
|
||||
"@actions/exec": "^1.0.1",
|
||||
"@actions/tool-cache": "^1.1.2"
|
||||
"@actions/tool-cache": "^1.1.2",
|
||||
"is-docker": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@zeit/ncc": "0.21.1"
|
||||
|
|
Loading…
Reference in a new issue