From 621ae770e0db9d772fb2871798d5cb2d1905582b Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 04:15:40 +0200 Subject: [PATCH 01/19] feat: add root runtime smoke tests for PHP, .NET, Rust, npm, Salesforce and SSH (#1975) For each of PHP, .NET, Rust, npm and Salesforce add a test which runs the tool. Each tool is tested twice: - direct 'docker run' - through 'megalinter' For SSH server add only a direct 'docker run' test as 'megalinter' does not provide a surface to test. --- mega-linter-runner/test/runtime-image.test.js | 270 ++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 mega-linter-runner/test/runtime-image.test.js diff --git a/mega-linter-runner/test/runtime-image.test.js b/mega-linter-runner/test/runtime-image.test.js new file mode 100644 index 00000000000..920febb5792 --- /dev/null +++ b/mega-linter-runner/test/runtime-image.test.js @@ -0,0 +1,270 @@ +import assert from "assert"; +import { spawnSync } from "child_process"; +import fs from "fs-extra"; +import os from "os"; +import path from "path"; +import { fileURLToPath } from "url"; +import { MegaLinterRunner } from "../lib/index.js"; + +const image = process.env.MEGALINTER_IMAGE; +const release = process.env.MEGALINTER_RELEASE || "beta"; +const nodockerpull = + process.env.MEGALINTER_NO_DOCKER_PULL === "true" ? true : false; +const testDir = path.dirname(fileURLToPath(import.meta.url)); +const repoRoot = path.resolve(testDir, "..", ".."); + +function runCommand(command, args, options = {}) { + return spawnSync(command, args, { + encoding: "utf8", + ...options, + }); +} + +function assertSuccess(result, message) { + const details = [result.stderr, result.stdout].filter(Boolean).join("\n"); + assert.strictEqual( + result.status, + 0, + details ? `${message}\n${details}` : message, + ); +} + +function cleanupPathWithDocker(targetPath) { + runCommand("docker", [ + "run", + "--rm", + "-v", + `${targetPath}:/work`, + "alpine:3.24", + "sh", + "-lc", + "chmod -R u+w /work 2>/dev/null || true; rm -rf /work/* /work/.[!.]* /work/..?* 2>/dev/null || true", + ]); +} + +async function prepareFixtureDir(prefix, sourceRelativeDir) { + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), prefix)); + await fs.copy(path.join(repoRoot, sourceRelativeDir), tempDir); + return tempDir; +} + +async function preparePhpFixture() { + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "megalinter-php-")); + await fs.copy( + path.join(repoRoot, ".automation", "test", "php", ".php-cs-fixer.risky.php"), + path.join(tempDir, ".php-cs-fixer.risky.php"), + ); + await fs.copy( + path.join(repoRoot, ".automation", "test", "php", "php_good_1.php"), + path.join(tempDir, "php_good_1.php"), + ); + await fs.copy( + path.join(repoRoot, ".automation", "test", "php", "php_good_2.php"), + path.join(tempDir, "php_good_2.php"), + ); + return tempDir; +} + +async function runFixture(pathToLint, enabledLinter) { + const res = runCommand("docker", [ + "run", + "--rm", + "--platform", + "linux/amd64", + "-v", + `${pathToLint}:/tmp/lint:rw`, + "-e", + "DEFAULT_WORKSPACE=/tmp/lint", + "-e", + `ENABLE_LINTERS=${enabledLinter}`, + "-e", + "PLUGINS=", + image, + ]); + const details = [res.stderr, res.stdout].filter(Boolean).join("\n"); + assert.strictEqual( + res.status, + 0, + details + ? `status is 0 (${res.status} returned)\n${details}` + : `status is 0 (${res.status} returned)`, + ); + return details; +} + +async function runFixtureWithRunner(pathToLint, enabledLinter) { + const options = { + path: pathToLint, + release, + nodockerpull, + env: [`ENABLE_LINTERS=${enabledLinter}`, "PLUGINS="], + }; + if (image) { + options.image = image; + } + const res = await new MegaLinterRunner().run(options); + assert.strictEqual( + res.status, + 0, + res.errorMsg + ? `status is 0 (${res.status} returned)\n${res.errorMsg}` + : `status is 0 (${res.status} returned)`, + ); +} + +async function withFixtureDir(prepare, callback) { + const tempDir = await prepare(); + try { + await callback(tempDir); + } finally { + cleanupPathWithDocker(tempDir); + await fs.remove(tempDir); + } +} + +const runtimeFixtureCases = [ + { + title: "PHP_PHPCSFIXER", + prepare: preparePhpFixture, + enabledLinter: "PHP_PHPCSFIXER", + successPattern: + /✅ Linted \[PHP\] files with \[php-cs-fixer\] successfully/, + }, + { + title: "CSHARP_CSHARPIER", + prepare: () => + prepareFixtureDir( + "megalinter-csharp-", + path.join(".automation", "test", "csharp_csharpier", "good"), + ), + enabledLinter: "CSHARP_CSHARPIER", + successPattern: + /✅ Linted \[CSHARP\] files with \[csharpier\] successfully/, + }, + { + title: "RUST_CLIPPY", + prepare: () => + prepareFixtureDir( + "megalinter-rust-", + path.join(".automation", "test", "rust", "good"), + ), + enabledLinter: "RUST_CLIPPY", + successPattern: /✅ Linted \[RUST\] files with \[clippy\] successfully/, + }, + { + title: "JSON_NPM_PACKAGE_JSON_LINT", + prepare: () => + prepareFixtureDir( + "megalinter-npm-pkg-", + path.join(".automation", "test", "npm_package_json_lint", "good"), + ), + enabledLinter: "JSON_NPM_PACKAGE_JSON_LINT", + successPattern: + /✅ Linted \[JSON\] files with \[npm-package-json-lint\] successfully/, + }, + { + title: "SALESFORCE_CODE_ANALYZER_APEX", + prepare: () => + prepareFixtureDir( + "megalinter-salesforce-", + path.join(".automation", "test", "salesforce", "good"), + ), + enabledLinter: "SALESFORCE_CODE_ANALYZER_APEX", + successPattern: + /✅ Linted \[SALESFORCE\] files with \[code-analyzer-apex\] successfully/, + }, +]; + +describe("Runtime image", function () { + if (!image) { + it("requires MEGALINTER_IMAGE for runtime coverage", function () { + this.skip(); + }); + return; + } + + for (const testCase of runtimeFixtureCases) { + it(`runs ${testCase.title} on the good fixture with docker run`, async () => { + await withFixtureDir(testCase.prepare, async (tempDir) => { + const details = await runFixture(tempDir, testCase.enabledLinter); + assert.match(details, testCase.successPattern); + }); + }).timeout(600000); + + it(`runs ${testCase.title} on the good fixture with mega-linter-runner`, async () => { + await withFixtureDir(testCase.prepare, async (tempDir) => { + await runFixtureWithRunner(tempDir, testCase.enabledLinter); + }); + }).timeout(600000); + } + + it("accepts an SSH connection in root mode", async () => { + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "megalinter-ssh-")); + const containerName = `megalinter-ssh-${Date.now()}`; + const privateKey = path.join(tempDir, "id_rsa"); + const publicKey = path.join(tempDir, "id_rsa.pub"); + try { + assertSuccess( + runCommand("ssh-keygen", [ + "-q", + "-t", + "ed25519", + "-N", + "", + "-f", + privateKey, + ]), + "expected ssh-keygen to create a temporary test key", + ); + + const runRes = runCommand("docker", [ + "run", + "-d", + "--rm", + "--name", + containerName, + "-e", + "MEGALINTER_SSH=true", + "-v", + `${tempDir}:/root/docker_ssh:ro`, + "-p", + "127.0.0.1::22", + image, + ]); + assertSuccess(runRes, "expected SSH test container to start"); + + const portRes = runCommand("docker", ["port", containerName, "22/tcp"]); + assertSuccess(portRes, "expected SSH test container to publish port 22"); + const publishedPort = portRes.stdout.trim().split(":").pop(); + assert(publishedPort, "expected a published SSH port"); + + let sshResult = null; + for (let attempt = 0; attempt < 30; attempt += 1) { + sshResult = runCommand("ssh", [ + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile=/dev/null", + "-i", + privateKey, + "-p", + publishedPort, + "root@127.0.0.1", + "id -u", + ]); + if (sshResult.status === 0) { + break; + } + await new Promise((resolve) => setTimeout(resolve, 1000)); + } + + assertSuccess(sshResult, "expected SSH login to succeed"); + assert.strictEqual(sshResult.stdout.trim(), "0"); + assert(await fs.pathExists(publicKey), "expected SSH public key to exist"); + } finally { + runCommand("docker", ["rm", "-f", containerName]); + cleanupPathWithDocker(tempDir); + await fs.remove(tempDir); + } + }).timeout(180000); +}); From 071f6d1256f0a387ca4a5b5d231ad52c4e07d8a9 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Mon, 15 Jun 2026 20:26:35 +0200 Subject: [PATCH 02/19] feat: add opt-in mega-linter-runner user-map mode (definition) (#1975) Add --user-map and --no-user-map to control whether the container runs as root or as a non-root user. The default is root. On POSIX systems, --user-map uses the current user. On other hosts, it falls back to uid/gid 1000:1000. --- .automation/build.py | 6 ++- CHANGELOG.md | 2 + docs/mega-linter-runner.md | 9 +++- entrypoint.sh | 6 +++ mega-linter-runner/README.md | 9 +++- mega-linter-runner/lib/options.js | 12 +++++ mega-linter-runner/lib/runner.js | 9 ++++ mega-linter-runner/test/cli-parse.test.js | 15 ++++++ sh/setup-runtime-user | 62 +++++++++++++++++++++++ 9 files changed, 127 insertions(+), 3 deletions(-) create mode 100755 sh/setup-runtime-user diff --git a/.automation/build.py b/.automation/build.py index 1968a835239..57a1d9361d5 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -330,7 +330,9 @@ def generate_flavor(flavor, flavor_info): ] extra_lines += [ "COPY entrypoint.sh /entrypoint.sh", - "RUN chmod +x entrypoint.sh", + "COPY sh/setup-runtime-user /usr/bin/setup-runtime-user", + "RUN chmod +x entrypoint.sh && \\", + " chmod u+x /usr/bin/setup-runtime-user", 'ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]', ] build_dockerfile( @@ -839,10 +841,12 @@ def generate_linter_dockerfiles(): "COPY entrypoint.sh /entrypoint.sh", "COPY sh /usr/bin/megalinter-sh", "COPY sh/megalinter_exec /usr/bin/megalinter_exec", + "COPY sh/setup-runtime-user /usr/bin/setup-runtime-user", "COPY sh/motd /etc/motd", 'RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \\; && \\', " chmod +x entrypoint.sh && \\", " chmod +x /usr/bin/megalinter_exec && \\", + " chmod u+x /usr/bin/setup-runtime-user && \\", " echo \"alias megalinter='python -m megalinter.run'\" >> ~/.bashrc && source ~/.bashrc && \\", " echo \"alias megalinter_exec='/usr/bin/megalinter_exec'\" >> ~/.bashrc && source ~/.bashrc", 'RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \\', diff --git a/CHANGELOG.md b/CHANGELOG.md index 66054c349b5..1968caea5f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ Note: Can be used with `oxsecurity/megalinter@beta` in your GitHub Action mega-l - Exclude `REPORT_OUTPUT_FOLDER` from linting when configured as an absolute path inside the workspace (e.g. `/tmp/lint/megalinter-reports`), fixing #7845. - Fix command injection in Roslynator linter (`DOTNET_ROSLYNATOR`) where a crafted `.csproj` filename could break out of `dotnet restore` arguments and execute arbitrary shell commands. The command is now invoked via argv list instead of a shell string. Reported by Francesco Sabiu. - Fix `IndexError` when building the single-linter Docker image for a linter whose activation depends on a file (e.g. `SPELL_VALE` requires `.vale.ini`): `python -m megalinter.run --linterversion` now bypasses activation filtering since the per-linter image is built for that linter unconditionally. + - Allow MegaLinter containers to run in an opt-in non-root mode matching the host UID:GID on POSIX systems, avoiding root-owned generated files on the host (#1975). - Reporters @@ -45,6 +46,7 @@ Note: Can be used with `oxsecurity/megalinter@beta` in your GitHub Action mega-l - Update Docker pull counters in README badges and `flavors-stats.json` with latest ghcr.io stats - mega-linter-runner + - Add `--user-map` / `--no-user-map` to control whether the MegaLinter container runs in non-root mode. On POSIX systems `--user-map` uses the current host UID:GID; on other hosts it falls back to `1000:1000`. - Dev - Stop generating per-linter Dockerfiles for linters marked `disabled: true` in their descriptor. The matching images were already excluded from the build matrix (`linters_matrix.json`) and never published, so the on-disk `linters//Dockerfile` was dead code. Deleted the 8 corresponding stale Dockerfile directories. diff --git a/docs/mega-linter-runner.md b/docs/mega-linter-runner.md index d1185a743d9..0b8fd6527b2 100644 --- a/docs/mega-linter-runner.md +++ b/docs/mega-linter-runner.md @@ -89,8 +89,10 @@ The options are only related to mega-linter-runner. For MegaLinter options, plea | `--container-engine` | Allows to specify a docker engine (`docker` or `podman`) | `docker` | | `--container-name` | Specify MegaLinter container name | | | `--remove-container` | Remove MegaLinter Docker container when done | | +| `--user-map` | Run the container as a non-root user. On POSIX systems this uses your user. On other hosts it uses `1000:1000`. This helps avoid root-owned generated files on the host. | | +| `--no-user-map` | Run the container as root | | | `-i`
`--install` | Generate [MegaLinter local configuration](https://megalinter.io/beta/install-assisted/) files and CI/CD workflows | | -| `-i`
`--upgrade` | Upgrade your MegaLinter configuration files to use the latest version | | +| `-u`
`--upgrade` | Upgrade your MegaLinter configuration files to use the latest version | | | `--custom-flavor-setup` | Initialize a new repository to generate a [custom flavor](https://megalinter.io/beta/custom-flavors/) | | | `--custom-flavor-linters` | Comma-separated list of linter keys if using `--custom-flavor-setup` | | @@ -108,6 +110,11 @@ mega-linter-runner mega-linter-runner -p myFolder --fix ``` +```shell +# Run the container as your current non-root user on POSIX hosts +mega-linter-runner --user-map +``` + ```shell # Send environment variables mega-linter-runner -r beta -e "'ENABLE=MARKDOWN,YAML'" -e 'SHOW_ELAPSED_TIME=true' diff --git a/entrypoint.sh b/entrypoint.sh index 154bb626fb9..eb714263464 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,6 +6,12 @@ export PYTHONPATH # Manage debug mode LOG_LEVEL="${LOG_LEVEL:-INFO}" # Default log level (VERBOSE, DEBUG, TRACE) +MEGALINTER_RUNTIME_UID="${MEGALINTER_UID:-}" +MEGALINTER_RUNTIME_GID="${MEGALINTER_GID:-}" +if [ "$(id -u)" -eq 0 ] && [ -n "${MEGALINTER_RUNTIME_UID}" ] && [ -n "${MEGALINTER_RUNTIME_GID}" ] && [ "${MEGALINTER_USER_SWITCHED:-false}" != "true" ]; then + exec /usr/bin/setup-runtime-user "$@" +fi + # Manage newest git versions (related to CVE https://github.blog/2022-04-12-git-security-vulnerability-announced/) # if [[ "${WORKSPACE_AS_SAFE_DIR}" != 'false' && "${DEFAULT_WORKSPACE}" && -d "${DEFAULT_WORKSPACE}" ]]; then diff --git a/mega-linter-runner/README.md b/mega-linter-runner/README.md index ead78a0249f..94d53dad1ad 100644 --- a/mega-linter-runner/README.md +++ b/mega-linter-runner/README.md @@ -107,8 +107,10 @@ The options are only related to mega-linter-runner. For MegaLinter options, plea | `--container-engine` | Allows to specify a docker engine (`docker` or `podman`) | `docker` | | `--container-name` | Specify MegaLinter container name | | | `--remove-container` | Remove MegaLinter Docker container when done | | +| `--user-map` | Run the container as a non-root user. On POSIX systems this uses your user. On other hosts it uses `1000:1000`. This helps avoid root-owned generated files on the host. | | +| `--no-user-map` | Run the container as root | | | `-i`
`--install` | Generate [MegaLinter local configuration](https://megalinter.io/beta/install-assisted/) files and CI/CD workflows | | -| `-i`
`--upgrade` | Upgrade your MegaLinter configuration files to use the latest version | | +| `-u`
`--upgrade` | Upgrade your MegaLinter configuration files to use the latest version | | | `--custom-flavor-setup` | Initialize a new repository to generate a [custom flavor](https://megalinter.io/beta/custom-flavors/) | | | `--custom-flavor-linters` | Comma-separated list of linter keys if using `--custom-flavor-setup` | | @@ -126,6 +128,11 @@ mega-linter-runner mega-linter-runner -p myFolder --fix ``` +```shell +# Run the container as your current non-root user on POSIX hosts +mega-linter-runner --user-map +``` + ```shell # Send environment variables mega-linter-runner -r beta -e "'ENABLE=MARKDOWN,YAML'" -e 'SHOW_ELAPSED_TIME=true' diff --git a/mega-linter-runner/lib/options.js b/mega-linter-runner/lib/options.js index 54839335db3..1d2a8ba0396 100644 --- a/mega-linter-runner/lib/options.js +++ b/mega-linter-runner/lib/options.js @@ -218,6 +218,18 @@ export const optionsDefinition = optionator.default({ description: "Keep the MegaLinter container after the run. Useful for `docker logs ` post-mortem.", }, + { + option: "user-map", + type: "Boolean", + description: + "Run the container as a non-root user. On POSIX systems this uses your user. On other hosts it uses 1000:1000.", + }, + { + option: "no-user-map", + type: "Boolean", + description: + "Run the container as root.", + }, { option: "codetotal", type: "Boolean", diff --git a/mega-linter-runner/lib/runner.js b/mega-linter-runner/lib/runner.js index f5277f9a034..95c83f083bb 100644 --- a/mega-linter-runner/lib/runner.js +++ b/mega-linter-runner/lib/runner.js @@ -218,6 +218,15 @@ export class MegaLinterRunner { } commandArgs.push(...["-v", "/var/run/docker.sock:/var/run/docker.sock:rw"]); commandArgs.push(...["-v", `${lintPath}:/tmp/lint:rw`]); + if (options["userMap"] === true) { + const runtimeUid = + typeof process.getuid === "function" ? process.getuid() : 1000; + const runtimeGid = + typeof process.getgid === "function" ? process.getgid() : 1000; + commandArgs.push(...["-e", `MEGALINTER_UID=${runtimeUid}`]); + commandArgs.push(...["-e", `MEGALINTER_GID=${runtimeGid}`]); + commandArgs.push(...["-e", "HOME=/home/megalinter"]); + } if (emptyEnvFile) { commandArgs.push(...["-v", `${emptyEnvFile}:/tmp/lint/.env:ro`]); } diff --git a/mega-linter-runner/test/cli-parse.test.js b/mega-linter-runner/test/cli-parse.test.js index 637c0eea085..7fc3f76e144 100644 --- a/mega-linter-runner/test/cli-parse.test.js +++ b/mega-linter-runner/test/cli-parse.test.js @@ -305,6 +305,21 @@ describe("CLI parsing — container options", () => { const o = parse(["--no-remove-container"]); assert.strictEqual(o.removeContainer, false); }); + + it("leaves user-map unset by default", () => { + const o = parse([]); + assert.strictEqual(o.userMap, undefined); + }); + + it("parses --user-map", () => { + const o = parse(["--user-map"]); + assert.strictEqual(o.userMap, true); + }); + + it("parses --no-user-map", () => { + const o = parse(["--no-user-map"]); + assert.strictEqual(o.userMap, false); + }); }); describe("CLI parsing — platform", () => { diff --git a/sh/setup-runtime-user b/sh/setup-runtime-user new file mode 100755 index 00000000000..5eff9ecf915 --- /dev/null +++ b/sh/setup-runtime-user @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +set -eu + +MEGALINTER_RUNTIME_UID="${MEGALINTER_UID:-}" +MEGALINTER_RUNTIME_GID="${MEGALINTER_GID:-}" +MEGALINTER_RUNTIME_USER="${MEGALINTER_USER:-megalinter}" +MEGALINTER_RUNTIME_HOME="${HOME:-/home/${MEGALINTER_RUNTIME_USER}}" + +find_passwd_by_uid() { + awk -F: -v uid="$1" '$3 == uid { print $1 ":" $6; exit }' /etc/passwd +} + +find_group_by_gid() { + awk -F: -v gid="$1" '$3 == gid { print $1; exit }' /etc/group +} + +find_uid_by_user() { + awk -F: -v user="$1" '$1 == user { print $3; exit }' /etc/passwd +} + +find_gid_by_group() { + awk -F: -v group="$1" '$1 == group { print $3; exit }' /etc/group +} + +if [ "$(id -u)" -ne 0 ] || [ -z "${MEGALINTER_RUNTIME_UID}" ] || [ -z "${MEGALINTER_RUNTIME_GID}" ]; then + exec /entrypoint.sh "$@" +fi + +existing_user_entry="$(find_passwd_by_uid "${MEGALINTER_RUNTIME_UID}")" +if [ -n "${existing_user_entry}" ]; then + MEGALINTER_RUNTIME_USER="${existing_user_entry%%:*}" + MEGALINTER_RUNTIME_HOME="${existing_user_entry#*:}" +else + existing_uid="$(find_uid_by_user "${MEGALINTER_RUNTIME_USER}")" + if [ -n "${existing_uid}" ] && [ "${existing_uid}" != "${MEGALINTER_RUNTIME_UID}" ]; then + deluser "${MEGALINTER_RUNTIME_USER}" >/dev/null 2>&1 || true + fi + + existing_group="$(find_group_by_gid "${MEGALINTER_RUNTIME_GID}")" + if [ -z "${existing_group}" ]; then + existing_gid="$(find_gid_by_group "${MEGALINTER_RUNTIME_USER}")" + if [ -n "${existing_gid}" ] && [ "${existing_gid}" != "${MEGALINTER_RUNTIME_GID}" ]; then + delgroup "${MEGALINTER_RUNTIME_USER}" >/dev/null 2>&1 || true + fi + addgroup -g "${MEGALINTER_RUNTIME_GID}" "${MEGALINTER_RUNTIME_USER}" + existing_group="${MEGALINTER_RUNTIME_USER}" + fi + + mkdir -p "${MEGALINTER_RUNTIME_HOME}" + adduser -D -H -u "${MEGALINTER_RUNTIME_UID}" -G "${existing_group}" -h "${MEGALINTER_RUNTIME_HOME}" -s /bin/bash "${MEGALINTER_RUNTIME_USER}" +fi + +mkdir -p "${MEGALINTER_RUNTIME_HOME}" +chown -R "${MEGALINTER_RUNTIME_UID}:${MEGALINTER_RUNTIME_GID}" "${MEGALINTER_RUNTIME_HOME}" >/dev/null 2>&1 || true + +export HOME="${MEGALINTER_RUNTIME_HOME}" +export USER="${MEGALINTER_RUNTIME_USER}" +export LOGNAME="${MEGALINTER_RUNTIME_USER}" +export MEGALINTER_USER_SWITCHED=true + +exec su -p "${MEGALINTER_RUNTIME_USER}" -s /bin/bash -c 'exec /entrypoint.sh "$@"' bash "$@" From c22fa8ca9910714901c974bc74d3814898f634ce Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 21:12:23 +0200 Subject: [PATCH 03/19] feat: add opt-in mega-linter-runner user-map mode (generated) (#1975) Generated with 'make megalinter-build'. --- Dockerfile | 4 +++- flavors/c_cpp/Dockerfile | 4 +++- flavors/ci_light/Dockerfile | 4 +++- flavors/cupcake/Dockerfile | 4 +++- flavors/documentation/Dockerfile | 4 +++- flavors/dotnet/Dockerfile | 4 +++- flavors/dotnetweb/Dockerfile | 4 +++- flavors/formatters/Dockerfile | 4 +++- flavors/go/Dockerfile | 4 +++- flavors/java/Dockerfile | 4 +++- flavors/javascript/Dockerfile | 4 +++- flavors/php/Dockerfile | 4 +++- flavors/python/Dockerfile | 4 +++- flavors/ruby/Dockerfile | 4 +++- flavors/rust/Dockerfile | 4 +++- flavors/salesforce/Dockerfile | 4 +++- flavors/security/Dockerfile | 4 +++- flavors/swift/Dockerfile | 4 +++- flavors/terraform/Dockerfile | 4 +++- linters/action_actionlint/Dockerfile | 2 ++ linters/action_zizmor/Dockerfile | 2 ++ linters/ansible_ansible_lint/Dockerfile | 2 ++ linters/arm_arm_ttk/Dockerfile | 2 ++ linters/bash_exec/Dockerfile | 2 ++ linters/bash_shellcheck/Dockerfile | 2 ++ linters/bash_shfmt/Dockerfile | 2 ++ linters/bicep_bicep_linter/Dockerfile | 2 ++ linters/c_clang_format/Dockerfile | 2 ++ linters/c_cppcheck/Dockerfile | 2 ++ linters/c_cpplint/Dockerfile | 2 ++ linters/clojure_clj_kondo/Dockerfile | 2 ++ linters/clojure_cljstyle/Dockerfile | 2 ++ linters/cloudformation_cfn_lint/Dockerfile | 2 ++ linters/coffee_coffeelint/Dockerfile | 2 ++ linters/copypaste_jscpd/Dockerfile | 2 ++ linters/cpp_clang_format/Dockerfile | 2 ++ linters/cpp_cppcheck/Dockerfile | 2 ++ linters/cpp_cpplint/Dockerfile | 2 ++ linters/csharp_csharpier/Dockerfile | 2 ++ linters/csharp_dotnet_format/Dockerfile | 2 ++ linters/csharp_roslynator/Dockerfile | 2 ++ linters/css_stylelint/Dockerfile | 2 ++ linters/dart_dartanalyzer/Dockerfile | 2 ++ linters/dockerfile_hadolint/Dockerfile | 2 ++ linters/editorconfig_editorconfig_checker/Dockerfile | 2 ++ linters/env_dotenv_linter/Dockerfile | 2 ++ linters/gherkin_gherkin_lint/Dockerfile | 2 ++ linters/go_golangci_lint/Dockerfile | 2 ++ linters/go_revive/Dockerfile | 2 ++ linters/graphql_graphql_schema_linter/Dockerfile | 2 ++ linters/groovy_npm_groovy_lint/Dockerfile | 2 ++ linters/html_djlint/Dockerfile | 2 ++ linters/html_htmlhint/Dockerfile | 2 ++ linters/java_checkstyle/Dockerfile | 2 ++ linters/java_pmd/Dockerfile | 2 ++ linters/javascript_es/Dockerfile | 2 ++ linters/javascript_prettier/Dockerfile | 2 ++ linters/javascript_standard/Dockerfile | 2 ++ linters/json_jsonlint/Dockerfile | 2 ++ linters/json_npm_package_json_lint/Dockerfile | 2 ++ linters/json_prettier/Dockerfile | 2 ++ linters/json_v8r/Dockerfile | 2 ++ linters/jsx_eslint/Dockerfile | 2 ++ linters/kotlin_detekt/Dockerfile | 2 ++ linters/kotlin_ktlint/Dockerfile | 2 ++ linters/kubernetes_helm/Dockerfile | 2 ++ linters/kubernetes_kubeconform/Dockerfile | 2 ++ linters/kubernetes_kubescape/Dockerfile | 2 ++ linters/latex_chktex/Dockerfile | 2 ++ linters/lua_luacheck/Dockerfile | 2 ++ linters/lua_stylua/Dockerfile | 2 ++ linters/markdown_markdown_table_formatter/Dockerfile | 2 ++ linters/markdown_markdownlint/Dockerfile | 2 ++ linters/markdown_rumdl/Dockerfile | 2 ++ linters/perl_perlcritic/Dockerfile | 2 ++ linters/php_phpcs/Dockerfile | 2 ++ linters/php_phpcsfixer/Dockerfile | 2 ++ linters/php_phplint/Dockerfile | 2 ++ linters/php_phpstan/Dockerfile | 2 ++ linters/php_psalm/Dockerfile | 2 ++ linters/powershell_powershell/Dockerfile | 2 ++ linters/powershell_powershell_formatter/Dockerfile | 2 ++ linters/protobuf_protolint/Dockerfile | 2 ++ linters/python_bandit/Dockerfile | 2 ++ linters/python_black/Dockerfile | 2 ++ linters/python_flake8/Dockerfile | 2 ++ linters/python_isort/Dockerfile | 2 ++ linters/python_mypy/Dockerfile | 2 ++ linters/python_nbqa_mypy/Dockerfile | 2 ++ linters/python_pylint/Dockerfile | 2 ++ linters/python_pyright/Dockerfile | 2 ++ linters/python_ruff/Dockerfile | 2 ++ linters/python_ruff_format/Dockerfile | 2 ++ linters/r_lintr/Dockerfile | 2 ++ linters/raku_raku/Dockerfile | 2 ++ linters/repository_checkov/Dockerfile | 2 ++ linters/repository_devskim/Dockerfile | 2 ++ linters/repository_dustilock/Dockerfile | 2 ++ linters/repository_git_diff/Dockerfile | 2 ++ linters/repository_gitleaks/Dockerfile | 2 ++ linters/repository_grype/Dockerfile | 2 ++ linters/repository_kingfisher/Dockerfile | 2 ++ linters/repository_ls_lint/Dockerfile | 2 ++ linters/repository_osv_scanner/Dockerfile | 2 ++ linters/repository_secretlint/Dockerfile | 2 ++ linters/repository_semgrep/Dockerfile | 2 ++ linters/repository_syft/Dockerfile | 2 ++ linters/repository_trivy/Dockerfile | 2 ++ linters/repository_trivy_sbom/Dockerfile | 2 ++ linters/repository_trufflehog/Dockerfile | 2 ++ linters/robotframework_robocop/Dockerfile | 2 ++ linters/rst_rst_lint/Dockerfile | 2 ++ linters/rst_rstcheck/Dockerfile | 2 ++ linters/rst_rstfmt/Dockerfile | 2 ++ linters/ruby_rubocop/Dockerfile | 2 ++ linters/rust_clippy/Dockerfile | 2 ++ linters/salesforce_code_analyzer_apex/Dockerfile | 2 ++ linters/salesforce_code_analyzer_aura/Dockerfile | 2 ++ linters/salesforce_code_analyzer_lwc/Dockerfile | 2 ++ linters/scala_scalafix/Dockerfile | 2 ++ linters/snakemake_lint/Dockerfile | 2 ++ linters/snakemake_snakefmt/Dockerfile | 2 ++ linters/spell_codespell/Dockerfile | 2 ++ linters/spell_cspell/Dockerfile | 2 ++ linters/spell_lychee/Dockerfile | 2 ++ linters/spell_proselint/Dockerfile | 2 ++ linters/spell_vale/Dockerfile | 2 ++ linters/sql_sqlfluff/Dockerfile | 2 ++ linters/sql_tsqllint/Dockerfile | 2 ++ linters/swift_swiftlint/Dockerfile | 2 ++ linters/tekton_tekton_lint/Dockerfile | 2 ++ linters/terraform_terraform_fmt/Dockerfile | 2 ++ linters/terraform_terragrunt/Dockerfile | 2 ++ linters/terraform_terrascan/Dockerfile | 2 ++ linters/terraform_tflint/Dockerfile | 2 ++ linters/tsx_eslint/Dockerfile | 2 ++ linters/typescript_es/Dockerfile | 2 ++ linters/typescript_prettier/Dockerfile | 2 ++ linters/typescript_standard/Dockerfile | 2 ++ linters/vbdotnet_dotnet_format/Dockerfile | 2 ++ linters/xml_xmllint/Dockerfile | 2 ++ linters/yaml_prettier/Dockerfile | 2 ++ linters/yaml_v8r/Dockerfile | 2 ++ linters/yaml_yamllint/Dockerfile | 2 ++ 144 files changed, 307 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 356697211ff..ae635b874ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1249,6 +1249,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/c_cpp/Dockerfile b/flavors/c_cpp/Dockerfile index e021c96e91b..15709f2d4c6 100644 --- a/flavors/c_cpp/Dockerfile +++ b/flavors/c_cpp/Dockerfile @@ -615,6 +615,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/ci_light/Dockerfile b/flavors/ci_light/Dockerfile index 09187fb9312..3a6630619bf 100644 --- a/flavors/ci_light/Dockerfile +++ b/flavors/ci_light/Dockerfile @@ -384,6 +384,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile index 4a3f18bd514..2683cde0d44 100644 --- a/flavors/cupcake/Dockerfile +++ b/flavors/cupcake/Dockerfile @@ -917,6 +917,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/documentation/Dockerfile b/flavors/documentation/Dockerfile index 325424587c7..187c8d81a84 100644 --- a/flavors/documentation/Dockerfile +++ b/flavors/documentation/Dockerfile @@ -603,6 +603,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/dotnet/Dockerfile b/flavors/dotnet/Dockerfile index e9fcf47294f..b911f5aa003 100644 --- a/flavors/dotnet/Dockerfile +++ b/flavors/dotnet/Dockerfile @@ -702,6 +702,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/dotnetweb/Dockerfile b/flavors/dotnetweb/Dockerfile index 5f71f4c02ee..f2852fb3560 100644 --- a/flavors/dotnetweb/Dockerfile +++ b/flavors/dotnetweb/Dockerfile @@ -766,6 +766,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/formatters/Dockerfile b/flavors/formatters/Dockerfile index 275af2c22e0..d402c5d56de 100644 --- a/flavors/formatters/Dockerfile +++ b/flavors/formatters/Dockerfile @@ -356,6 +356,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/go/Dockerfile b/flavors/go/Dockerfile index 4fab0ec0743..3845c7c2f3d 100644 --- a/flavors/go/Dockerfile +++ b/flavors/go/Dockerfile @@ -629,6 +629,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/java/Dockerfile b/flavors/java/Dockerfile index dc5c09b7884..2dd35d91b0e 100644 --- a/flavors/java/Dockerfile +++ b/flavors/java/Dockerfile @@ -640,6 +640,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/javascript/Dockerfile b/flavors/javascript/Dockerfile index 7e76efa4171..71f2ffe5c58 100644 --- a/flavors/javascript/Dockerfile +++ b/flavors/javascript/Dockerfile @@ -674,6 +674,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/php/Dockerfile b/flavors/php/Dockerfile index 7ca2b70f9bf..f8a415fd580 100644 --- a/flavors/php/Dockerfile +++ b/flavors/php/Dockerfile @@ -651,6 +651,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/python/Dockerfile b/flavors/python/Dockerfile index 42cd751999f..e011c0bf72c 100644 --- a/flavors/python/Dockerfile +++ b/flavors/python/Dockerfile @@ -707,6 +707,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/ruby/Dockerfile b/flavors/ruby/Dockerfile index d03a208c942..95f05e288b7 100644 --- a/flavors/ruby/Dockerfile +++ b/flavors/ruby/Dockerfile @@ -627,6 +627,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/rust/Dockerfile b/flavors/rust/Dockerfile index b5920580bf3..45a283c0de6 100644 --- a/flavors/rust/Dockerfile +++ b/flavors/rust/Dockerfile @@ -610,6 +610,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/salesforce/Dockerfile b/flavors/salesforce/Dockerfile index c5104c9e39c..2c98d2d87f8 100644 --- a/flavors/salesforce/Dockerfile +++ b/flavors/salesforce/Dockerfile @@ -643,6 +643,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/security/Dockerfile b/flavors/security/Dockerfile index cf83f22246d..5b201997e70 100644 --- a/flavors/security/Dockerfile +++ b/flavors/security/Dockerfile @@ -423,6 +423,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/swift/Dockerfile b/flavors/swift/Dockerfile index a5790d0038b..5c611b50772 100644 --- a/flavors/swift/Dockerfile +++ b/flavors/swift/Dockerfile @@ -609,6 +609,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/flavors/terraform/Dockerfile b/flavors/terraform/Dockerfile index 57258de60c0..e7a69315123 100644 --- a/flavors/terraform/Dockerfile +++ b/flavors/terraform/Dockerfile @@ -629,6 +629,8 @@ LABEL com.github.actions.name="MegaLinter" \ #EXTRA_DOCKERFILE_LINES__START COPY entrypoint.sh /entrypoint.sh -RUN chmod +x entrypoint.sh +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user +RUN chmod +x entrypoint.sh && \ + chmod u+x /usr/bin/setup-runtime-user ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] #EXTRA_DOCKERFILE_LINES__END diff --git a/linters/action_actionlint/Dockerfile b/linters/action_actionlint/Dockerfile index 82954ccda69..85761b258d2 100644 --- a/linters/action_actionlint/Dockerfile +++ b/linters/action_actionlint/Dockerfile @@ -245,10 +245,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/action_zizmor/Dockerfile b/linters/action_zizmor/Dockerfile index e2abeecdfef..b964a0e7721 100644 --- a/linters/action_zizmor/Dockerfile +++ b/linters/action_zizmor/Dockerfile @@ -241,10 +241,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/ansible_ansible_lint/Dockerfile b/linters/ansible_ansible_lint/Dockerfile index eaac6873e6f..97047b59fd0 100644 --- a/linters/ansible_ansible_lint/Dockerfile +++ b/linters/ansible_ansible_lint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/arm_arm_ttk/Dockerfile b/linters/arm_arm_ttk/Dockerfile index f37bab4b902..6dabd272ac0 100644 --- a/linters/arm_arm_ttk/Dockerfile +++ b/linters/arm_arm_ttk/Dockerfile @@ -256,10 +256,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/bash_exec/Dockerfile b/linters/bash_exec/Dockerfile index fdce65dbdd5..9f5a948c188 100644 --- a/linters/bash_exec/Dockerfile +++ b/linters/bash_exec/Dockerfile @@ -234,10 +234,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/bash_shellcheck/Dockerfile b/linters/bash_shellcheck/Dockerfile index f820cc90537..4f0b382d752 100644 --- a/linters/bash_shellcheck/Dockerfile +++ b/linters/bash_shellcheck/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/bash_shfmt/Dockerfile b/linters/bash_shfmt/Dockerfile index 0657eaf1025..509743351af 100644 --- a/linters/bash_shfmt/Dockerfile +++ b/linters/bash_shfmt/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/bicep_bicep_linter/Dockerfile b/linters/bicep_bicep_linter/Dockerfile index 8ae99561bf6..e5ed7debe5f 100644 --- a/linters/bicep_bicep_linter/Dockerfile +++ b/linters/bicep_bicep_linter/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/c_clang_format/Dockerfile b/linters/c_clang_format/Dockerfile index 34e30f3db03..03e3d66cb33 100644 --- a/linters/c_clang_format/Dockerfile +++ b/linters/c_clang_format/Dockerfile @@ -232,10 +232,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/c_cppcheck/Dockerfile b/linters/c_cppcheck/Dockerfile index af84a4933f0..608b97f9f96 100644 --- a/linters/c_cppcheck/Dockerfile +++ b/linters/c_cppcheck/Dockerfile @@ -232,10 +232,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/c_cpplint/Dockerfile b/linters/c_cpplint/Dockerfile index d74ab831de3..72c4381b2fd 100644 --- a/linters/c_cpplint/Dockerfile +++ b/linters/c_cpplint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/clojure_clj_kondo/Dockerfile b/linters/clojure_clj_kondo/Dockerfile index abc01517980..ed7b26029f8 100644 --- a/linters/clojure_clj_kondo/Dockerfile +++ b/linters/clojure_clj_kondo/Dockerfile @@ -238,10 +238,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/clojure_cljstyle/Dockerfile b/linters/clojure_cljstyle/Dockerfile index 0f3a7afbcdc..89b9a7d166b 100644 --- a/linters/clojure_cljstyle/Dockerfile +++ b/linters/clojure_cljstyle/Dockerfile @@ -237,10 +237,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/cloudformation_cfn_lint/Dockerfile b/linters/cloudformation_cfn_lint/Dockerfile index 0ba3c0dc12c..f8895bd0377 100644 --- a/linters/cloudformation_cfn_lint/Dockerfile +++ b/linters/cloudformation_cfn_lint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/coffee_coffeelint/Dockerfile b/linters/coffee_coffeelint/Dockerfile index c02ea1ee16a..2f27dd3ee29 100644 --- a/linters/coffee_coffeelint/Dockerfile +++ b/linters/coffee_coffeelint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/copypaste_jscpd/Dockerfile b/linters/copypaste_jscpd/Dockerfile index 5c2093bda42..57ae5b5f738 100644 --- a/linters/copypaste_jscpd/Dockerfile +++ b/linters/copypaste_jscpd/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/cpp_clang_format/Dockerfile b/linters/cpp_clang_format/Dockerfile index be58ae3f454..ed0b12a608a 100644 --- a/linters/cpp_clang_format/Dockerfile +++ b/linters/cpp_clang_format/Dockerfile @@ -232,10 +232,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/cpp_cppcheck/Dockerfile b/linters/cpp_cppcheck/Dockerfile index 5610b7f6250..b5080466c9a 100644 --- a/linters/cpp_cppcheck/Dockerfile +++ b/linters/cpp_cppcheck/Dockerfile @@ -232,10 +232,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/cpp_cpplint/Dockerfile b/linters/cpp_cpplint/Dockerfile index 3dbdcfa4004..a5827ecce3e 100644 --- a/linters/cpp_cpplint/Dockerfile +++ b/linters/cpp_cpplint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/csharp_csharpier/Dockerfile b/linters/csharp_csharpier/Dockerfile index d063506f7f0..317c888ec2c 100644 --- a/linters/csharp_csharpier/Dockerfile +++ b/linters/csharp_csharpier/Dockerfile @@ -237,10 +237,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/csharp_dotnet_format/Dockerfile b/linters/csharp_dotnet_format/Dockerfile index 98ffcce5323..488a6a09940 100644 --- a/linters/csharp_dotnet_format/Dockerfile +++ b/linters/csharp_dotnet_format/Dockerfile @@ -233,10 +233,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/csharp_roslynator/Dockerfile b/linters/csharp_roslynator/Dockerfile index f0ef48d0fa9..9f50f026f9a 100644 --- a/linters/csharp_roslynator/Dockerfile +++ b/linters/csharp_roslynator/Dockerfile @@ -237,10 +237,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/css_stylelint/Dockerfile b/linters/css_stylelint/Dockerfile index e58142990e3..057f78c5ce1 100644 --- a/linters/css_stylelint/Dockerfile +++ b/linters/css_stylelint/Dockerfile @@ -268,10 +268,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/dart_dartanalyzer/Dockerfile b/linters/dart_dartanalyzer/Dockerfile index 421e849815c..402c03fba82 100644 --- a/linters/dart_dartanalyzer/Dockerfile +++ b/linters/dart_dartanalyzer/Dockerfile @@ -287,10 +287,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/dockerfile_hadolint/Dockerfile b/linters/dockerfile_hadolint/Dockerfile index 2b2cb89a801..e743376044b 100644 --- a/linters/dockerfile_hadolint/Dockerfile +++ b/linters/dockerfile_hadolint/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/editorconfig_editorconfig_checker/Dockerfile b/linters/editorconfig_editorconfig_checker/Dockerfile index 305a1346c4b..10c52fc18ca 100644 --- a/linters/editorconfig_editorconfig_checker/Dockerfile +++ b/linters/editorconfig_editorconfig_checker/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/env_dotenv_linter/Dockerfile b/linters/env_dotenv_linter/Dockerfile index 4792de33f20..ab674e6a0ec 100644 --- a/linters/env_dotenv_linter/Dockerfile +++ b/linters/env_dotenv_linter/Dockerfile @@ -242,10 +242,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/gherkin_gherkin_lint/Dockerfile b/linters/gherkin_gherkin_lint/Dockerfile index e08d43deebc..9969b2f1993 100644 --- a/linters/gherkin_gherkin_lint/Dockerfile +++ b/linters/gherkin_gherkin_lint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/go_golangci_lint/Dockerfile b/linters/go_golangci_lint/Dockerfile index c27fd63719b..68bae21a939 100644 --- a/linters/go_golangci_lint/Dockerfile +++ b/linters/go_golangci_lint/Dockerfile @@ -241,10 +241,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/go_revive/Dockerfile b/linters/go_revive/Dockerfile index c7f72b54cea..957d2b2fedd 100644 --- a/linters/go_revive/Dockerfile +++ b/linters/go_revive/Dockerfile @@ -248,10 +248,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/graphql_graphql_schema_linter/Dockerfile b/linters/graphql_graphql_schema_linter/Dockerfile index 4256c7c44b4..ea742d9db61 100644 --- a/linters/graphql_graphql_schema_linter/Dockerfile +++ b/linters/graphql_graphql_schema_linter/Dockerfile @@ -249,10 +249,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/groovy_npm_groovy_lint/Dockerfile b/linters/groovy_npm_groovy_lint/Dockerfile index c2054d5ea69..ced5ab56ac8 100644 --- a/linters/groovy_npm_groovy_lint/Dockerfile +++ b/linters/groovy_npm_groovy_lint/Dockerfile @@ -248,10 +248,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/html_djlint/Dockerfile b/linters/html_djlint/Dockerfile index 6a9dafa082d..214d7d8cbe5 100644 --- a/linters/html_djlint/Dockerfile +++ b/linters/html_djlint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/html_htmlhint/Dockerfile b/linters/html_htmlhint/Dockerfile index 2461fa87532..c031ca9d4f6 100644 --- a/linters/html_htmlhint/Dockerfile +++ b/linters/html_htmlhint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/java_checkstyle/Dockerfile b/linters/java_checkstyle/Dockerfile index ded3b54c8b4..53bb5e49239 100644 --- a/linters/java_checkstyle/Dockerfile +++ b/linters/java_checkstyle/Dockerfile @@ -240,10 +240,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/java_pmd/Dockerfile b/linters/java_pmd/Dockerfile index 43400cea656..cf249c34903 100644 --- a/linters/java_pmd/Dockerfile +++ b/linters/java_pmd/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/javascript_es/Dockerfile b/linters/javascript_es/Dockerfile index 57ed95d181f..9adcd3ec444 100644 --- a/linters/javascript_es/Dockerfile +++ b/linters/javascript_es/Dockerfile @@ -273,10 +273,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/javascript_prettier/Dockerfile b/linters/javascript_prettier/Dockerfile index 14b84c86ec4..9c1d667f573 100644 --- a/linters/javascript_prettier/Dockerfile +++ b/linters/javascript_prettier/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/javascript_standard/Dockerfile b/linters/javascript_standard/Dockerfile index 20c5d43fa62..29bda215a53 100644 --- a/linters/javascript_standard/Dockerfile +++ b/linters/javascript_standard/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/json_jsonlint/Dockerfile b/linters/json_jsonlint/Dockerfile index 5982e56927b..fdc12785637 100644 --- a/linters/json_jsonlint/Dockerfile +++ b/linters/json_jsonlint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/json_npm_package_json_lint/Dockerfile b/linters/json_npm_package_json_lint/Dockerfile index 01949d6d90a..0ff9bf0b545 100644 --- a/linters/json_npm_package_json_lint/Dockerfile +++ b/linters/json_npm_package_json_lint/Dockerfile @@ -249,10 +249,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/json_prettier/Dockerfile b/linters/json_prettier/Dockerfile index f7aa26749a5..efb35604cfc 100644 --- a/linters/json_prettier/Dockerfile +++ b/linters/json_prettier/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/json_v8r/Dockerfile b/linters/json_v8r/Dockerfile index 72a322888cb..df81730cba9 100644 --- a/linters/json_v8r/Dockerfile +++ b/linters/json_v8r/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/jsx_eslint/Dockerfile b/linters/jsx_eslint/Dockerfile index 932bff81379..bf8131f680f 100644 --- a/linters/jsx_eslint/Dockerfile +++ b/linters/jsx_eslint/Dockerfile @@ -252,10 +252,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/kotlin_detekt/Dockerfile b/linters/kotlin_detekt/Dockerfile index 16668d699e5..7409a0b7fc9 100644 --- a/linters/kotlin_detekt/Dockerfile +++ b/linters/kotlin_detekt/Dockerfile @@ -245,10 +245,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/kotlin_ktlint/Dockerfile b/linters/kotlin_ktlint/Dockerfile index d00b6c4cfe2..d83d9bc1def 100644 --- a/linters/kotlin_ktlint/Dockerfile +++ b/linters/kotlin_ktlint/Dockerfile @@ -242,10 +242,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/kubernetes_helm/Dockerfile b/linters/kubernetes_helm/Dockerfile index 9f70c03ee0a..389c50f360d 100644 --- a/linters/kubernetes_helm/Dockerfile +++ b/linters/kubernetes_helm/Dockerfile @@ -232,10 +232,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/kubernetes_kubeconform/Dockerfile b/linters/kubernetes_kubeconform/Dockerfile index c3c9c7dc4ce..1efc8610c8f 100644 --- a/linters/kubernetes_kubeconform/Dockerfile +++ b/linters/kubernetes_kubeconform/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/kubernetes_kubescape/Dockerfile b/linters/kubernetes_kubescape/Dockerfile index abd0e06614a..644d0b8da1e 100644 --- a/linters/kubernetes_kubescape/Dockerfile +++ b/linters/kubernetes_kubescape/Dockerfile @@ -243,10 +243,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/latex_chktex/Dockerfile b/linters/latex_chktex/Dockerfile index a4e49cefb06..b99945093cf 100644 --- a/linters/latex_chktex/Dockerfile +++ b/linters/latex_chktex/Dockerfile @@ -233,10 +233,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/lua_luacheck/Dockerfile b/linters/lua_luacheck/Dockerfile index 1dc6f54d21e..4264219a7bb 100644 --- a/linters/lua_luacheck/Dockerfile +++ b/linters/lua_luacheck/Dockerfile @@ -247,10 +247,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/lua_stylua/Dockerfile b/linters/lua_stylua/Dockerfile index 946f65a5800..1b06a41b4e1 100644 --- a/linters/lua_stylua/Dockerfile +++ b/linters/lua_stylua/Dockerfile @@ -253,10 +253,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/markdown_markdown_table_formatter/Dockerfile b/linters/markdown_markdown_table_formatter/Dockerfile index a216536a673..f334050b0e7 100644 --- a/linters/markdown_markdown_table_formatter/Dockerfile +++ b/linters/markdown_markdown_table_formatter/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/markdown_markdownlint/Dockerfile b/linters/markdown_markdownlint/Dockerfile index 24526ba932b..c83fc89b4f8 100644 --- a/linters/markdown_markdownlint/Dockerfile +++ b/linters/markdown_markdownlint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/markdown_rumdl/Dockerfile b/linters/markdown_rumdl/Dockerfile index a44177b8e4c..064be404188 100644 --- a/linters/markdown_rumdl/Dockerfile +++ b/linters/markdown_rumdl/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/perl_perlcritic/Dockerfile b/linters/perl_perlcritic/Dockerfile index caef09f4a0a..62002d5098a 100644 --- a/linters/perl_perlcritic/Dockerfile +++ b/linters/perl_perlcritic/Dockerfile @@ -239,10 +239,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/php_phpcs/Dockerfile b/linters/php_phpcs/Dockerfile index b0ea002186e..dbbcc1893cc 100644 --- a/linters/php_phpcs/Dockerfile +++ b/linters/php_phpcs/Dockerfile @@ -256,10 +256,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/php_phpcsfixer/Dockerfile b/linters/php_phpcsfixer/Dockerfile index f50a19cf663..2867d322326 100644 --- a/linters/php_phpcsfixer/Dockerfile +++ b/linters/php_phpcsfixer/Dockerfile @@ -254,10 +254,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/php_phplint/Dockerfile b/linters/php_phplint/Dockerfile index 7b8da134576..1b7ba4b9717 100644 --- a/linters/php_phplint/Dockerfile +++ b/linters/php_phplint/Dockerfile @@ -256,10 +256,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/php_phpstan/Dockerfile b/linters/php_phpstan/Dockerfile index da7172d331f..c59905a7cbb 100644 --- a/linters/php_phpstan/Dockerfile +++ b/linters/php_phpstan/Dockerfile @@ -257,10 +257,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/php_psalm/Dockerfile b/linters/php_psalm/Dockerfile index deb1be5cca1..08e4cb2df69 100644 --- a/linters/php_psalm/Dockerfile +++ b/linters/php_psalm/Dockerfile @@ -254,10 +254,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/powershell_powershell/Dockerfile b/linters/powershell_powershell/Dockerfile index 3209ab88ec8..7596a3928fb 100644 --- a/linters/powershell_powershell/Dockerfile +++ b/linters/powershell_powershell/Dockerfile @@ -249,10 +249,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/powershell_powershell_formatter/Dockerfile b/linters/powershell_powershell_formatter/Dockerfile index 7d1ba98bcd5..b33908e3a47 100644 --- a/linters/powershell_powershell_formatter/Dockerfile +++ b/linters/powershell_powershell_formatter/Dockerfile @@ -249,10 +249,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/protobuf_protolint/Dockerfile b/linters/protobuf_protolint/Dockerfile index 1a7b9171e34..915537a2014 100644 --- a/linters/protobuf_protolint/Dockerfile +++ b/linters/protobuf_protolint/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_bandit/Dockerfile b/linters/python_bandit/Dockerfile index 9fd05398ad2..ab7d8f04142 100644 --- a/linters/python_bandit/Dockerfile +++ b/linters/python_bandit/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_black/Dockerfile b/linters/python_black/Dockerfile index e20b37b480e..f78c2ff4fe9 100644 --- a/linters/python_black/Dockerfile +++ b/linters/python_black/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_flake8/Dockerfile b/linters/python_flake8/Dockerfile index 692185e97b8..9fef2c5db3b 100644 --- a/linters/python_flake8/Dockerfile +++ b/linters/python_flake8/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_isort/Dockerfile b/linters/python_isort/Dockerfile index 704465af210..4f48df42d6f 100644 --- a/linters/python_isort/Dockerfile +++ b/linters/python_isort/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_mypy/Dockerfile b/linters/python_mypy/Dockerfile index ac161e1be4c..0a44c783cba 100644 --- a/linters/python_mypy/Dockerfile +++ b/linters/python_mypy/Dockerfile @@ -245,10 +245,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_nbqa_mypy/Dockerfile b/linters/python_nbqa_mypy/Dockerfile index 51d6f19a628..716931114ad 100644 --- a/linters/python_nbqa_mypy/Dockerfile +++ b/linters/python_nbqa_mypy/Dockerfile @@ -247,10 +247,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_pylint/Dockerfile b/linters/python_pylint/Dockerfile index 13809882c6e..edab00a5a17 100644 --- a/linters/python_pylint/Dockerfile +++ b/linters/python_pylint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_pyright/Dockerfile b/linters/python_pyright/Dockerfile index 385b2de8bec..5e374de7b70 100644 --- a/linters/python_pyright/Dockerfile +++ b/linters/python_pyright/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_ruff/Dockerfile b/linters/python_ruff/Dockerfile index bc9539eafee..2feb9dc12bd 100644 --- a/linters/python_ruff/Dockerfile +++ b/linters/python_ruff/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/python_ruff_format/Dockerfile b/linters/python_ruff_format/Dockerfile index 3c88724f05a..a7feec39a4f 100644 --- a/linters/python_ruff_format/Dockerfile +++ b/linters/python_ruff_format/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/r_lintr/Dockerfile b/linters/r_lintr/Dockerfile index b9807a1ecde..983b73f03e4 100644 --- a/linters/r_lintr/Dockerfile +++ b/linters/r_lintr/Dockerfile @@ -245,10 +245,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/raku_raku/Dockerfile b/linters/raku_raku/Dockerfile index 5ff8afc400d..6eb7774b095 100644 --- a/linters/raku_raku/Dockerfile +++ b/linters/raku_raku/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_checkov/Dockerfile b/linters/repository_checkov/Dockerfile index a6d2d2c9f5c..1aaf6698884 100644 --- a/linters/repository_checkov/Dockerfile +++ b/linters/repository_checkov/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_devskim/Dockerfile b/linters/repository_devskim/Dockerfile index 209e0c87dcc..ac88595d859 100644 --- a/linters/repository_devskim/Dockerfile +++ b/linters/repository_devskim/Dockerfile @@ -236,10 +236,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_dustilock/Dockerfile b/linters/repository_dustilock/Dockerfile index 8805d58db69..95b094b214d 100644 --- a/linters/repository_dustilock/Dockerfile +++ b/linters/repository_dustilock/Dockerfile @@ -240,10 +240,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_git_diff/Dockerfile b/linters/repository_git_diff/Dockerfile index 3f1991c8f22..c4c61b27d50 100644 --- a/linters/repository_git_diff/Dockerfile +++ b/linters/repository_git_diff/Dockerfile @@ -231,10 +231,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_gitleaks/Dockerfile b/linters/repository_gitleaks/Dockerfile index e4287ba7964..92487dff879 100644 --- a/linters/repository_gitleaks/Dockerfile +++ b/linters/repository_gitleaks/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_grype/Dockerfile b/linters/repository_grype/Dockerfile index afca55ce254..adfd12489c7 100644 --- a/linters/repository_grype/Dockerfile +++ b/linters/repository_grype/Dockerfile @@ -234,10 +234,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_kingfisher/Dockerfile b/linters/repository_kingfisher/Dockerfile index 264e84e756f..65f05914cda 100644 --- a/linters/repository_kingfisher/Dockerfile +++ b/linters/repository_kingfisher/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_ls_lint/Dockerfile b/linters/repository_ls_lint/Dockerfile index 571e3c0bd41..581a2a57a63 100644 --- a/linters/repository_ls_lint/Dockerfile +++ b/linters/repository_ls_lint/Dockerfile @@ -242,10 +242,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_osv_scanner/Dockerfile b/linters/repository_osv_scanner/Dockerfile index bfdaaf3bd60..5ac6e3a7991 100644 --- a/linters/repository_osv_scanner/Dockerfile +++ b/linters/repository_osv_scanner/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_secretlint/Dockerfile b/linters/repository_secretlint/Dockerfile index e3e6c6f4c3a..49f5cc17bd3 100644 --- a/linters/repository_secretlint/Dockerfile +++ b/linters/repository_secretlint/Dockerfile @@ -252,10 +252,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_semgrep/Dockerfile b/linters/repository_semgrep/Dockerfile index b98dad67dcb..bb0d613d5eb 100644 --- a/linters/repository_semgrep/Dockerfile +++ b/linters/repository_semgrep/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_syft/Dockerfile b/linters/repository_syft/Dockerfile index 6893a8e6295..4f78a669cdc 100644 --- a/linters/repository_syft/Dockerfile +++ b/linters/repository_syft/Dockerfile @@ -234,10 +234,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_trivy/Dockerfile b/linters/repository_trivy/Dockerfile index e89b46e0c4f..3bb835048e3 100644 --- a/linters/repository_trivy/Dockerfile +++ b/linters/repository_trivy/Dockerfile @@ -236,10 +236,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_trivy_sbom/Dockerfile b/linters/repository_trivy_sbom/Dockerfile index 7eccc5b39f1..3adb98c7846 100644 --- a/linters/repository_trivy_sbom/Dockerfile +++ b/linters/repository_trivy_sbom/Dockerfile @@ -236,10 +236,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/repository_trufflehog/Dockerfile b/linters/repository_trufflehog/Dockerfile index 738c1a5f2a7..5045b839379 100644 --- a/linters/repository_trufflehog/Dockerfile +++ b/linters/repository_trufflehog/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/robotframework_robocop/Dockerfile b/linters/robotframework_robocop/Dockerfile index f7a8f476e20..8900c92dea1 100644 --- a/linters/robotframework_robocop/Dockerfile +++ b/linters/robotframework_robocop/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/rst_rst_lint/Dockerfile b/linters/rst_rst_lint/Dockerfile index d400788946a..a9ba471d9f5 100644 --- a/linters/rst_rst_lint/Dockerfile +++ b/linters/rst_rst_lint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/rst_rstcheck/Dockerfile b/linters/rst_rstcheck/Dockerfile index 2b3977606ba..6f4ab2a4e9b 100644 --- a/linters/rst_rstcheck/Dockerfile +++ b/linters/rst_rstcheck/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/rst_rstfmt/Dockerfile b/linters/rst_rstfmt/Dockerfile index b12e1395459..a90ee124d5d 100644 --- a/linters/rst_rstfmt/Dockerfile +++ b/linters/rst_rstfmt/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/ruby_rubocop/Dockerfile b/linters/ruby_rubocop/Dockerfile index ec348c15d2f..41e50f272f1 100644 --- a/linters/ruby_rubocop/Dockerfile +++ b/linters/ruby_rubocop/Dockerfile @@ -254,10 +254,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/rust_clippy/Dockerfile b/linters/rust_clippy/Dockerfile index 5b8cdd46fc5..1e389e04c95 100644 --- a/linters/rust_clippy/Dockerfile +++ b/linters/rust_clippy/Dockerfile @@ -238,10 +238,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/salesforce_code_analyzer_apex/Dockerfile b/linters/salesforce_code_analyzer_apex/Dockerfile index 8e6700893c7..368d30249b7 100644 --- a/linters/salesforce_code_analyzer_apex/Dockerfile +++ b/linters/salesforce_code_analyzer_apex/Dockerfile @@ -265,10 +265,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/salesforce_code_analyzer_aura/Dockerfile b/linters/salesforce_code_analyzer_aura/Dockerfile index 9f70c5d85b6..ab05723f4a4 100644 --- a/linters/salesforce_code_analyzer_aura/Dockerfile +++ b/linters/salesforce_code_analyzer_aura/Dockerfile @@ -265,10 +265,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/salesforce_code_analyzer_lwc/Dockerfile b/linters/salesforce_code_analyzer_lwc/Dockerfile index ff227eb461e..11121a857ca 100644 --- a/linters/salesforce_code_analyzer_lwc/Dockerfile +++ b/linters/salesforce_code_analyzer_lwc/Dockerfile @@ -265,10 +265,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/scala_scalafix/Dockerfile b/linters/scala_scalafix/Dockerfile index 983ff5ce71a..b498778f0e2 100644 --- a/linters/scala_scalafix/Dockerfile +++ b/linters/scala_scalafix/Dockerfile @@ -242,10 +242,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/snakemake_lint/Dockerfile b/linters/snakemake_lint/Dockerfile index 6cdc1767ee0..d08c3e7b6ec 100644 --- a/linters/snakemake_lint/Dockerfile +++ b/linters/snakemake_lint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/snakemake_snakefmt/Dockerfile b/linters/snakemake_snakefmt/Dockerfile index 103e11ae56b..819b8f64b3e 100644 --- a/linters/snakemake_snakefmt/Dockerfile +++ b/linters/snakemake_snakefmt/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/spell_codespell/Dockerfile b/linters/spell_codespell/Dockerfile index fdc56fad1f2..47b90de99b5 100644 --- a/linters/spell_codespell/Dockerfile +++ b/linters/spell_codespell/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/spell_cspell/Dockerfile b/linters/spell_cspell/Dockerfile index a4aa75a95fa..26f18953f3d 100644 --- a/linters/spell_cspell/Dockerfile +++ b/linters/spell_cspell/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/spell_lychee/Dockerfile b/linters/spell_lychee/Dockerfile index 5ffb1c934c1..6f2cef4f655 100644 --- a/linters/spell_lychee/Dockerfile +++ b/linters/spell_lychee/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/spell_proselint/Dockerfile b/linters/spell_proselint/Dockerfile index fb66bf031ed..27ed4bc1993 100644 --- a/linters/spell_proselint/Dockerfile +++ b/linters/spell_proselint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/spell_vale/Dockerfile b/linters/spell_vale/Dockerfile index 3306edfc4f6..1e738de2397 100644 --- a/linters/spell_vale/Dockerfile +++ b/linters/spell_vale/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/sql_sqlfluff/Dockerfile b/linters/sql_sqlfluff/Dockerfile index 0458d10572a..8a67c0d0e76 100644 --- a/linters/sql_sqlfluff/Dockerfile +++ b/linters/sql_sqlfluff/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/sql_tsqllint/Dockerfile b/linters/sql_tsqllint/Dockerfile index 4f467eccbfb..f33e59e274f 100644 --- a/linters/sql_tsqllint/Dockerfile +++ b/linters/sql_tsqllint/Dockerfile @@ -236,10 +236,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/swift_swiftlint/Dockerfile b/linters/swift_swiftlint/Dockerfile index 7f9658a418f..24512d5507a 100644 --- a/linters/swift_swiftlint/Dockerfile +++ b/linters/swift_swiftlint/Dockerfile @@ -236,10 +236,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/tekton_tekton_lint/Dockerfile b/linters/tekton_tekton_lint/Dockerfile index c6ea9907dd2..2c686c9c531 100644 --- a/linters/tekton_tekton_lint/Dockerfile +++ b/linters/tekton_tekton_lint/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/terraform_terraform_fmt/Dockerfile b/linters/terraform_terraform_fmt/Dockerfile index 954dcaa9a7a..f2acdaa0fb0 100644 --- a/linters/terraform_terraform_fmt/Dockerfile +++ b/linters/terraform_terraform_fmt/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/terraform_terragrunt/Dockerfile b/linters/terraform_terragrunt/Dockerfile index e92ecf0d4b3..2b6472a1769 100644 --- a/linters/terraform_terragrunt/Dockerfile +++ b/linters/terraform_terragrunt/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/terraform_terrascan/Dockerfile b/linters/terraform_terrascan/Dockerfile index 51f058ba69d..a23326c178a 100644 --- a/linters/terraform_terrascan/Dockerfile +++ b/linters/terraform_terrascan/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/terraform_tflint/Dockerfile b/linters/terraform_tflint/Dockerfile index 4f82a5d7bbb..1f436ecef7d 100644 --- a/linters/terraform_tflint/Dockerfile +++ b/linters/terraform_tflint/Dockerfile @@ -235,10 +235,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/tsx_eslint/Dockerfile b/linters/tsx_eslint/Dockerfile index 53801b88ff7..849342a5071 100644 --- a/linters/tsx_eslint/Dockerfile +++ b/linters/tsx_eslint/Dockerfile @@ -276,10 +276,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/typescript_es/Dockerfile b/linters/typescript_es/Dockerfile index 0e486106edc..525a975c4c0 100644 --- a/linters/typescript_es/Dockerfile +++ b/linters/typescript_es/Dockerfile @@ -286,10 +286,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/typescript_prettier/Dockerfile b/linters/typescript_prettier/Dockerfile index 736e2bc6f7a..b6916e33073 100644 --- a/linters/typescript_prettier/Dockerfile +++ b/linters/typescript_prettier/Dockerfile @@ -250,10 +250,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/typescript_standard/Dockerfile b/linters/typescript_standard/Dockerfile index 41999a72519..9d48f002eeb 100644 --- a/linters/typescript_standard/Dockerfile +++ b/linters/typescript_standard/Dockerfile @@ -250,10 +250,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/vbdotnet_dotnet_format/Dockerfile b/linters/vbdotnet_dotnet_format/Dockerfile index 624c582005b..383ad18c688 100644 --- a/linters/vbdotnet_dotnet_format/Dockerfile +++ b/linters/vbdotnet_dotnet_format/Dockerfile @@ -233,10 +233,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/xml_xmllint/Dockerfile b/linters/xml_xmllint/Dockerfile index 26046ad21c3..b79fa7dab23 100644 --- a/linters/xml_xmllint/Dockerfile +++ b/linters/xml_xmllint/Dockerfile @@ -234,10 +234,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/yaml_prettier/Dockerfile b/linters/yaml_prettier/Dockerfile index 5e693909e0e..38db49ea686 100644 --- a/linters/yaml_prettier/Dockerfile +++ b/linters/yaml_prettier/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/yaml_v8r/Dockerfile b/linters/yaml_v8r/Dockerfile index 09e6a25b979..9b70a9bba7b 100644 --- a/linters/yaml_v8r/Dockerfile +++ b/linters/yaml_v8r/Dockerfile @@ -246,10 +246,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ diff --git a/linters/yaml_yamllint/Dockerfile b/linters/yaml_yamllint/Dockerfile index e44a8c18629..f99c5c03120 100644 --- a/linters/yaml_yamllint/Dockerfile +++ b/linters/yaml_yamllint/Dockerfile @@ -244,10 +244,12 @@ EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh COPY sh/megalinter_exec /usr/bin/megalinter_exec +COPY sh/setup-runtime-user /usr/bin/setup-runtime-user COPY sh/motd /etc/motd RUN find /usr/bin/megalinter-sh/ -type f -iname "*.sh" -exec chmod +x {} \; && \ chmod +x entrypoint.sh && \ chmod +x /usr/bin/megalinter_exec && \ + chmod u+x /usr/bin/setup-runtime-user && \ echo "alias megalinter='python -m megalinter.run'" >> ~/.bashrc && source ~/.bashrc && \ echo "alias megalinter_exec='/usr/bin/megalinter_exec'" >> ~/.bashrc && source ~/.bashrc RUN export STANDALONE_LINTER_VERSION="$(python -m megalinter.run --input /tmp --linterversion)" && \ From dfffc85408c1b379bfa4f97a38e5eba4cc617157 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 12:05:02 +0200 Subject: [PATCH 04/19] feat: add non-root runtime smoke tests for PHP, .NET, Rust, npm, Salesforce and SSH (#1975) --- mega-linter-runner/test/runtime-image.test.js | 265 ++++++++++++------ 1 file changed, 181 insertions(+), 84 deletions(-) diff --git a/mega-linter-runner/test/runtime-image.test.js b/mega-linter-runner/test/runtime-image.test.js index 920febb5792..8eb2a7b6a75 100644 --- a/mega-linter-runner/test/runtime-image.test.js +++ b/mega-linter-runner/test/runtime-image.test.js @@ -4,7 +4,6 @@ import fs from "fs-extra"; import os from "os"; import path from "path"; import { fileURLToPath } from "url"; -import { MegaLinterRunner } from "../lib/index.js"; const image = process.env.MEGALINTER_IMAGE; const release = process.env.MEGALINTER_RELEASE || "beta"; @@ -12,6 +11,40 @@ const nodockerpull = process.env.MEGALINTER_NO_DOCKER_PULL === "true" ? true : false; const testDir = path.dirname(fileURLToPath(import.meta.url)); const repoRoot = path.resolve(testDir, "..", ".."); +const runnerCli = path.join(repoRoot, "mega-linter-runner", "lib", "index.js"); +const supportsUserMap = + typeof process.getuid === "function" && typeof process.getgid === "function"; +const runtimeModes = [ + { + id: "root", + label: "root", + dockerArgs: [], + envArgs: [], + sshPort: "22", + sshUser: "root", + sshExpectedUid: "0", + }, + ...(supportsUserMap + ? [ + { + id: "non-root", + label: "non-root", + dockerArgs: [], + envArgs: [ + "-e", + `MEGALINTER_UID=${process.getuid()}`, + "-e", + `MEGALINTER_GID=${process.getgid()}`, + "-e", + "HOME=/home/megalinter", + ], + sshPort: "2222", + sshUser: "megalinter", + sshExpectedUid: `${process.getuid()}`, + }, + ] + : []), +]; function runCommand(command, args, options = {}) { return spawnSync(command, args, { @@ -29,6 +62,11 @@ function assertSuccess(result, message) { ); } +function readDockerLogs(containerName) { + const res = runCommand("docker", ["logs", containerName]); + return [res.stderr, res.stdout].filter(Boolean).join("\n"); +} + function cleanupPathWithDocker(targetPath) { runCommand("docker", [ "run", @@ -65,12 +103,11 @@ async function preparePhpFixture() { return tempDir; } -async function runFixture(pathToLint, enabledLinter) { +async function runFixture(pathToLint, enabledLinter, runtimeMode) { const res = runCommand("docker", [ "run", "--rm", - "--platform", - "linux/amd64", + ...runtimeMode.dockerArgs, "-v", `${pathToLint}:/tmp/lint:rw`, "-e", @@ -79,6 +116,7 @@ async function runFixture(pathToLint, enabledLinter) { `ENABLE_LINTERS=${enabledLinter}`, "-e", "PLUGINS=", + ...runtimeMode.envArgs, image, ]); const details = [res.stderr, res.stdout].filter(Boolean).join("\n"); @@ -93,21 +131,30 @@ async function runFixture(pathToLint, enabledLinter) { } async function runFixtureWithRunner(pathToLint, enabledLinter) { - const options = { - path: pathToLint, + const args = [ + runnerCli, + "--path", + pathToLint, + "--release", release, - nodockerpull, - env: [`ENABLE_LINTERS=${enabledLinter}`, "PLUGINS="], - }; + "--env", + `ENABLE_LINTERS=${enabledLinter}`, + "--env", + "PLUGINS=", + ]; + if (nodockerpull) { + args.push("--nodockerpull"); + } if (image) { - options.image = image; + args.push("--image", image); } - const res = await new MegaLinterRunner().run(options); + const res = runCommand("node", args, { cwd: repoRoot }); + const details = [res.stderr, res.stdout].filter(Boolean).join("\n"); assert.strictEqual( res.status, 0, - res.errorMsg - ? `status is 0 (${res.status} returned)\n${res.errorMsg}` + details + ? `status is 0 (${res.status} returned)\n${details}` : `status is 0 (${res.status} returned)`, ); } @@ -183,14 +230,22 @@ describe("Runtime image", function () { return; } - for (const testCase of runtimeFixtureCases) { - it(`runs ${testCase.title} on the good fixture with docker run`, async () => { - await withFixtureDir(testCase.prepare, async (tempDir) => { - const details = await runFixture(tempDir, testCase.enabledLinter); - assert.match(details, testCase.successPattern); - }); - }).timeout(600000); + for (const runtimeMode of runtimeModes) { + for (const testCase of runtimeFixtureCases) { + it(`runs ${testCase.title} on the good fixture in ${runtimeMode.label} mode`, async () => { + await withFixtureDir(testCase.prepare, async (tempDir) => { + const details = await runFixture( + tempDir, + testCase.enabledLinter, + runtimeMode, + ); + assert.match(details, testCase.successPattern); + }); + }).timeout(600000); + } + } + for (const testCase of runtimeFixtureCases) { it(`runs ${testCase.title} on the good fixture with mega-linter-runner`, async () => { await withFixtureDir(testCase.prepare, async (tempDir) => { await runFixtureWithRunner(tempDir, testCase.enabledLinter); @@ -198,73 +253,115 @@ describe("Runtime image", function () { }).timeout(600000); } - it("accepts an SSH connection in root mode", async () => { - const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "megalinter-ssh-")); - const containerName = `megalinter-ssh-${Date.now()}`; - const privateKey = path.join(tempDir, "id_rsa"); - const publicKey = path.join(tempDir, "id_rsa.pub"); - try { - assertSuccess( - runCommand("ssh-keygen", [ - "-q", - "-t", - "ed25519", - "-N", - "", - "-f", - privateKey, - ]), - "expected ssh-keygen to create a temporary test key", - ); - - const runRes = runCommand("docker", [ - "run", - "-d", - "--rm", - "--name", - containerName, - "-e", - "MEGALINTER_SSH=true", - "-v", - `${tempDir}:/root/docker_ssh:ro`, - "-p", - "127.0.0.1::22", - image, - ]); - assertSuccess(runRes, "expected SSH test container to start"); + for (const runtimeMode of runtimeModes) { + it(`accepts an SSH connection in ${runtimeMode.label} mode`, async () => { + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "megalinter-ssh-")); + const containerName = `megalinter-ssh-${runtimeMode.id}-${Date.now()}`; + const privateKey = path.join(tempDir, "id_rsa"); + const publicKey = path.join(tempDir, "id_rsa.pub"); + try { + assertSuccess( + runCommand("ssh-keygen", [ + "-q", + "-t", + "ed25519", + "-N", + "", + "-f", + privateKey, + ]), + "expected ssh-keygen to create a temporary test key", + ); - const portRes = runCommand("docker", ["port", containerName, "22/tcp"]); - assertSuccess(portRes, "expected SSH test container to publish port 22"); - const publishedPort = portRes.stdout.trim().split(":").pop(); - assert(publishedPort, "expected a published SSH port"); - - let sshResult = null; - for (let attempt = 0; attempt < 30; attempt += 1) { - sshResult = runCommand("ssh", [ - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile=/dev/null", - "-i", - privateKey, + const runRes = runCommand("docker", [ + "run", + "-d", + "--rm", + "--name", + containerName, + ...runtimeMode.dockerArgs, + "-e", + "MEGALINTER_SSH=true", + ...runtimeMode.envArgs, + "-v", + `${tempDir}:/tmp/docker_ssh:ro`, "-p", - publishedPort, - "root@127.0.0.1", - "id -u", + `127.0.0.1::${runtimeMode.sshPort}`, + image, ]); - if (sshResult.status === 0) { - break; + if (runRes.status !== 0) { + const details = [runRes.stderr, runRes.stdout].filter(Boolean).join("\n"); + const logs = readDockerLogs(containerName); + assert.strictEqual( + runRes.status, + 0, + [details, logs].filter(Boolean).join("\n"), + ); } - await new Promise((resolve) => setTimeout(resolve, 1000)); - } - assertSuccess(sshResult, "expected SSH login to succeed"); - assert.strictEqual(sshResult.stdout.trim(), "0"); - assert(await fs.pathExists(publicKey), "expected SSH public key to exist"); - } finally { - runCommand("docker", ["rm", "-f", containerName]); - cleanupPathWithDocker(tempDir); - await fs.remove(tempDir); - } - }).timeout(180000); + const portRes = runCommand("docker", [ + "port", + containerName, + `${runtimeMode.sshPort}/tcp`, + ]); + if (portRes.status !== 0) { + const details = [portRes.stderr, portRes.stdout].filter(Boolean).join("\n"); + const logs = readDockerLogs(containerName); + assert.strictEqual( + portRes.status, + 0, + [ + `expected SSH test container to publish port ${runtimeMode.sshPort}`, + details, + logs, + ] + .filter(Boolean) + .join("\n"), + ); + } + const publishedPort = portRes.stdout.trim().split(":").pop(); + assert(publishedPort, "expected a published SSH port"); + + let sshResult = null; + for (let attempt = 0; attempt < 30; attempt += 1) { + sshResult = runCommand("ssh", [ + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile=/dev/null", + "-i", + privateKey, + "-p", + publishedPort, + `${runtimeMode.sshUser}@127.0.0.1`, + "id -u", + ]); + if (sshResult.status === 0) { + break; + } + await new Promise((resolve) => setTimeout(resolve, 1000)); + } + + if (sshResult.status !== 0) { + assert.strictEqual( + sshResult.status, + 0, + [ + "expected SSH login to succeed", + [sshResult.stderr, sshResult.stdout].filter(Boolean).join("\n"), + readDockerLogs(containerName), + ] + .filter(Boolean) + .join("\n"), + ); + } + assert.strictEqual(sshResult.stdout.trim(), runtimeMode.sshExpectedUid); + assert(await fs.pathExists(publicKey), "expected SSH public key to exist"); + } finally { + runCommand("docker", ["rm", "-f", containerName]); + cleanupPathWithDocker(tempDir); + await fs.remove(tempDir); + } + }).timeout(180000); + } }); From 71a29f60180219db5506eb6b0142a2715e0364f7 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 00:17:28 +0200 Subject: [PATCH 05/19] feat: install .NET tools outside /root (definition) (#1975) --- megalinter/descriptors/csharp.megalinter-descriptor.yml | 8 ++++---- .../descriptors/repository.megalinter-descriptor.yml | 6 +++--- megalinter/descriptors/sql.megalinter-descriptor.yml | 6 +++--- megalinter/descriptors/vbdotnet.megalinter-descriptor.yml | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/megalinter/descriptors/csharp.megalinter-descriptor.yml b/megalinter/descriptors/csharp.megalinter-descriptor.yml index 629473ef1cf..a4d71dc4b64 100644 --- a/megalinter/descriptors/csharp.megalinter-descriptor.yml +++ b/megalinter/descriptors/csharp.megalinter-descriptor.yml @@ -10,8 +10,8 @@ file_extensions: - ".cs" install: dockerfile: - - RUN apk add --no-cache dotnet10-sdk - - ENV PATH="${PATH}:/root/.dotnet/tools" + - RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools + - ENV PATH="${PATH}:/usr/local/dotnet-tools" linters: # DOTNET FORMAT - class: DotnetFormatLinter @@ -108,7 +108,7 @@ linters: - |- # renovate: datasource=nuget depName=csharpier ARG CSHARP_CSHARPIER_VERSION=1.2.6 - - RUN dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" + - RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" supported_platforms: platform: - linux/amd64 @@ -166,7 +166,7 @@ linters: - |- # renovate: datasource=nuget depName=roslynator.dotnet.cli ARG CSHARP_ROSLYNATOR_VERSION=0.12.0 - - RUN dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" + - RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" supported_platforms: platform: - linux/amd64 diff --git a/megalinter/descriptors/repository.megalinter-descriptor.yml b/megalinter/descriptors/repository.megalinter-descriptor.yml index d29d0d4cdbe..58000c7ac9d 100644 --- a/megalinter/descriptors/repository.megalinter-descriptor.yml +++ b/megalinter/descriptors/repository.megalinter-descriptor.yml @@ -143,9 +143,9 @@ linters: - |- # renovate: datasource=nuget depName=Microsoft.CST.DevSkim.CLI ARG REPOSITORY_DEVSKIM_VERSION=1.0.70 - - RUN apk add --no-cache dotnet10-sdk - - ENV PATH="${PATH}:/root/.dotnet/tools" - - RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} + - RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools + - ENV PATH="${PATH}:/usr/local/dotnet-tools" + - RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} supported_platforms: platform: - linux/amd64 diff --git a/megalinter/descriptors/sql.megalinter-descriptor.yml b/megalinter/descriptors/sql.megalinter-descriptor.yml index ae304e8c2f3..cc2a0f37b15 100644 --- a/megalinter/descriptors/sql.megalinter-descriptor.yml +++ b/megalinter/descriptors/sql.megalinter-descriptor.yml @@ -143,9 +143,9 @@ linters: - |- # renovate: datasource=nuget depName=TSQLLint ARG SQL_TSQLLINT_VERSION=1.16.0 - - RUN apk add --no-cache dotnet10-sdk - - ENV PATH="${PATH}:/root/.dotnet/tools" - - RUN dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} + - RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools + - ENV PATH="${PATH}:/usr/local/dotnet-tools" + - RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} supported_platforms: platform: - linux/amd64 diff --git a/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml b/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml index 143e67a6750..c2beabf91d9 100644 --- a/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml +++ b/megalinter/descriptors/vbdotnet.megalinter-descriptor.yml @@ -10,8 +10,8 @@ file_extensions: - ".vb" install: dockerfile: - - RUN apk add --no-cache dotnet10-sdk - - ENV PATH="${PATH}:/root/.dotnet/tools" + - RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools + - ENV PATH="${PATH}:/usr/local/dotnet-tools" linters: # DOTNET FORMAT - class: DotnetFormatLinter From be65e4ecb9d73a836e289cfc5a25a8a3335eb782 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 00:19:45 +0200 Subject: [PATCH 06/19] feat: install .NET tools outside /root (generated) (#1975) --- Dockerfile | 24 +++++++++++------------ docs/descriptors/csharp.md | 4 ++-- docs/descriptors/csharp_csharpier.md | 6 +++--- docs/descriptors/csharp_roslynator.md | 6 +++--- docs/descriptors/repository_devskim.md | 6 +++--- docs/descriptors/sql_tsqllint.md | 6 +++--- docs/descriptors/vbdotnet.md | 4 ++-- flavors/dotnet/Dockerfile | 18 ++++++++--------- flavors/dotnetweb/Dockerfile | 18 ++++++++--------- flavors/formatters/Dockerfile | 12 ++++++------ flavors/security/Dockerfile | 6 +++--- linters/csharp_csharpier/Dockerfile | 6 +++--- linters/csharp_dotnet_format/Dockerfile | 4 ++-- linters/csharp_roslynator/Dockerfile | 6 +++--- linters/repository_devskim/Dockerfile | 6 +++--- linters/sql_tsqllint/Dockerfile | 6 +++--- linters/vbdotnet_dotnet_format/Dockerfile | 4 ++-- 17 files changed, 71 insertions(+), 71 deletions(-) diff --git a/Dockerfile b/Dockerfile index ae635b874ee..e91c70e28f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -803,8 +803,8 @@ esac \ && chmod +x /opt/microsoft/powershell/7/pwsh \ && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \ # CSHARP installation - && apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" + && apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # DART installation ENV LANG=C.UTF-8 RUN ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" && \ @@ -892,9 +892,9 @@ RUN curl --retry-all-errors --retry 10 -fLo coursier https://github.com/coursier # TYPESCRIPT installation # VBDOTNET installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" +# ENV PATH="${PATH}:/usr/local/dotnet-tools" # actionlint installation # Managed with COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint # # shellcheck is a dependency for actionlint @@ -940,9 +940,9 @@ esac \ # jscpd installation # cpplint installation # csharpier installation - && dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ # roslynator installation - && dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ # stylelint installation # dartanalyzer installation && case ${TARGETPLATFORM} in \ @@ -1098,10 +1098,10 @@ ENV PATH="~/.raku/bin:/opt/rakudo-pkg/bin:/opt/rakudo-pkg/share/perl6/site/bin:$ # checkov installation # devskim installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} \ +# ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} \ # dustilock installation # Managed with COPY --link --from=dustilock /usr/bin/dustilock /usr/bin/dustilock # gitleaks installation @@ -1168,10 +1168,10 @@ RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI # sqlfluff installation # tsqllint installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" - && dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} +# ENV PATH="${PATH}:/usr/local/dotnet-tools" + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} # swiftlint installation # renovate: datasource=docker depName=ghcr.io/realm/swiftlint ENV SWIFT_SWIFTLINT_VERSION=0.63.3 diff --git a/docs/descriptors/csharp.md b/docs/descriptors/csharp.md index bffde3346f8..bb689af8bd7 100644 --- a/docs/descriptors/csharp.md +++ b/docs/descriptors/csharp.md @@ -36,7 +36,7 @@ description: dotnet-format, csharpier, roslynator are available to analyze CSHAR - Dockerfile commands : ```dockerfile -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" ``` diff --git a/docs/descriptors/csharp_csharpier.md b/docs/descriptors/csharp_csharpier.md index 628e6ab1104..fb118d9dce6 100644 --- a/docs/descriptors/csharp_csharpier.md +++ b/docs/descriptors/csharp_csharpier.md @@ -124,11 +124,11 @@ Commands: - Dockerfile commands : ```dockerfile # Parent descriptor install -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # Linter install # renovate: datasource=nuget depName=csharpier ARG CSHARP_CSHARPIER_VERSION=1.2.6 -RUN dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" ``` diff --git a/docs/descriptors/csharp_roslynator.md b/docs/descriptors/csharp_roslynator.md index a3f55b6b32a..64b14fd48ca 100644 --- a/docs/descriptors/csharp_roslynator.md +++ b/docs/descriptors/csharp_roslynator.md @@ -123,11 +123,11 @@ Run 'roslynator help [command]' for more information on a command. - Dockerfile commands : ```dockerfile # Parent descriptor install -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # Linter install # renovate: datasource=nuget depName=roslynator.dotnet.cli ARG CSHARP_ROSLYNATOR_VERSION=0.12.0 -RUN dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" ``` diff --git a/docs/descriptors/repository_devskim.md b/docs/descriptors/repository_devskim.md index b171557c119..db864f38884 100644 --- a/docs/descriptors/repository_devskim.md +++ b/docs/descriptors/repository_devskim.md @@ -134,9 +134,9 @@ devskim 1.0.70+d69541fde7 ```dockerfile # renovate: datasource=nuget depName=Microsoft.CST.DevSkim.CLI ARG REPOSITORY_DEVSKIM_VERSION=1.0.70 -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} ``` diff --git a/docs/descriptors/sql_tsqllint.md b/docs/descriptors/sql_tsqllint.md index baa9e402032..0c2e4850f66 100644 --- a/docs/descriptors/sql_tsqllint.md +++ b/docs/descriptors/sql_tsqllint.md @@ -123,9 +123,9 @@ tsqllint [options] [file.sql] | [dir] | [file.sql | dir] ```dockerfile # renovate: datasource=nuget depName=TSQLLint ARG SQL_TSQLLINT_VERSION=1.16.0 -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} ``` diff --git a/docs/descriptors/vbdotnet.md b/docs/descriptors/vbdotnet.md index 3ed1ecec086..1d7633871a6 100644 --- a/docs/descriptors/vbdotnet.md +++ b/docs/descriptors/vbdotnet.md @@ -34,7 +34,7 @@ description: dotnet-format is available to analyze VBDOTNET files in MegaLinter - Dockerfile commands : ```dockerfile -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" ``` diff --git a/flavors/dotnet/Dockerfile b/flavors/dotnet/Dockerfile index b911f5aa003..50ba2d70238 100644 --- a/flavors/dotnet/Dockerfile +++ b/flavors/dotnet/Dockerfile @@ -476,8 +476,8 @@ esac \ && chmod +x /opt/microsoft/powershell/7/pwsh \ && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \ # CSHARP installation - && apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" + && apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # KOTLIN installation ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" @@ -494,9 +494,9 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh # VBDOTNET installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" +# ENV PATH="${PATH}:/usr/local/dotnet-tools" # actionlint installation # Managed with COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint # # shellcheck is a dependency for actionlint @@ -532,9 +532,9 @@ esac \ # jscpd installation # cpplint installation # csharpier installation - && dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ # roslynator installation - && dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ # stylelint installation # hadolint installation # Managed with COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint @@ -636,10 +636,10 @@ RUN curl --retry 5 --retry-delay 5 -sSLO https://github.com/pinterest/ktlint/rel # sqlfluff installation # tsqllint installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" - && dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} +# ENV PATH="${PATH}:/usr/local/dotnet-tools" + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} # tekton-lint installation # prettier installation # yamllint installation diff --git a/flavors/dotnetweb/Dockerfile b/flavors/dotnetweb/Dockerfile index f2852fb3560..baab53efe62 100644 --- a/flavors/dotnetweb/Dockerfile +++ b/flavors/dotnetweb/Dockerfile @@ -530,8 +530,8 @@ esac \ && chmod +x /opt/microsoft/powershell/7/pwsh \ && ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh \ # CSHARP installation - && apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" + && apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # KOTLIN installation ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" @@ -549,9 +549,9 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # TYPESCRIPT installation # VBDOTNET installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" +# ENV PATH="${PATH}:/usr/local/dotnet-tools" # actionlint installation # Managed with COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint # # shellcheck is a dependency for actionlint @@ -588,9 +588,9 @@ esac \ # jscpd installation # cpplint installation # csharpier installation - && dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ # roslynator installation - && dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ # stylelint installation # hadolint installation # Managed with COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint @@ -696,10 +696,10 @@ RUN curl --retry 5 --retry-delay 5 -sSLO https://github.com/pinterest/ktlint/rel # sqlfluff installation # tsqllint installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" - && dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} +# ENV PATH="${PATH}:/usr/local/dotnet-tools" + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} # tekton-lint installation # eslint installation # eslint installation diff --git a/flavors/formatters/Dockerfile b/flavors/formatters/Dockerfile index d402c5d56de..6d321dde997 100644 --- a/flavors/formatters/Dockerfile +++ b/flavors/formatters/Dockerfile @@ -258,8 +258,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # CSHARP installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # POWERSHELL installation RUN case ${TARGETPLATFORM} in \ "linux/amd64") POWERSHELL_ARCH=musl-x64 ;; \ @@ -273,15 +273,15 @@ esac \ # TYPESCRIPT installation # VBDOTNET installation # Next line commented because already managed by another linter -# RUN apk add --no-cache dotnet10-sdk +# RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools # Next line commented because already managed by another linter -# ENV PATH="${PATH}:/root/.dotnet/tools" +# ENV PATH="${PATH}:/usr/local/dotnet-tools" # shfmt installation # Managed with COPY --link --from=shfmt /bin/shfmt /usr/bin/ # csharpier installation - && dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" \ # roslynator installation - && dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ + && dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" \ # prettier installation # prettier installation # markdownlint installation diff --git a/flavors/security/Dockerfile b/flavors/security/Dockerfile index 5b201997e70..456c33a686f 100644 --- a/flavors/security/Dockerfile +++ b/flavors/security/Dockerfile @@ -332,9 +332,9 @@ RUN printf '#!/bin/bash \n\nif [[ -x "$1" ]]; then exit 0; else echo "Error: Fil # bandit installation # checkov installation # devskim installation - && apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} \ + && apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} \ # dustilock installation # Managed with COPY --link --from=dustilock /usr/bin/dustilock /usr/bin/dustilock # gitleaks installation diff --git a/linters/csharp_csharpier/Dockerfile b/linters/csharp_csharpier/Dockerfile index 317c888ec2c..f568164f496 100644 --- a/linters/csharp_csharpier/Dockerfile +++ b/linters/csharp_csharpier/Dockerfile @@ -156,10 +156,10 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # CSHARP installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # csharpier installation -RUN dotnet tool install --allow-roll-forward --global csharpier --version "${CSHARP_CSHARPIER_VERSION}" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools csharpier --version "${CSHARP_CSHARPIER_VERSION}" #OTHER__END ################################ diff --git a/linters/csharp_dotnet_format/Dockerfile b/linters/csharp_dotnet_format/Dockerfile index 488a6a09940..af86b3787e1 100644 --- a/linters/csharp_dotnet_format/Dockerfile +++ b/linters/csharp_dotnet_format/Dockerfile @@ -154,8 +154,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # CSHARP installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" #OTHER__END ################################ diff --git a/linters/csharp_roslynator/Dockerfile b/linters/csharp_roslynator/Dockerfile index 9f50f026f9a..7ecb888bafd 100644 --- a/linters/csharp_roslynator/Dockerfile +++ b/linters/csharp_roslynator/Dockerfile @@ -156,10 +156,10 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # CSHARP installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" # roslynator installation -RUN dotnet tool install --allow-roll-forward --global roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools roslynator.dotnet.cli --version "${CSHARP_ROSLYNATOR_VERSION}" #OTHER__END ################################ diff --git a/linters/repository_devskim/Dockerfile b/linters/repository_devskim/Dockerfile index ac88595d859..8a1e591f9a1 100644 --- a/linters/repository_devskim/Dockerfile +++ b/linters/repository_devskim/Dockerfile @@ -156,9 +156,9 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # devskim installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools Microsoft.CST.DevSkim.CLI --version ${REPOSITORY_DEVSKIM_VERSION} #OTHER__END ################################ diff --git a/linters/sql_tsqllint/Dockerfile b/linters/sql_tsqllint/Dockerfile index f33e59e274f..386e14feaed 100644 --- a/linters/sql_tsqllint/Dockerfile +++ b/linters/sql_tsqllint/Dockerfile @@ -156,9 +156,9 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # tsqllint installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" -RUN dotnet tool install --allow-roll-forward --global TSQLLint --version ${SQL_TSQLLINT_VERSION} +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" +RUN dotnet tool install --allow-roll-forward --tool-path /usr/local/dotnet-tools TSQLLint --version ${SQL_TSQLLINT_VERSION} #OTHER__END ################################ diff --git a/linters/vbdotnet_dotnet_format/Dockerfile b/linters/vbdotnet_dotnet_format/Dockerfile index 383ad18c688..f6a13c26bfa 100644 --- a/linters/vbdotnet_dotnet_format/Dockerfile +++ b/linters/vbdotnet_dotnet_format/Dockerfile @@ -154,8 +154,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ ############################################################################################# #OTHER__START # VBDOTNET installation -RUN apk add --no-cache dotnet10-sdk -ENV PATH="${PATH}:/root/.dotnet/tools" +RUN apk add --no-cache dotnet10-sdk && install -d /usr/local/dotnet-tools +ENV PATH="${PATH}:/usr/local/dotnet-tools" #OTHER__END ################################ From 391084a09bc1410f20c86ac075461db78d363ea7 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Mon, 15 Jun 2026 23:55:18 +0200 Subject: [PATCH 07/19] feat: install Rust outside /root (definition) (#1975) --- .automation/build.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.automation/build.py b/.automation/build.py index 57a1d9361d5..a9c1bf1519a 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -545,14 +545,17 @@ def build_dockerfile( if keep_rustup is True: rustup_cargo_cmd = " && ".join(rust_commands) cargo_install_command = ( - "RUN curl https://sh.rustup.rs -sSf |" - + " sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} \\\n" - + ' && export PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" \\\n' + "RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \\\n" + + " && curl https://sh.rustup.rs -sSf |" + + " sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} --no-modify-path \\\n" + + ' && export PATH="${CARGO_HOME}/bin:${PATH}" \\\n' + " && rustup default stable \\\n" + f" && {rustup_cargo_cmd} \\\n" - + " && rm -rf /root/.cargo/registry /root/.cargo/git " - + "/root/.cache/sccache\n" - + 'ENV PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}"' + + ' && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \\\n' + + ' && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache\n' + + "ENV RUSTUP_HOME=/usr/local/rustup\n" + + "ENV CARGO_HOME=/usr/local/cargo\n" + + 'ENV PATH="/usr/local/cargo/bin:${PATH}"' ) # Pin every standalone `FROM alpine:X.Y` build stage to the runtime image's # Alpine version (parsed from the python base image) so helper stages can never From 415d4064611491212f23d23afa8003ea8d242317 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Mon, 15 Jun 2026 23:58:01 +0200 Subject: [PATCH 08/19] feat: install Rust outside /root (generated) (#1975) --- Dockerfile | 12 ++++++++---- flavors/cupcake/Dockerfile | 12 ++++++++---- flavors/rust/Dockerfile | 12 ++++++++---- linters/rust_clippy/Dockerfile | 12 ++++++++---- 4 files changed, 32 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index e91c70e28f1..e667cfc3588 100644 --- a/Dockerfile +++ b/Dockerfile @@ -539,12 +539,16 @@ RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin || true && \ ############################################################################################# #CARGO__START -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} \ - && export PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" \ +RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ + && curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} --no-modify-path \ + && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && rm -rf /root/.cargo/registry /root/.cargo/git /root/.cache/sccache -ENV PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" + && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache +ENV RUSTUP_HOME=/usr/local/rustup +ENV CARGO_HOME=/usr/local/cargo +ENV PATH="/usr/local/cargo/bin:${PATH}" #CARGO__END ############################## diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile index 2683cde0d44..391a43caed1 100644 --- a/flavors/cupcake/Dockerfile +++ b/flavors/cupcake/Dockerfile @@ -426,12 +426,16 @@ RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin || true && \ ############################################################################################# #CARGO__START -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} \ - && export PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" \ +RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ + && curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} --no-modify-path \ + && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && rm -rf /root/.cargo/registry /root/.cargo/git /root/.cache/sccache -ENV PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" + && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache +ENV RUSTUP_HOME=/usr/local/rustup +ENV CARGO_HOME=/usr/local/cargo +ENV PATH="/usr/local/cargo/bin:${PATH}" #CARGO__END ############################## diff --git a/flavors/rust/Dockerfile b/flavors/rust/Dockerfile index 45a283c0de6..c917c5d84e2 100644 --- a/flavors/rust/Dockerfile +++ b/flavors/rust/Dockerfile @@ -282,12 +282,16 @@ RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin || true && \ ############################################################################################# #CARGO__START -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} \ - && export PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" \ +RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ + && curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} --no-modify-path \ + && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && rm -rf /root/.cargo/registry /root/.cargo/git /root/.cache/sccache -ENV PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" + && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache +ENV RUSTUP_HOME=/usr/local/rustup +ENV CARGO_HOME=/usr/local/cargo +ENV PATH="/usr/local/cargo/bin:${PATH}" #CARGO__END ############################## diff --git a/linters/rust_clippy/Dockerfile b/linters/rust_clippy/Dockerfile index 1e389e04c95..1619d5cd619 100644 --- a/linters/rust_clippy/Dockerfile +++ b/linters/rust_clippy/Dockerfile @@ -102,12 +102,16 @@ RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin || true && \ ############################################################################################# #CARGO__START -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} \ - && export PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" \ +RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ + && curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_RUST_VERSION} --no-modify-path \ + && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && rm -rf /root/.cargo/registry /root/.cargo/git /root/.cache/sccache -ENV PATH="/root/.cargo/bin:/root/.cargo/env:${PATH}" + && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache +ENV RUSTUP_HOME=/usr/local/rustup +ENV CARGO_HOME=/usr/local/cargo +ENV PATH="/usr/local/cargo/bin:${PATH}" #CARGO__END ############################## From f55d06d30693e575e152009c508fbde38d1d16c0 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Mon, 15 Jun 2026 23:46:58 +0200 Subject: [PATCH 09/19] feat: install PHP outside /root (definition) (#1975) --- megalinter/descriptors/php.megalinter-descriptor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/megalinter/descriptors/php.megalinter-descriptor.yml b/megalinter/descriptors/php.megalinter-descriptor.yml index b48e18509f5..4e87748aa0b 100644 --- a/megalinter/descriptors/php.megalinter-descriptor.yml +++ b/megalinter/descriptors/php.megalinter-descriptor.yml @@ -26,7 +26,8 @@ install: dockerfile: - RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 - COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer - - ENV PATH="/root/.composer/vendor/bin:${PATH}" + - ENV COMPOSER_HOME=/usr/local/composer + - ENV PATH="/usr/local/composer/vendor/bin:${PATH}" supported_platforms: platform: - linux/amd64 From acdacc64e713d85d0e3fad535b5d32a1cc4c4907 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Mon, 15 Jun 2026 23:49:49 +0200 Subject: [PATCH 10/19] feat: install PHP outside /root (generated) (#1975) --- Dockerfile | 3 ++- docs/descriptors/php.md | 3 ++- docs/descriptors/php_php_cs_fixer.md | 3 ++- docs/descriptors/php_phpcs.md | 3 ++- docs/descriptors/php_phplint.md | 3 ++- docs/descriptors/php_phpstan.md | 3 ++- docs/descriptors/php_psalm.md | 3 ++- flavors/cupcake/Dockerfile | 3 ++- flavors/php/Dockerfile | 3 ++- linters/php_phpcs/Dockerfile | 3 ++- linters/php_phpcsfixer/Dockerfile | 3 ++- linters/php_phplint/Dockerfile | 3 ++- linters/php_phpstan/Dockerfile | 3 ++- linters/php_psalm/Dockerfile | 3 ++- 14 files changed, 28 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index e667cfc3588..f8f078ed5fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -863,7 +863,8 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # POWERSHELL installation # Next line commented because already managed by another linter # RUN case ${TARGETPLATFORM} in \ diff --git a/docs/descriptors/php.md b/docs/descriptors/php.md index 97f9c8ddfd8..fe2dab7a0a0 100644 --- a/docs/descriptors/php.md +++ b/docs/descriptors/php.md @@ -40,7 +40,8 @@ description: phpcs, phpstan, psalm, phplint, php-cs-fixer are available to analy ```dockerfile RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" ``` - APK packages (Linux): diff --git a/docs/descriptors/php_php_cs_fixer.md b/docs/descriptors/php_php_cs_fixer.md index a471e35824d..8786d5f7c0e 100644 --- a/docs/descriptors/php_php_cs_fixer.md +++ b/docs/descriptors/php_php_cs_fixer.md @@ -156,7 +156,8 @@ Help: # Parent descriptor install RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # Linter install # renovate: datasource=packagist depName=friendsofphp/php-cs-fixer ARG PHP_FRIENDSOFPHP_PHP_CS_FIXER_VERSION=v3.95.4 diff --git a/docs/descriptors/php_phpcs.md b/docs/descriptors/php_phpcs.md index d7ed4132dd6..59936abe854 100644 --- a/docs/descriptors/php_phpcs.md +++ b/docs/descriptors/php_phpcs.md @@ -251,7 +251,8 @@ Miscellaneous Options: # Parent descriptor install RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # Linter install # renovate: datasource=packagist depName=squizlabs/php_codesniffer ARG PHP_SQUIZLABS_PHP_CODESNIFFER_VERSION=4.0.1 diff --git a/docs/descriptors/php_phplint.md b/docs/descriptors/php_phplint.md index 1983258c071..ae9325475e6 100644 --- a/docs/descriptors/php_phplint.md +++ b/docs/descriptors/php_phplint.md @@ -139,7 +139,8 @@ Options: # Parent descriptor install RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # Linter install # renovate: datasource=packagist depName=overtrue/phplint ARG PHP_OVERTRUE_PHPLINT_VERSION=9.7.2 diff --git a/docs/descriptors/php_phpstan.md b/docs/descriptors/php_phpstan.md index 11987b8f5a7..0e2a93a1524 100644 --- a/docs/descriptors/php_phpstan.md +++ b/docs/descriptors/php_phpstan.md @@ -139,7 +139,8 @@ Options: # Parent descriptor install RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # Linter install # renovate: datasource=packagist depName=phpstan/phpstan ARG PHP_PHPSTAN_PHPSTAN_VERSION=2.2.2 diff --git a/docs/descriptors/php_psalm.md b/docs/descriptors/php_psalm.md index 394b6dfa739..815e9976705 100644 --- a/docs/descriptors/php_psalm.md +++ b/docs/descriptors/php_psalm.md @@ -303,7 +303,8 @@ Miscellaneous: # Parent descriptor install RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # Linter install # renovate: datasource=packagist depName=vimeo/psalm ARG PHP_VIMEO_PSALM_VERSION=6.16.1 diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile index 391a43caed1..7326ff4bdae 100644 --- a/flavors/cupcake/Dockerfile +++ b/flavors/cupcake/Dockerfile @@ -676,7 +676,8 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # TYPESCRIPT installation # actionlint installation # Managed with COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint diff --git a/flavors/php/Dockerfile b/flavors/php/Dockerfile index f8a415fd580..8069c7e5fc3 100644 --- a/flavors/php/Dockerfile +++ b/flavors/php/Dockerfile @@ -464,7 +464,8 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # actionlint installation # Managed with COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint # # shellcheck is a dependency for actionlint diff --git a/linters/php_phpcs/Dockerfile b/linters/php_phpcs/Dockerfile index dbbcc1893cc..ce69a53a44e 100644 --- a/linters/php_phpcs/Dockerfile +++ b/linters/php_phpcs/Dockerfile @@ -175,7 +175,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # phpcs installation RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer global require squizlabs/php_codesniffer:${PHP_SQUIZLABS_PHP_CODESNIFFER_VERSION} bartlett/sarif-php-converters:${PHP_BARTLETT_SARIF_PHP_CONVERTERS_VERSION} diff --git a/linters/php_phpcsfixer/Dockerfile b/linters/php_phpcsfixer/Dockerfile index 2867d322326..37bd310410a 100644 --- a/linters/php_phpcsfixer/Dockerfile +++ b/linters/php_phpcsfixer/Dockerfile @@ -173,7 +173,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # php-cs-fixer installation RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer global require friendsofphp/php-cs-fixer:${PHP_FRIENDSOFPHP_PHP_CS_FIXER_VERSION} --with-all-dependencies diff --git a/linters/php_phplint/Dockerfile b/linters/php_phplint/Dockerfile index 1b7ba4b9717..0f822fc8d50 100644 --- a/linters/php_phplint/Dockerfile +++ b/linters/php_phplint/Dockerfile @@ -175,7 +175,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # phplint installation RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer global require overtrue/phplint:${PHP_OVERTRUE_PHPLINT_VERSION} bartlett/sarif-php-converters:${PHP_BARTLETT_SARIF_PHP_CONVERTERS_VERSION} diff --git a/linters/php_phpstan/Dockerfile b/linters/php_phpstan/Dockerfile index c59905a7cbb..77d67d18e23 100644 --- a/linters/php_phpstan/Dockerfile +++ b/linters/php_phpstan/Dockerfile @@ -177,7 +177,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # phpstan installation RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer config --global allow-plugins.phpstan/extension-installer true && composer global require phpstan/phpstan:${PHP_PHPSTAN_PHPSTAN_VERSION} phpstan/extension-installer:${PHP_PHPSTAN_EXTENSION_INSTALLER_VERSION} bartlett/sarif-php-converters:${PHP_BARTLETT_SARIF_PHP_CONVERTERS_VERSION} #OTHER__END diff --git a/linters/php_psalm/Dockerfile b/linters/php_psalm/Dockerfile index 08e4cb2df69..dbefb5e88c7 100644 --- a/linters/php_psalm/Dockerfile +++ b/linters/php_psalm/Dockerfile @@ -173,7 +173,8 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # PHP installation RUN update-alternatives --install /usr/bin/php php /usr/bin/php84 110 # Managed with COPY --link --from=composer/composer:2-bin /composer /usr/bin/composer -ENV PATH="/root/.composer/vendor/bin:${PATH}" +ENV COMPOSER_HOME=/usr/local/composer +ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # psalm installation RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_AUTH_TOKEN="$(cat /run/secrets/GITHUB_TOKEN)" && export GITHUB_AUTH_TOKEN && composer global require vimeo/psalm:${PHP_VIMEO_PSALM_VERSION} From 9778637fea9b68d4379b108b8c6b480ec8eba02a Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 03:43:09 +0200 Subject: [PATCH 11/19] feat: install Salesforce outside /root (definition) (#1975) --- megalinter/descriptors/salesforce.megalinter-descriptor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/megalinter/descriptors/salesforce.megalinter-descriptor.yml b/megalinter/descriptors/salesforce.megalinter-descriptor.yml index 37171f73fe8..4c8e8d6d133 100644 --- a/megalinter/descriptors/salesforce.megalinter-descriptor.yml +++ b/megalinter/descriptors/salesforce.megalinter-descriptor.yml @@ -21,6 +21,7 @@ install: ARG SFDX_HARDIS_VERSION=7.15.0 - ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk - ENV PATH="$JAVA_HOME/bin:${PATH}" + - ENV XDG_DATA_HOME=/usr/local/share - |- RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ From 26f226b193057417ccc8f76fabaff8504d3b5a7e Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 15:48:43 +0200 Subject: [PATCH 12/19] feat: install Salesforce outside /root (generated) (#1975) --- Dockerfile | 1 + docs/descriptors/salesforce.md | 1 + docs/descriptors/salesforce_code_analyzer_apex.md | 1 + docs/descriptors/salesforce_code_analyzer_aura.md | 1 + docs/descriptors/salesforce_code_analyzer_lwc.md | 1 + docs/descriptors/salesforce_lightning_flow_scanner.md | 1 + docs/descriptors/salesforce_sfdx_scanner_apex.md | 1 + docs/descriptors/salesforce_sfdx_scanner_aura.md | 1 + docs/descriptors/salesforce_sfdx_scanner_lwc.md | 1 + flavors/salesforce/Dockerfile | 1 + linters/salesforce_code_analyzer_apex/Dockerfile | 1 + linters/salesforce_code_analyzer_aura/Dockerfile | 1 + linters/salesforce_code_analyzer_lwc/Dockerfile | 1 + 13 files changed, 13 insertions(+) diff --git a/Dockerfile b/Dockerfile index f8f078ed5fd..d1b06665015 100644 --- a/Dockerfile +++ b/Dockerfile @@ -881,6 +881,7 @@ ENV PATH="/usr/local/composer/vendor/bin:${PATH}" # ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk # Next line commented because already managed by another linter # ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce.md b/docs/descriptors/salesforce.md index 69cb009dcb2..d49f846efb4 100644 --- a/docs/descriptors/salesforce.md +++ b/docs/descriptors/salesforce.md @@ -45,6 +45,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_code_analyzer_apex.md b/docs/descriptors/salesforce_code_analyzer_apex.md index fdbf05da1bf..61c03fd5281 100644 --- a/docs/descriptors/salesforce_code_analyzer_apex.md +++ b/docs/descriptors/salesforce_code_analyzer_apex.md @@ -493,6 +493,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_code_analyzer_aura.md b/docs/descriptors/salesforce_code_analyzer_aura.md index fd9189d5dd5..51928b15562 100644 --- a/docs/descriptors/salesforce_code_analyzer_aura.md +++ b/docs/descriptors/salesforce_code_analyzer_aura.md @@ -718,6 +718,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_code_analyzer_lwc.md b/docs/descriptors/salesforce_code_analyzer_lwc.md index 94556e89f04..b54cd37234c 100644 --- a/docs/descriptors/salesforce_code_analyzer_lwc.md +++ b/docs/descriptors/salesforce_code_analyzer_lwc.md @@ -247,6 +247,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_lightning_flow_scanner.md b/docs/descriptors/salesforce_lightning_flow_scanner.md index 840068b913b..eeab71d1bd4 100644 --- a/docs/descriptors/salesforce_lightning_flow_scanner.md +++ b/docs/descriptors/salesforce_lightning_flow_scanner.md @@ -144,6 +144,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_sfdx_scanner_apex.md b/docs/descriptors/salesforce_sfdx_scanner_apex.md index bc216d7b8b6..20bbec7f36d 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_apex.md +++ b/docs/descriptors/salesforce_sfdx_scanner_apex.md @@ -405,6 +405,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_sfdx_scanner_aura.md b/docs/descriptors/salesforce_sfdx_scanner_aura.md index 99b52c8415f..07f4f455c60 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_aura.md +++ b/docs/descriptors/salesforce_sfdx_scanner_aura.md @@ -402,6 +402,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/docs/descriptors/salesforce_sfdx_scanner_lwc.md b/docs/descriptors/salesforce_sfdx_scanner_lwc.md index 0d29d26554e..7c3be098bf3 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_lwc.md +++ b/docs/descriptors/salesforce_sfdx_scanner_lwc.md @@ -403,6 +403,7 @@ ARG NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION=2.28.6 ARG SFDX_HARDIS_VERSION=7.15.0 ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/flavors/salesforce/Dockerfile b/flavors/salesforce/Dockerfile index 2c98d2d87f8..c3cb04f47a6 100644 --- a/flavors/salesforce/Dockerfile +++ b/flavors/salesforce/Dockerfile @@ -452,6 +452,7 @@ ENV PATH="$JAVA_HOME/bin:${PATH}" # ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk # Next line commented because already managed by another linter # ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/linters/salesforce_code_analyzer_apex/Dockerfile b/linters/salesforce_code_analyzer_apex/Dockerfile index 368d30249b7..cfbccae300a 100644 --- a/linters/salesforce_code_analyzer_apex/Dockerfile +++ b/linters/salesforce_code_analyzer_apex/Dockerfile @@ -179,6 +179,7 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # SALESFORCE installation ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/linters/salesforce_code_analyzer_aura/Dockerfile b/linters/salesforce_code_analyzer_aura/Dockerfile index ab05723f4a4..3c3c42e5c3b 100644 --- a/linters/salesforce_code_analyzer_aura/Dockerfile +++ b/linters/salesforce_code_analyzer_aura/Dockerfile @@ -179,6 +179,7 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # SALESFORCE installation ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ diff --git a/linters/salesforce_code_analyzer_lwc/Dockerfile b/linters/salesforce_code_analyzer_lwc/Dockerfile index 11121a857ca..05c151fa077 100644 --- a/linters/salesforce_code_analyzer_lwc/Dockerfile +++ b/linters/salesforce_code_analyzer_lwc/Dockerfile @@ -179,6 +179,7 @@ ENV PATH="/node-deps/node_modules/.bin:${PATH}" \ # SALESFORCE installation ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV PATH="$JAVA_HOME/bin:${PATH}" +ENV XDG_DATA_HOME=/usr/local/share RUN sf plugins install @salesforce/plugin-packaging@${NPM_SALESFORCE_PLUGIN_PACKAGING_VERSION} \ && echo y|sf plugins install sfdx-hardis@${SFDX_HARDIS_VERSION} \ && (npm cache clean --force || true) \ From ec29e29e9f324c4743ada1fabf3a54302ffacc35 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 17:47:21 +0200 Subject: [PATCH 13/19] feat: support non-root SSH startup in entrypoint (definition) (#1975) --- .automation/build.py | 2 +- entrypoint.sh | 33 +++++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.automation/build.py b/.automation/build.py index a9c1bf1519a..771a17ad3f4 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -839,7 +839,7 @@ def generate_linter_dockerfiles(): " CONFIG_REPORTER=false \\", " SARIF_TO_HUMAN=false" "", # "EXPOSE 80", - "RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh", + "RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh", "EXPOSE 22", "COPY entrypoint.sh /entrypoint.sh", "COPY sh /usr/bin/megalinter-sh", diff --git a/entrypoint.sh b/entrypoint.sh index eb714263464..ceee7b6e4cb 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -112,7 +112,8 @@ else if [ "${MEGALINTER_SSH}" == "true" ]; then # MegaLinter SSH server set -eu - SSH_VOLUME_FOLDER=/root/docker_ssh + SSH_VOLUME_FOLDER=/tmp/docker_ssh + ML_ENV_VARS=/tmp/ml-env-vars if [ -d "$SSH_VOLUME_FOLDER" ]; then # SSH key copy from local volume echo "Docker ssh folder content:" @@ -122,18 +123,38 @@ else touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys cat $SSH_VOLUME_FOLDER/id_rsa.pub >>~/.ssh/authorized_keys - chmod 644 /root/.ssh/authorized_keys + chmod 644 ~/.ssh/authorized_keys + fi + # SSH startup + echo "[MegaLinter init] SSH" + export -p >"${ML_ENV_VARS}" # save all environment variables configured during Dockerfile creation + if [ "$(id -u)" -eq 0 ]; then mkdir -p /var/run/sshd ssh-keygen -A sed -i s/^#PasswordAuthentication\ yes/PasswordAuthentication\ no/ /etc/ssh/sshd_config sed -i s/^#PermitRootLogin\ prohibit-password/PermitRootLogin\ yes/ /etc/ssh/sshd_config sed -i s/^#PermitUserEnvironment\ no/PermitUserEnvironment\ yes/ /etc/ssh/sshd_config echo "root:root" | chpasswd + /usr/sbin/sshd -D + else + SSH_PORT=2222 + SSH_RUNTIME_DIR=/tmp/megalinter-sshd + SSH_HOST_KEY="${SSH_RUNTIME_DIR}/ssh_host_ed25519_key" + mkdir -p "${SSH_RUNTIME_DIR}" + if [ ! -f "${SSH_HOST_KEY}" ]; then + ssh-keygen -t ed25519 -f "${SSH_HOST_KEY}" -N '' + fi + /usr/sbin/sshd -D \ + -o "Port ${SSH_PORT}" \ + -o "HostKey ${SSH_HOST_KEY}" \ + -o "AuthorizedKeysFile ${HOME}/.ssh/authorized_keys" \ + -o "PasswordAuthentication no" \ + -o "PermitRootLogin no" \ + -o "PermitUserEnvironment yes" \ + -o "UsePAM no" \ + -o "PidFile ${SSH_RUNTIME_DIR}/sshd.pid" \ + -o "Subsystem sftp internal-sftp" fi - # SSH startup - echo "[MegaLinter init] SSH" - export -p >/var/ml-env-vars # save all environment variables configured during Dockerfile creation - /usr/sbin/sshd -D else # Normal (run megalinter) echo "[MegaLinter init] ONE-SHOT RUN" From 91acea7f54fc834379c9850464b25a7b1d020eb1 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 18:00:42 +0200 Subject: [PATCH 14/19] feat: support non-root SSH startup in entrypoint (definition) (#1975) --- linters/action_actionlint/Dockerfile | 2 +- linters/action_zizmor/Dockerfile | 2 +- linters/ansible_ansible_lint/Dockerfile | 2 +- linters/arm_arm_ttk/Dockerfile | 2 +- linters/bash_exec/Dockerfile | 2 +- linters/bash_shellcheck/Dockerfile | 2 +- linters/bash_shfmt/Dockerfile | 2 +- linters/bicep_bicep_linter/Dockerfile | 2 +- linters/c_clang_format/Dockerfile | 2 +- linters/c_cppcheck/Dockerfile | 2 +- linters/c_cpplint/Dockerfile | 2 +- linters/clojure_clj_kondo/Dockerfile | 2 +- linters/clojure_cljstyle/Dockerfile | 2 +- linters/cloudformation_cfn_lint/Dockerfile | 2 +- linters/coffee_coffeelint/Dockerfile | 2 +- linters/copypaste_jscpd/Dockerfile | 2 +- linters/cpp_clang_format/Dockerfile | 2 +- linters/cpp_cppcheck/Dockerfile | 2 +- linters/cpp_cpplint/Dockerfile | 2 +- linters/csharp_csharpier/Dockerfile | 2 +- linters/csharp_dotnet_format/Dockerfile | 2 +- linters/csharp_roslynator/Dockerfile | 2 +- linters/css_stylelint/Dockerfile | 2 +- linters/dart_dartanalyzer/Dockerfile | 2 +- linters/dockerfile_hadolint/Dockerfile | 2 +- linters/editorconfig_editorconfig_checker/Dockerfile | 2 +- linters/env_dotenv_linter/Dockerfile | 2 +- linters/gherkin_gherkin_lint/Dockerfile | 2 +- linters/go_golangci_lint/Dockerfile | 2 +- linters/go_revive/Dockerfile | 2 +- linters/graphql_graphql_schema_linter/Dockerfile | 2 +- linters/groovy_npm_groovy_lint/Dockerfile | 2 +- linters/html_djlint/Dockerfile | 2 +- linters/html_htmlhint/Dockerfile | 2 +- linters/java_checkstyle/Dockerfile | 2 +- linters/java_pmd/Dockerfile | 2 +- linters/javascript_es/Dockerfile | 2 +- linters/javascript_prettier/Dockerfile | 2 +- linters/javascript_standard/Dockerfile | 2 +- linters/json_jsonlint/Dockerfile | 2 +- linters/json_npm_package_json_lint/Dockerfile | 2 +- linters/json_prettier/Dockerfile | 2 +- linters/json_v8r/Dockerfile | 2 +- linters/jsx_eslint/Dockerfile | 2 +- linters/kotlin_detekt/Dockerfile | 2 +- linters/kotlin_ktlint/Dockerfile | 2 +- linters/kubernetes_helm/Dockerfile | 2 +- linters/kubernetes_kubeconform/Dockerfile | 2 +- linters/kubernetes_kubescape/Dockerfile | 2 +- linters/latex_chktex/Dockerfile | 2 +- linters/lua_luacheck/Dockerfile | 2 +- linters/lua_stylua/Dockerfile | 2 +- linters/markdown_markdown_table_formatter/Dockerfile | 2 +- linters/markdown_markdownlint/Dockerfile | 2 +- linters/markdown_rumdl/Dockerfile | 2 +- linters/perl_perlcritic/Dockerfile | 2 +- linters/php_phpcs/Dockerfile | 2 +- linters/php_phpcsfixer/Dockerfile | 2 +- linters/php_phplint/Dockerfile | 2 +- linters/php_phpstan/Dockerfile | 2 +- linters/php_psalm/Dockerfile | 2 +- linters/powershell_powershell/Dockerfile | 2 +- linters/powershell_powershell_formatter/Dockerfile | 2 +- linters/protobuf_protolint/Dockerfile | 2 +- linters/python_bandit/Dockerfile | 2 +- linters/python_black/Dockerfile | 2 +- linters/python_flake8/Dockerfile | 2 +- linters/python_isort/Dockerfile | 2 +- linters/python_mypy/Dockerfile | 2 +- linters/python_nbqa_mypy/Dockerfile | 2 +- linters/python_pylint/Dockerfile | 2 +- linters/python_pyright/Dockerfile | 2 +- linters/python_ruff/Dockerfile | 2 +- linters/python_ruff_format/Dockerfile | 2 +- linters/r_lintr/Dockerfile | 2 +- linters/raku_raku/Dockerfile | 2 +- linters/repository_checkov/Dockerfile | 2 +- linters/repository_devskim/Dockerfile | 2 +- linters/repository_dustilock/Dockerfile | 2 +- linters/repository_git_diff/Dockerfile | 2 +- linters/repository_gitleaks/Dockerfile | 2 +- linters/repository_grype/Dockerfile | 2 +- linters/repository_kingfisher/Dockerfile | 2 +- linters/repository_ls_lint/Dockerfile | 2 +- linters/repository_osv_scanner/Dockerfile | 2 +- linters/repository_secretlint/Dockerfile | 2 +- linters/repository_semgrep/Dockerfile | 2 +- linters/repository_syft/Dockerfile | 2 +- linters/repository_trivy/Dockerfile | 2 +- linters/repository_trivy_sbom/Dockerfile | 2 +- linters/repository_trufflehog/Dockerfile | 2 +- linters/robotframework_robocop/Dockerfile | 2 +- linters/rst_rst_lint/Dockerfile | 2 +- linters/rst_rstcheck/Dockerfile | 2 +- linters/rst_rstfmt/Dockerfile | 2 +- linters/ruby_rubocop/Dockerfile | 2 +- linters/rust_clippy/Dockerfile | 2 +- linters/salesforce_code_analyzer_apex/Dockerfile | 2 +- linters/salesforce_code_analyzer_aura/Dockerfile | 2 +- linters/salesforce_code_analyzer_lwc/Dockerfile | 2 +- linters/scala_scalafix/Dockerfile | 2 +- linters/snakemake_lint/Dockerfile | 2 +- linters/snakemake_snakefmt/Dockerfile | 2 +- linters/spell_codespell/Dockerfile | 2 +- linters/spell_cspell/Dockerfile | 2 +- linters/spell_lychee/Dockerfile | 2 +- linters/spell_proselint/Dockerfile | 2 +- linters/spell_vale/Dockerfile | 2 +- linters/sql_sqlfluff/Dockerfile | 2 +- linters/sql_tsqllint/Dockerfile | 2 +- linters/swift_swiftlint/Dockerfile | 2 +- linters/tekton_tekton_lint/Dockerfile | 2 +- linters/terraform_terraform_fmt/Dockerfile | 2 +- linters/terraform_terragrunt/Dockerfile | 2 +- linters/terraform_terrascan/Dockerfile | 2 +- linters/terraform_tflint/Dockerfile | 2 +- linters/tsx_eslint/Dockerfile | 2 +- linters/typescript_es/Dockerfile | 2 +- linters/typescript_prettier/Dockerfile | 2 +- linters/typescript_standard/Dockerfile | 2 +- linters/vbdotnet_dotnet_format/Dockerfile | 2 +- linters/xml_xmllint/Dockerfile | 2 +- linters/yaml_prettier/Dockerfile | 2 +- linters/yaml_v8r/Dockerfile | 2 +- linters/yaml_yamllint/Dockerfile | 2 +- 125 files changed, 125 insertions(+), 125 deletions(-) diff --git a/linters/action_actionlint/Dockerfile b/linters/action_actionlint/Dockerfile index 85761b258d2..93c9617f089 100644 --- a/linters/action_actionlint/Dockerfile +++ b/linters/action_actionlint/Dockerfile @@ -240,7 +240,7 @@ ENV ENABLE_LINTERS=ACTION_ACTIONLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/action_zizmor/Dockerfile b/linters/action_zizmor/Dockerfile index b964a0e7721..4048f36943b 100644 --- a/linters/action_zizmor/Dockerfile +++ b/linters/action_zizmor/Dockerfile @@ -236,7 +236,7 @@ ENV ENABLE_LINTERS=ACTION_ZIZMOR \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/ansible_ansible_lint/Dockerfile b/linters/ansible_ansible_lint/Dockerfile index 97047b59fd0..5862efbbd69 100644 --- a/linters/ansible_ansible_lint/Dockerfile +++ b/linters/ansible_ansible_lint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=ANSIBLE_ANSIBLE_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/arm_arm_ttk/Dockerfile b/linters/arm_arm_ttk/Dockerfile index 6dabd272ac0..6b56dd7ae17 100644 --- a/linters/arm_arm_ttk/Dockerfile +++ b/linters/arm_arm_ttk/Dockerfile @@ -251,7 +251,7 @@ ENV ENABLE_LINTERS=ARM_ARM_TTK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/bash_exec/Dockerfile b/linters/bash_exec/Dockerfile index 9f5a948c188..c3ce7483d1f 100644 --- a/linters/bash_exec/Dockerfile +++ b/linters/bash_exec/Dockerfile @@ -229,7 +229,7 @@ ENV ENABLE_LINTERS=BASH_EXEC \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/bash_shellcheck/Dockerfile b/linters/bash_shellcheck/Dockerfile index 4f0b382d752..e937dff5f4e 100644 --- a/linters/bash_shellcheck/Dockerfile +++ b/linters/bash_shellcheck/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=BASH_SHELLCHECK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/bash_shfmt/Dockerfile b/linters/bash_shfmt/Dockerfile index 509743351af..5970cf287bf 100644 --- a/linters/bash_shfmt/Dockerfile +++ b/linters/bash_shfmt/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=BASH_SHFMT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/bicep_bicep_linter/Dockerfile b/linters/bicep_bicep_linter/Dockerfile index e5ed7debe5f..16915f35229 100644 --- a/linters/bicep_bicep_linter/Dockerfile +++ b/linters/bicep_bicep_linter/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=BICEP_BICEP_LINTER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/c_clang_format/Dockerfile b/linters/c_clang_format/Dockerfile index 03e3d66cb33..0a07d6cc06c 100644 --- a/linters/c_clang_format/Dockerfile +++ b/linters/c_clang_format/Dockerfile @@ -227,7 +227,7 @@ ENV ENABLE_LINTERS=C_CLANG_FORMAT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/c_cppcheck/Dockerfile b/linters/c_cppcheck/Dockerfile index 608b97f9f96..9fc157e8d0f 100644 --- a/linters/c_cppcheck/Dockerfile +++ b/linters/c_cppcheck/Dockerfile @@ -227,7 +227,7 @@ ENV ENABLE_LINTERS=C_CPPCHECK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/c_cpplint/Dockerfile b/linters/c_cpplint/Dockerfile index 72c4381b2fd..8a77396581d 100644 --- a/linters/c_cpplint/Dockerfile +++ b/linters/c_cpplint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=C_CPPLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/clojure_clj_kondo/Dockerfile b/linters/clojure_clj_kondo/Dockerfile index ed7b26029f8..48af61bd1a6 100644 --- a/linters/clojure_clj_kondo/Dockerfile +++ b/linters/clojure_clj_kondo/Dockerfile @@ -233,7 +233,7 @@ ENV ENABLE_LINTERS=CLOJURE_CLJ_KONDO \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/clojure_cljstyle/Dockerfile b/linters/clojure_cljstyle/Dockerfile index 89b9a7d166b..e93bc1d1b40 100644 --- a/linters/clojure_cljstyle/Dockerfile +++ b/linters/clojure_cljstyle/Dockerfile @@ -232,7 +232,7 @@ ENV ENABLE_LINTERS=CLOJURE_CLJSTYLE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/cloudformation_cfn_lint/Dockerfile b/linters/cloudformation_cfn_lint/Dockerfile index f8895bd0377..840812b9c26 100644 --- a/linters/cloudformation_cfn_lint/Dockerfile +++ b/linters/cloudformation_cfn_lint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=CLOUDFORMATION_CFN_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/coffee_coffeelint/Dockerfile b/linters/coffee_coffeelint/Dockerfile index 2f27dd3ee29..2813be4a360 100644 --- a/linters/coffee_coffeelint/Dockerfile +++ b/linters/coffee_coffeelint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=COFFEE_COFFEELINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/copypaste_jscpd/Dockerfile b/linters/copypaste_jscpd/Dockerfile index 57ae5b5f738..205f232d3b0 100644 --- a/linters/copypaste_jscpd/Dockerfile +++ b/linters/copypaste_jscpd/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=COPYPASTE_JSCPD \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/cpp_clang_format/Dockerfile b/linters/cpp_clang_format/Dockerfile index ed0b12a608a..a9b58248158 100644 --- a/linters/cpp_clang_format/Dockerfile +++ b/linters/cpp_clang_format/Dockerfile @@ -227,7 +227,7 @@ ENV ENABLE_LINTERS=CPP_CLANG_FORMAT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/cpp_cppcheck/Dockerfile b/linters/cpp_cppcheck/Dockerfile index b5080466c9a..27cca8e668c 100644 --- a/linters/cpp_cppcheck/Dockerfile +++ b/linters/cpp_cppcheck/Dockerfile @@ -227,7 +227,7 @@ ENV ENABLE_LINTERS=CPP_CPPCHECK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/cpp_cpplint/Dockerfile b/linters/cpp_cpplint/Dockerfile index a5827ecce3e..c1595d1e02f 100644 --- a/linters/cpp_cpplint/Dockerfile +++ b/linters/cpp_cpplint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=CPP_CPPLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/csharp_csharpier/Dockerfile b/linters/csharp_csharpier/Dockerfile index f568164f496..d92ec41db33 100644 --- a/linters/csharp_csharpier/Dockerfile +++ b/linters/csharp_csharpier/Dockerfile @@ -232,7 +232,7 @@ ENV ENABLE_LINTERS=CSHARP_CSHARPIER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/csharp_dotnet_format/Dockerfile b/linters/csharp_dotnet_format/Dockerfile index af86b3787e1..c4ac673be2d 100644 --- a/linters/csharp_dotnet_format/Dockerfile +++ b/linters/csharp_dotnet_format/Dockerfile @@ -228,7 +228,7 @@ ENV ENABLE_LINTERS=CSHARP_DOTNET_FORMAT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/csharp_roslynator/Dockerfile b/linters/csharp_roslynator/Dockerfile index 7ecb888bafd..0223c7f425e 100644 --- a/linters/csharp_roslynator/Dockerfile +++ b/linters/csharp_roslynator/Dockerfile @@ -232,7 +232,7 @@ ENV ENABLE_LINTERS=CSHARP_ROSLYNATOR \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/css_stylelint/Dockerfile b/linters/css_stylelint/Dockerfile index 057f78c5ce1..6212cbc5893 100644 --- a/linters/css_stylelint/Dockerfile +++ b/linters/css_stylelint/Dockerfile @@ -263,7 +263,7 @@ ENV ENABLE_LINTERS=CSS_STYLELINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/dart_dartanalyzer/Dockerfile b/linters/dart_dartanalyzer/Dockerfile index 402c03fba82..f823446444e 100644 --- a/linters/dart_dartanalyzer/Dockerfile +++ b/linters/dart_dartanalyzer/Dockerfile @@ -282,7 +282,7 @@ ENV ENABLE_LINTERS=DART_DARTANALYZER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/dockerfile_hadolint/Dockerfile b/linters/dockerfile_hadolint/Dockerfile index e743376044b..251b3ebef1a 100644 --- a/linters/dockerfile_hadolint/Dockerfile +++ b/linters/dockerfile_hadolint/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=DOCKERFILE_HADOLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/editorconfig_editorconfig_checker/Dockerfile b/linters/editorconfig_editorconfig_checker/Dockerfile index 10c52fc18ca..5f9398f5f1e 100644 --- a/linters/editorconfig_editorconfig_checker/Dockerfile +++ b/linters/editorconfig_editorconfig_checker/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=EDITORCONFIG_EDITORCONFIG_CHECKER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/env_dotenv_linter/Dockerfile b/linters/env_dotenv_linter/Dockerfile index ab674e6a0ec..2d57233a983 100644 --- a/linters/env_dotenv_linter/Dockerfile +++ b/linters/env_dotenv_linter/Dockerfile @@ -237,7 +237,7 @@ ENV ENABLE_LINTERS=ENV_DOTENV_LINTER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/gherkin_gherkin_lint/Dockerfile b/linters/gherkin_gherkin_lint/Dockerfile index 9969b2f1993..f72d9eef8f1 100644 --- a/linters/gherkin_gherkin_lint/Dockerfile +++ b/linters/gherkin_gherkin_lint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=GHERKIN_GHERKIN_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/go_golangci_lint/Dockerfile b/linters/go_golangci_lint/Dockerfile index 68bae21a939..79cbf06033d 100644 --- a/linters/go_golangci_lint/Dockerfile +++ b/linters/go_golangci_lint/Dockerfile @@ -236,7 +236,7 @@ ENV ENABLE_LINTERS=GO_GOLANGCI_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/go_revive/Dockerfile b/linters/go_revive/Dockerfile index 957d2b2fedd..e8aa5f03a7d 100644 --- a/linters/go_revive/Dockerfile +++ b/linters/go_revive/Dockerfile @@ -243,7 +243,7 @@ ENV ENABLE_LINTERS=GO_REVIVE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/graphql_graphql_schema_linter/Dockerfile b/linters/graphql_graphql_schema_linter/Dockerfile index ea742d9db61..64d35ac8f8c 100644 --- a/linters/graphql_graphql_schema_linter/Dockerfile +++ b/linters/graphql_graphql_schema_linter/Dockerfile @@ -244,7 +244,7 @@ ENV ENABLE_LINTERS=GRAPHQL_GRAPHQL_SCHEMA_LINTER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/groovy_npm_groovy_lint/Dockerfile b/linters/groovy_npm_groovy_lint/Dockerfile index ced5ab56ac8..dc1c47cbe92 100644 --- a/linters/groovy_npm_groovy_lint/Dockerfile +++ b/linters/groovy_npm_groovy_lint/Dockerfile @@ -243,7 +243,7 @@ ENV ENABLE_LINTERS=GROOVY_NPM_GROOVY_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/html_djlint/Dockerfile b/linters/html_djlint/Dockerfile index 214d7d8cbe5..10db013a53c 100644 --- a/linters/html_djlint/Dockerfile +++ b/linters/html_djlint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=HTML_DJLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/html_htmlhint/Dockerfile b/linters/html_htmlhint/Dockerfile index c031ca9d4f6..8ed11f2a31a 100644 --- a/linters/html_htmlhint/Dockerfile +++ b/linters/html_htmlhint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=HTML_HTMLHINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/java_checkstyle/Dockerfile b/linters/java_checkstyle/Dockerfile index 53bb5e49239..3230ed9deff 100644 --- a/linters/java_checkstyle/Dockerfile +++ b/linters/java_checkstyle/Dockerfile @@ -235,7 +235,7 @@ ENV ENABLE_LINTERS=JAVA_CHECKSTYLE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/java_pmd/Dockerfile b/linters/java_pmd/Dockerfile index cf249c34903..bbd581a7e6e 100644 --- a/linters/java_pmd/Dockerfile +++ b/linters/java_pmd/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=JAVA_PMD \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/javascript_es/Dockerfile b/linters/javascript_es/Dockerfile index 9adcd3ec444..b0a59ee1455 100644 --- a/linters/javascript_es/Dockerfile +++ b/linters/javascript_es/Dockerfile @@ -268,7 +268,7 @@ ENV ENABLE_LINTERS=JAVASCRIPT_ES \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/javascript_prettier/Dockerfile b/linters/javascript_prettier/Dockerfile index 9c1d667f573..3051b183d7d 100644 --- a/linters/javascript_prettier/Dockerfile +++ b/linters/javascript_prettier/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=JAVASCRIPT_PRETTIER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/javascript_standard/Dockerfile b/linters/javascript_standard/Dockerfile index 29bda215a53..e854569d684 100644 --- a/linters/javascript_standard/Dockerfile +++ b/linters/javascript_standard/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=JAVASCRIPT_STANDARD \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/json_jsonlint/Dockerfile b/linters/json_jsonlint/Dockerfile index fdc12785637..99917d14fed 100644 --- a/linters/json_jsonlint/Dockerfile +++ b/linters/json_jsonlint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=JSON_JSONLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/json_npm_package_json_lint/Dockerfile b/linters/json_npm_package_json_lint/Dockerfile index 0ff9bf0b545..798d177c626 100644 --- a/linters/json_npm_package_json_lint/Dockerfile +++ b/linters/json_npm_package_json_lint/Dockerfile @@ -244,7 +244,7 @@ ENV ENABLE_LINTERS=JSON_NPM_PACKAGE_JSON_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/json_prettier/Dockerfile b/linters/json_prettier/Dockerfile index efb35604cfc..73d2e9a6182 100644 --- a/linters/json_prettier/Dockerfile +++ b/linters/json_prettier/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=JSON_PRETTIER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/json_v8r/Dockerfile b/linters/json_v8r/Dockerfile index df81730cba9..f27c1158ae4 100644 --- a/linters/json_v8r/Dockerfile +++ b/linters/json_v8r/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=JSON_V8R \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/jsx_eslint/Dockerfile b/linters/jsx_eslint/Dockerfile index bf8131f680f..8d8a7827137 100644 --- a/linters/jsx_eslint/Dockerfile +++ b/linters/jsx_eslint/Dockerfile @@ -247,7 +247,7 @@ ENV ENABLE_LINTERS=JSX_ESLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/kotlin_detekt/Dockerfile b/linters/kotlin_detekt/Dockerfile index 7409a0b7fc9..f4898c17ebc 100644 --- a/linters/kotlin_detekt/Dockerfile +++ b/linters/kotlin_detekt/Dockerfile @@ -240,7 +240,7 @@ ENV ENABLE_LINTERS=KOTLIN_DETEKT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/kotlin_ktlint/Dockerfile b/linters/kotlin_ktlint/Dockerfile index d83d9bc1def..d48234942c4 100644 --- a/linters/kotlin_ktlint/Dockerfile +++ b/linters/kotlin_ktlint/Dockerfile @@ -237,7 +237,7 @@ ENV ENABLE_LINTERS=KOTLIN_KTLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/kubernetes_helm/Dockerfile b/linters/kubernetes_helm/Dockerfile index 389c50f360d..5ddba37cc1f 100644 --- a/linters/kubernetes_helm/Dockerfile +++ b/linters/kubernetes_helm/Dockerfile @@ -227,7 +227,7 @@ ENV ENABLE_LINTERS=KUBERNETES_HELM \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/kubernetes_kubeconform/Dockerfile b/linters/kubernetes_kubeconform/Dockerfile index 1efc8610c8f..50e97f93971 100644 --- a/linters/kubernetes_kubeconform/Dockerfile +++ b/linters/kubernetes_kubeconform/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=KUBERNETES_KUBECONFORM \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/kubernetes_kubescape/Dockerfile b/linters/kubernetes_kubescape/Dockerfile index 644d0b8da1e..78fc067cf7d 100644 --- a/linters/kubernetes_kubescape/Dockerfile +++ b/linters/kubernetes_kubescape/Dockerfile @@ -238,7 +238,7 @@ ENV ENABLE_LINTERS=KUBERNETES_KUBESCAPE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/latex_chktex/Dockerfile b/linters/latex_chktex/Dockerfile index b99945093cf..7bfc823bb6f 100644 --- a/linters/latex_chktex/Dockerfile +++ b/linters/latex_chktex/Dockerfile @@ -228,7 +228,7 @@ ENV ENABLE_LINTERS=LATEX_CHKTEX \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/lua_luacheck/Dockerfile b/linters/lua_luacheck/Dockerfile index 4264219a7bb..a9c528bb264 100644 --- a/linters/lua_luacheck/Dockerfile +++ b/linters/lua_luacheck/Dockerfile @@ -242,7 +242,7 @@ ENV ENABLE_LINTERS=LUA_LUACHECK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/lua_stylua/Dockerfile b/linters/lua_stylua/Dockerfile index 1b06a41b4e1..31771f9134f 100644 --- a/linters/lua_stylua/Dockerfile +++ b/linters/lua_stylua/Dockerfile @@ -248,7 +248,7 @@ ENV ENABLE_LINTERS=LUA_STYLUA \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/markdown_markdown_table_formatter/Dockerfile b/linters/markdown_markdown_table_formatter/Dockerfile index f334050b0e7..e8134e19da7 100644 --- a/linters/markdown_markdown_table_formatter/Dockerfile +++ b/linters/markdown_markdown_table_formatter/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=MARKDOWN_MARKDOWN_TABLE_FORMATTER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/markdown_markdownlint/Dockerfile b/linters/markdown_markdownlint/Dockerfile index c83fc89b4f8..bf2e91730d0 100644 --- a/linters/markdown_markdownlint/Dockerfile +++ b/linters/markdown_markdownlint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=MARKDOWN_MARKDOWNLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/markdown_rumdl/Dockerfile b/linters/markdown_rumdl/Dockerfile index 064be404188..cb105a0dc0a 100644 --- a/linters/markdown_rumdl/Dockerfile +++ b/linters/markdown_rumdl/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=MARKDOWN_RUMDL \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/perl_perlcritic/Dockerfile b/linters/perl_perlcritic/Dockerfile index 62002d5098a..f9cbccf6f00 100644 --- a/linters/perl_perlcritic/Dockerfile +++ b/linters/perl_perlcritic/Dockerfile @@ -234,7 +234,7 @@ ENV ENABLE_LINTERS=PERL_PERLCRITIC \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/php_phpcs/Dockerfile b/linters/php_phpcs/Dockerfile index ce69a53a44e..01e2ff74762 100644 --- a/linters/php_phpcs/Dockerfile +++ b/linters/php_phpcs/Dockerfile @@ -252,7 +252,7 @@ ENV ENABLE_LINTERS=PHP_PHPCS \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/php_phpcsfixer/Dockerfile b/linters/php_phpcsfixer/Dockerfile index 37bd310410a..8fb9cbe9389 100644 --- a/linters/php_phpcsfixer/Dockerfile +++ b/linters/php_phpcsfixer/Dockerfile @@ -250,7 +250,7 @@ ENV ENABLE_LINTERS=PHP_PHPCSFIXER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/php_phplint/Dockerfile b/linters/php_phplint/Dockerfile index 0f822fc8d50..ae3c933a907 100644 --- a/linters/php_phplint/Dockerfile +++ b/linters/php_phplint/Dockerfile @@ -252,7 +252,7 @@ ENV ENABLE_LINTERS=PHP_PHPLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/php_phpstan/Dockerfile b/linters/php_phpstan/Dockerfile index 77d67d18e23..17eb8aec42b 100644 --- a/linters/php_phpstan/Dockerfile +++ b/linters/php_phpstan/Dockerfile @@ -253,7 +253,7 @@ ENV ENABLE_LINTERS=PHP_PHPSTAN \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/php_psalm/Dockerfile b/linters/php_psalm/Dockerfile index dbefb5e88c7..f662980e90d 100644 --- a/linters/php_psalm/Dockerfile +++ b/linters/php_psalm/Dockerfile @@ -250,7 +250,7 @@ ENV ENABLE_LINTERS=PHP_PSALM \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/powershell_powershell/Dockerfile b/linters/powershell_powershell/Dockerfile index 7596a3928fb..0a428322f97 100644 --- a/linters/powershell_powershell/Dockerfile +++ b/linters/powershell_powershell/Dockerfile @@ -244,7 +244,7 @@ ENV ENABLE_LINTERS=POWERSHELL_POWERSHELL \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/powershell_powershell_formatter/Dockerfile b/linters/powershell_powershell_formatter/Dockerfile index b33908e3a47..0115c720795 100644 --- a/linters/powershell_powershell_formatter/Dockerfile +++ b/linters/powershell_powershell_formatter/Dockerfile @@ -244,7 +244,7 @@ ENV ENABLE_LINTERS=POWERSHELL_POWERSHELL_FORMATTER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/protobuf_protolint/Dockerfile b/linters/protobuf_protolint/Dockerfile index 915537a2014..1fe688f7b38 100644 --- a/linters/protobuf_protolint/Dockerfile +++ b/linters/protobuf_protolint/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=PROTOBUF_PROTOLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_bandit/Dockerfile b/linters/python_bandit/Dockerfile index ab7d8f04142..8c59dae4660 100644 --- a/linters/python_bandit/Dockerfile +++ b/linters/python_bandit/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=PYTHON_BANDIT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_black/Dockerfile b/linters/python_black/Dockerfile index f78c2ff4fe9..a6c51a7381e 100644 --- a/linters/python_black/Dockerfile +++ b/linters/python_black/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=PYTHON_BLACK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_flake8/Dockerfile b/linters/python_flake8/Dockerfile index 9fef2c5db3b..2e659abafe3 100644 --- a/linters/python_flake8/Dockerfile +++ b/linters/python_flake8/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=PYTHON_FLAKE8 \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_isort/Dockerfile b/linters/python_isort/Dockerfile index 4f48df42d6f..c000e6c15d3 100644 --- a/linters/python_isort/Dockerfile +++ b/linters/python_isort/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=PYTHON_ISORT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_mypy/Dockerfile b/linters/python_mypy/Dockerfile index 0a44c783cba..102f4d9e708 100644 --- a/linters/python_mypy/Dockerfile +++ b/linters/python_mypy/Dockerfile @@ -240,7 +240,7 @@ ENV ENABLE_LINTERS=PYTHON_MYPY \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_nbqa_mypy/Dockerfile b/linters/python_nbqa_mypy/Dockerfile index 716931114ad..13e3b1e6c66 100644 --- a/linters/python_nbqa_mypy/Dockerfile +++ b/linters/python_nbqa_mypy/Dockerfile @@ -242,7 +242,7 @@ ENV ENABLE_LINTERS=PYTHON_NBQA_MYPY \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_pylint/Dockerfile b/linters/python_pylint/Dockerfile index edab00a5a17..75da6374433 100644 --- a/linters/python_pylint/Dockerfile +++ b/linters/python_pylint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=PYTHON_PYLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_pyright/Dockerfile b/linters/python_pyright/Dockerfile index 5e374de7b70..8069c225e95 100644 --- a/linters/python_pyright/Dockerfile +++ b/linters/python_pyright/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=PYTHON_PYRIGHT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_ruff/Dockerfile b/linters/python_ruff/Dockerfile index 2feb9dc12bd..21eeb18bbec 100644 --- a/linters/python_ruff/Dockerfile +++ b/linters/python_ruff/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=PYTHON_RUFF \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/python_ruff_format/Dockerfile b/linters/python_ruff_format/Dockerfile index a7feec39a4f..547bbaa3d51 100644 --- a/linters/python_ruff_format/Dockerfile +++ b/linters/python_ruff_format/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=PYTHON_RUFF_FORMAT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/r_lintr/Dockerfile b/linters/r_lintr/Dockerfile index 983b73f03e4..b67e05f48a7 100644 --- a/linters/r_lintr/Dockerfile +++ b/linters/r_lintr/Dockerfile @@ -240,7 +240,7 @@ ENV ENABLE_LINTERS=R_LINTR \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/raku_raku/Dockerfile b/linters/raku_raku/Dockerfile index 6eb7774b095..1769c83307f 100644 --- a/linters/raku_raku/Dockerfile +++ b/linters/raku_raku/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=RAKU_RAKU \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_checkov/Dockerfile b/linters/repository_checkov/Dockerfile index 1aaf6698884..c7258e3166e 100644 --- a/linters/repository_checkov/Dockerfile +++ b/linters/repository_checkov/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=REPOSITORY_CHECKOV \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_devskim/Dockerfile b/linters/repository_devskim/Dockerfile index 8a1e591f9a1..a694b872bb9 100644 --- a/linters/repository_devskim/Dockerfile +++ b/linters/repository_devskim/Dockerfile @@ -231,7 +231,7 @@ ENV ENABLE_LINTERS=REPOSITORY_DEVSKIM \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_dustilock/Dockerfile b/linters/repository_dustilock/Dockerfile index 95b094b214d..70f56b9bf4a 100644 --- a/linters/repository_dustilock/Dockerfile +++ b/linters/repository_dustilock/Dockerfile @@ -235,7 +235,7 @@ ENV ENABLE_LINTERS=REPOSITORY_DUSTILOCK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_git_diff/Dockerfile b/linters/repository_git_diff/Dockerfile index c4c61b27d50..cf754bc636f 100644 --- a/linters/repository_git_diff/Dockerfile +++ b/linters/repository_git_diff/Dockerfile @@ -226,7 +226,7 @@ ENV ENABLE_LINTERS=REPOSITORY_GIT_DIFF \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_gitleaks/Dockerfile b/linters/repository_gitleaks/Dockerfile index 92487dff879..e9633e8f214 100644 --- a/linters/repository_gitleaks/Dockerfile +++ b/linters/repository_gitleaks/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=REPOSITORY_GITLEAKS \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_grype/Dockerfile b/linters/repository_grype/Dockerfile index adfd12489c7..7a22e803d40 100644 --- a/linters/repository_grype/Dockerfile +++ b/linters/repository_grype/Dockerfile @@ -229,7 +229,7 @@ ENV ENABLE_LINTERS=REPOSITORY_GRYPE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_kingfisher/Dockerfile b/linters/repository_kingfisher/Dockerfile index 65f05914cda..05bde788295 100644 --- a/linters/repository_kingfisher/Dockerfile +++ b/linters/repository_kingfisher/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=REPOSITORY_KINGFISHER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_ls_lint/Dockerfile b/linters/repository_ls_lint/Dockerfile index 581a2a57a63..e5d5615540e 100644 --- a/linters/repository_ls_lint/Dockerfile +++ b/linters/repository_ls_lint/Dockerfile @@ -237,7 +237,7 @@ ENV ENABLE_LINTERS=REPOSITORY_LS_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_osv_scanner/Dockerfile b/linters/repository_osv_scanner/Dockerfile index 5ac6e3a7991..64185cb13fa 100644 --- a/linters/repository_osv_scanner/Dockerfile +++ b/linters/repository_osv_scanner/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=REPOSITORY_OSV_SCANNER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_secretlint/Dockerfile b/linters/repository_secretlint/Dockerfile index 49f5cc17bd3..c5493fcfcfb 100644 --- a/linters/repository_secretlint/Dockerfile +++ b/linters/repository_secretlint/Dockerfile @@ -247,7 +247,7 @@ ENV ENABLE_LINTERS=REPOSITORY_SECRETLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_semgrep/Dockerfile b/linters/repository_semgrep/Dockerfile index bb0d613d5eb..63f9146a3f2 100644 --- a/linters/repository_semgrep/Dockerfile +++ b/linters/repository_semgrep/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=REPOSITORY_SEMGREP \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_syft/Dockerfile b/linters/repository_syft/Dockerfile index 4f78a669cdc..2de62bf4d7a 100644 --- a/linters/repository_syft/Dockerfile +++ b/linters/repository_syft/Dockerfile @@ -229,7 +229,7 @@ ENV ENABLE_LINTERS=REPOSITORY_SYFT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_trivy/Dockerfile b/linters/repository_trivy/Dockerfile index 3bb835048e3..8a2a88d243d 100644 --- a/linters/repository_trivy/Dockerfile +++ b/linters/repository_trivy/Dockerfile @@ -231,7 +231,7 @@ ENV ENABLE_LINTERS=REPOSITORY_TRIVY \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_trivy_sbom/Dockerfile b/linters/repository_trivy_sbom/Dockerfile index 3adb98c7846..63705dcd598 100644 --- a/linters/repository_trivy_sbom/Dockerfile +++ b/linters/repository_trivy_sbom/Dockerfile @@ -231,7 +231,7 @@ ENV ENABLE_LINTERS=REPOSITORY_TRIVY_SBOM \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/repository_trufflehog/Dockerfile b/linters/repository_trufflehog/Dockerfile index 5045b839379..6e6316c1fdf 100644 --- a/linters/repository_trufflehog/Dockerfile +++ b/linters/repository_trufflehog/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=REPOSITORY_TRUFFLEHOG \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/robotframework_robocop/Dockerfile b/linters/robotframework_robocop/Dockerfile index 8900c92dea1..fbddd78998c 100644 --- a/linters/robotframework_robocop/Dockerfile +++ b/linters/robotframework_robocop/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=ROBOTFRAMEWORK_ROBOCOP \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/rst_rst_lint/Dockerfile b/linters/rst_rst_lint/Dockerfile index a9ba471d9f5..13ec7d63ca9 100644 --- a/linters/rst_rst_lint/Dockerfile +++ b/linters/rst_rst_lint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=RST_RST_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/rst_rstcheck/Dockerfile b/linters/rst_rstcheck/Dockerfile index 6f4ab2a4e9b..00716d9dcb6 100644 --- a/linters/rst_rstcheck/Dockerfile +++ b/linters/rst_rstcheck/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=RST_RSTCHECK \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/rst_rstfmt/Dockerfile b/linters/rst_rstfmt/Dockerfile index a90ee124d5d..ac83ca9df65 100644 --- a/linters/rst_rstfmt/Dockerfile +++ b/linters/rst_rstfmt/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=RST_RSTFMT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/ruby_rubocop/Dockerfile b/linters/ruby_rubocop/Dockerfile index 41e50f272f1..2a1b4cf6426 100644 --- a/linters/ruby_rubocop/Dockerfile +++ b/linters/ruby_rubocop/Dockerfile @@ -249,7 +249,7 @@ ENV ENABLE_LINTERS=RUBY_RUBOCOP \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/rust_clippy/Dockerfile b/linters/rust_clippy/Dockerfile index 1619d5cd619..17fedb2fd13 100644 --- a/linters/rust_clippy/Dockerfile +++ b/linters/rust_clippy/Dockerfile @@ -237,7 +237,7 @@ ENV ENABLE_LINTERS=RUST_CLIPPY \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/salesforce_code_analyzer_apex/Dockerfile b/linters/salesforce_code_analyzer_apex/Dockerfile index cfbccae300a..2c1593c1263 100644 --- a/linters/salesforce_code_analyzer_apex/Dockerfile +++ b/linters/salesforce_code_analyzer_apex/Dockerfile @@ -261,7 +261,7 @@ ENV ENABLE_LINTERS=SALESFORCE_CODE_ANALYZER_APEX \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/salesforce_code_analyzer_aura/Dockerfile b/linters/salesforce_code_analyzer_aura/Dockerfile index 3c3c42e5c3b..562b6c69466 100644 --- a/linters/salesforce_code_analyzer_aura/Dockerfile +++ b/linters/salesforce_code_analyzer_aura/Dockerfile @@ -261,7 +261,7 @@ ENV ENABLE_LINTERS=SALESFORCE_CODE_ANALYZER_AURA \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/salesforce_code_analyzer_lwc/Dockerfile b/linters/salesforce_code_analyzer_lwc/Dockerfile index 05c151fa077..90072224faf 100644 --- a/linters/salesforce_code_analyzer_lwc/Dockerfile +++ b/linters/salesforce_code_analyzer_lwc/Dockerfile @@ -261,7 +261,7 @@ ENV ENABLE_LINTERS=SALESFORCE_CODE_ANALYZER_LWC \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/scala_scalafix/Dockerfile b/linters/scala_scalafix/Dockerfile index b498778f0e2..8b71a6fd591 100644 --- a/linters/scala_scalafix/Dockerfile +++ b/linters/scala_scalafix/Dockerfile @@ -237,7 +237,7 @@ ENV ENABLE_LINTERS=SCALA_SCALAFIX \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/snakemake_lint/Dockerfile b/linters/snakemake_lint/Dockerfile index d08c3e7b6ec..700bdcd3c63 100644 --- a/linters/snakemake_lint/Dockerfile +++ b/linters/snakemake_lint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=SNAKEMAKE_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/snakemake_snakefmt/Dockerfile b/linters/snakemake_snakefmt/Dockerfile index 819b8f64b3e..3b4d02c0b1d 100644 --- a/linters/snakemake_snakefmt/Dockerfile +++ b/linters/snakemake_snakefmt/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=SNAKEMAKE_SNAKEFMT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/spell_codespell/Dockerfile b/linters/spell_codespell/Dockerfile index 47b90de99b5..f347dd09608 100644 --- a/linters/spell_codespell/Dockerfile +++ b/linters/spell_codespell/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=SPELL_CODESPELL \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/spell_cspell/Dockerfile b/linters/spell_cspell/Dockerfile index 26f18953f3d..e72f874448e 100644 --- a/linters/spell_cspell/Dockerfile +++ b/linters/spell_cspell/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=SPELL_CSPELL \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/spell_lychee/Dockerfile b/linters/spell_lychee/Dockerfile index 6f2cef4f655..e84fac68a93 100644 --- a/linters/spell_lychee/Dockerfile +++ b/linters/spell_lychee/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=SPELL_LYCHEE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/spell_proselint/Dockerfile b/linters/spell_proselint/Dockerfile index 27ed4bc1993..c5b0387cdec 100644 --- a/linters/spell_proselint/Dockerfile +++ b/linters/spell_proselint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=SPELL_PROSELINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/spell_vale/Dockerfile b/linters/spell_vale/Dockerfile index 1e738de2397..640fbd834d6 100644 --- a/linters/spell_vale/Dockerfile +++ b/linters/spell_vale/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=SPELL_VALE \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/sql_sqlfluff/Dockerfile b/linters/sql_sqlfluff/Dockerfile index 8a67c0d0e76..d40e20e8169 100644 --- a/linters/sql_sqlfluff/Dockerfile +++ b/linters/sql_sqlfluff/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=SQL_SQLFLUFF \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/sql_tsqllint/Dockerfile b/linters/sql_tsqllint/Dockerfile index 386e14feaed..50487ee983b 100644 --- a/linters/sql_tsqllint/Dockerfile +++ b/linters/sql_tsqllint/Dockerfile @@ -231,7 +231,7 @@ ENV ENABLE_LINTERS=SQL_TSQLLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/swift_swiftlint/Dockerfile b/linters/swift_swiftlint/Dockerfile index 24512d5507a..8ff724cce20 100644 --- a/linters/swift_swiftlint/Dockerfile +++ b/linters/swift_swiftlint/Dockerfile @@ -231,7 +231,7 @@ ENV ENABLE_LINTERS=SWIFT_SWIFTLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/tekton_tekton_lint/Dockerfile b/linters/tekton_tekton_lint/Dockerfile index 2c686c9c531..2df233312ec 100644 --- a/linters/tekton_tekton_lint/Dockerfile +++ b/linters/tekton_tekton_lint/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=TEKTON_TEKTON_LINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/terraform_terraform_fmt/Dockerfile b/linters/terraform_terraform_fmt/Dockerfile index f2acdaa0fb0..90aff93d09b 100644 --- a/linters/terraform_terraform_fmt/Dockerfile +++ b/linters/terraform_terraform_fmt/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=TERRAFORM_TERRAFORM_FMT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/terraform_terragrunt/Dockerfile b/linters/terraform_terragrunt/Dockerfile index 2b6472a1769..bfb5f853b1b 100644 --- a/linters/terraform_terragrunt/Dockerfile +++ b/linters/terraform_terragrunt/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=TERRAFORM_TERRAGRUNT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/terraform_terrascan/Dockerfile b/linters/terraform_terrascan/Dockerfile index a23326c178a..efffde169d0 100644 --- a/linters/terraform_terrascan/Dockerfile +++ b/linters/terraform_terrascan/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=TERRAFORM_TERRASCAN \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/terraform_tflint/Dockerfile b/linters/terraform_tflint/Dockerfile index 1f436ecef7d..a6f7d2e661e 100644 --- a/linters/terraform_tflint/Dockerfile +++ b/linters/terraform_tflint/Dockerfile @@ -230,7 +230,7 @@ ENV ENABLE_LINTERS=TERRAFORM_TFLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/tsx_eslint/Dockerfile b/linters/tsx_eslint/Dockerfile index 849342a5071..9278c5f19df 100644 --- a/linters/tsx_eslint/Dockerfile +++ b/linters/tsx_eslint/Dockerfile @@ -271,7 +271,7 @@ ENV ENABLE_LINTERS=TSX_ESLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/typescript_es/Dockerfile b/linters/typescript_es/Dockerfile index 525a975c4c0..b5ef471b74c 100644 --- a/linters/typescript_es/Dockerfile +++ b/linters/typescript_es/Dockerfile @@ -281,7 +281,7 @@ ENV ENABLE_LINTERS=TYPESCRIPT_ES \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/typescript_prettier/Dockerfile b/linters/typescript_prettier/Dockerfile index b6916e33073..2363a9f8f7a 100644 --- a/linters/typescript_prettier/Dockerfile +++ b/linters/typescript_prettier/Dockerfile @@ -245,7 +245,7 @@ ENV ENABLE_LINTERS=TYPESCRIPT_PRETTIER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/typescript_standard/Dockerfile b/linters/typescript_standard/Dockerfile index 9d48f002eeb..5d2734a265b 100644 --- a/linters/typescript_standard/Dockerfile +++ b/linters/typescript_standard/Dockerfile @@ -245,7 +245,7 @@ ENV ENABLE_LINTERS=TYPESCRIPT_STANDARD \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/vbdotnet_dotnet_format/Dockerfile b/linters/vbdotnet_dotnet_format/Dockerfile index f6a13c26bfa..d5c271320f9 100644 --- a/linters/vbdotnet_dotnet_format/Dockerfile +++ b/linters/vbdotnet_dotnet_format/Dockerfile @@ -228,7 +228,7 @@ ENV ENABLE_LINTERS=VBDOTNET_DOTNET_FORMAT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/xml_xmllint/Dockerfile b/linters/xml_xmllint/Dockerfile index b79fa7dab23..7620f8b115b 100644 --- a/linters/xml_xmllint/Dockerfile +++ b/linters/xml_xmllint/Dockerfile @@ -229,7 +229,7 @@ ENV ENABLE_LINTERS=XML_XMLLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/yaml_prettier/Dockerfile b/linters/yaml_prettier/Dockerfile index 38db49ea686..90e60f53587 100644 --- a/linters/yaml_prettier/Dockerfile +++ b/linters/yaml_prettier/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=YAML_PRETTIER \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/yaml_v8r/Dockerfile b/linters/yaml_v8r/Dockerfile index 9b70a9bba7b..b4d72363800 100644 --- a/linters/yaml_v8r/Dockerfile +++ b/linters/yaml_v8r/Dockerfile @@ -241,7 +241,7 @@ ENV ENABLE_LINTERS=YAML_V8R \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh diff --git a/linters/yaml_yamllint/Dockerfile b/linters/yaml_yamllint/Dockerfile index f99c5c03120..43b32ed114a 100644 --- a/linters/yaml_yamllint/Dockerfile +++ b/linters/yaml_yamllint/Dockerfile @@ -239,7 +239,7 @@ ENV ENABLE_LINTERS=YAML_YAMLLINT \ FILEIO_REPORTER=false \ CONFIG_REPORTER=false \ SARIF_TO_HUMAN=false -RUN mkdir /root/docker_ssh && mkdir /usr/bin/megalinter-sh +RUN mkdir /tmp/docker_ssh && mkdir /usr/bin/megalinter-sh EXPOSE 22 COPY entrypoint.sh /entrypoint.sh COPY sh /usr/bin/megalinter-sh From ad7745d1278658e29a2097734b7a1493ba14562d Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 01:09:18 +0200 Subject: [PATCH 15/19] feat: configure npm prefix outside /root (definition) (#1975) --- .automation/build.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.automation/build.py b/.automation/build.py index 771a17ad3f4..1675266feff 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -641,7 +641,8 @@ def build_dockerfile( if len(npm_packages) > 0: npm_install_command = ( "WORKDIR /node-deps\n" - + "RUN npm --no-cache install --ignore-scripts --omit=dev \\\n " + + "RUN npm config set prefix /usr/local \\\n" + + " && npm --no-cache install --ignore-scripts --omit=dev \\\n " + " \\\n ".join(list(dict.fromkeys(npm_packages))) + " && \\\n" # + ' echo "Fixing audit issues with npm…" \\\n' From 9d914e60bbef3e703027135703e09d16e233edde Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Tue, 16 Jun 2026 18:27:31 +0200 Subject: [PATCH 16/19] feat: configure npm prefix outside /root (generated) (#1975) --- Dockerfile | 3 ++- flavors/c_cpp/Dockerfile | 3 ++- flavors/ci_light/Dockerfile | 3 ++- flavors/cupcake/Dockerfile | 3 ++- flavors/documentation/Dockerfile | 3 ++- flavors/dotnet/Dockerfile | 3 ++- flavors/dotnetweb/Dockerfile | 3 ++- flavors/formatters/Dockerfile | 3 ++- flavors/go/Dockerfile | 3 ++- flavors/java/Dockerfile | 3 ++- flavors/javascript/Dockerfile | 3 ++- flavors/php/Dockerfile | 3 ++- flavors/python/Dockerfile | 3 ++- flavors/ruby/Dockerfile | 3 ++- flavors/rust/Dockerfile | 3 ++- flavors/salesforce/Dockerfile | 3 ++- flavors/security/Dockerfile | 3 ++- flavors/swift/Dockerfile | 3 ++- flavors/terraform/Dockerfile | 3 ++- linters/coffee_coffeelint/Dockerfile | 3 ++- linters/copypaste_jscpd/Dockerfile | 3 ++- linters/css_stylelint/Dockerfile | 3 ++- linters/gherkin_gherkin_lint/Dockerfile | 3 ++- linters/graphql_graphql_schema_linter/Dockerfile | 3 ++- linters/groovy_npm_groovy_lint/Dockerfile | 3 ++- linters/html_htmlhint/Dockerfile | 3 ++- linters/javascript_es/Dockerfile | 3 ++- linters/javascript_prettier/Dockerfile | 3 ++- linters/javascript_standard/Dockerfile | 3 ++- linters/json_jsonlint/Dockerfile | 3 ++- linters/json_npm_package_json_lint/Dockerfile | 3 ++- linters/json_prettier/Dockerfile | 3 ++- linters/json_v8r/Dockerfile | 3 ++- linters/jsx_eslint/Dockerfile | 3 ++- linters/markdown_markdown_table_formatter/Dockerfile | 3 ++- linters/markdown_markdownlint/Dockerfile | 3 ++- linters/python_pyright/Dockerfile | 3 ++- linters/repository_secretlint/Dockerfile | 3 ++- linters/salesforce_code_analyzer_apex/Dockerfile | 3 ++- linters/salesforce_code_analyzer_aura/Dockerfile | 3 ++- linters/salesforce_code_analyzer_lwc/Dockerfile | 3 ++- linters/spell_cspell/Dockerfile | 3 ++- linters/tekton_tekton_lint/Dockerfile | 3 ++- linters/tsx_eslint/Dockerfile | 3 ++- linters/typescript_es/Dockerfile | 3 ++- linters/typescript_prettier/Dockerfile | 3 ++- linters/typescript_standard/Dockerfile | 3 ++- linters/yaml_prettier/Dockerfile | 3 ++- linters/yaml_v8r/Dockerfile | 3 ++- 49 files changed, 98 insertions(+), 49 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1b06665015..6cbd6dc8af6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -734,7 +734,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @salesforce/cli@${NPM_SALESFORCE_CLI_VERSION} \ typescript@${NPM_TYPESCRIPT_VERSION} \ @coffeelint/cli@${NPM_COFFEELINT_CLI_VERSION} \ diff --git a/flavors/c_cpp/Dockerfile b/flavors/c_cpp/Dockerfile index 15709f2d4c6..20b1380cfe7 100644 --- a/flavors/c_cpp/Dockerfile +++ b/flavors/c_cpp/Dockerfile @@ -398,7 +398,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/ci_light/Dockerfile b/flavors/ci_light/Dockerfile index 3a6630619bf..c4cdbb315ae 100644 --- a/flavors/ci_light/Dockerfile +++ b/flavors/ci_light/Dockerfile @@ -244,7 +244,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ npm-groovy-lint@${NPM_GROOVY_LINT_VERSION} \ @prantlf/jsonlint@${NPM_PRANTLF_JSONLINT_VERSION} \ diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile index 7326ff4bdae..de0a5a025d0 100644 --- a/flavors/cupcake/Dockerfile +++ b/flavors/cupcake/Dockerfile @@ -604,7 +604,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ diff --git a/flavors/documentation/Dockerfile b/flavors/documentation/Dockerfile index 187c8d81a84..d52879dbb42 100644 --- a/flavors/documentation/Dockerfile +++ b/flavors/documentation/Dockerfile @@ -390,7 +390,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/dotnet/Dockerfile b/flavors/dotnet/Dockerfile index 50ba2d70238..64548417f59 100644 --- a/flavors/dotnet/Dockerfile +++ b/flavors/dotnet/Dockerfile @@ -424,7 +424,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/dotnetweb/Dockerfile b/flavors/dotnetweb/Dockerfile index baab53efe62..d5857c190cf 100644 --- a/flavors/dotnetweb/Dockerfile +++ b/flavors/dotnetweb/Dockerfile @@ -460,7 +460,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ @coffeelint/cli@${NPM_COFFEELINT_CLI_VERSION} \ jscpd@${NPM_JSCPD_VERSION} \ diff --git a/flavors/formatters/Dockerfile b/flavors/formatters/Dockerfile index 6d321dde997..3d7b252765f 100644 --- a/flavors/formatters/Dockerfile +++ b/flavors/formatters/Dockerfile @@ -234,7 +234,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ prettier@${NPM_PRETTIER_VERSION} \ markdownlint-cli@${NPM_MARKDOWNLINT_CLI_VERSION} \ diff --git a/flavors/go/Dockerfile b/flavors/go/Dockerfile index 3845c7c2f3d..f962fd5b772 100644 --- a/flavors/go/Dockerfile +++ b/flavors/go/Dockerfile @@ -407,7 +407,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/java/Dockerfile b/flavors/java/Dockerfile index 2dd35d91b0e..53d7184e14b 100644 --- a/flavors/java/Dockerfile +++ b/flavors/java/Dockerfile @@ -402,7 +402,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/javascript/Dockerfile b/flavors/javascript/Dockerfile index 71f2ffe5c58..55a9b6fe983 100644 --- a/flavors/javascript/Dockerfile +++ b/flavors/javascript/Dockerfile @@ -430,7 +430,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ @coffeelint/cli@${NPM_COFFEELINT_CLI_VERSION} \ jscpd@${NPM_JSCPD_VERSION} \ diff --git a/flavors/php/Dockerfile b/flavors/php/Dockerfile index 8069c7e5fc3..610db568652 100644 --- a/flavors/php/Dockerfile +++ b/flavors/php/Dockerfile @@ -420,7 +420,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/python/Dockerfile b/flavors/python/Dockerfile index e011c0bf72c..bf6f90fdc57 100644 --- a/flavors/python/Dockerfile +++ b/flavors/python/Dockerfile @@ -475,7 +475,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/ruby/Dockerfile b/flavors/ruby/Dockerfile index 95f05e288b7..65e75456ed3 100644 --- a/flavors/ruby/Dockerfile +++ b/flavors/ruby/Dockerfile @@ -413,7 +413,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/rust/Dockerfile b/flavors/rust/Dockerfile index c917c5d84e2..053ff067ca4 100644 --- a/flavors/rust/Dockerfile +++ b/flavors/rust/Dockerfile @@ -401,7 +401,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/salesforce/Dockerfile b/flavors/salesforce/Dockerfile index c3cb04f47a6..00eefc22bf3 100644 --- a/flavors/salesforce/Dockerfile +++ b/flavors/salesforce/Dockerfile @@ -403,7 +403,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @salesforce/cli@${NPM_SALESFORCE_CLI_VERSION} \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ diff --git a/flavors/security/Dockerfile b/flavors/security/Dockerfile index 456c33a686f..2e8a3f3ab45 100644 --- a/flavors/security/Dockerfile +++ b/flavors/security/Dockerfile @@ -284,7 +284,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ secretlint@${NPM_SECRETLINT_VERSION} \ @secretlint/secretlint-rule-preset-recommend@${NPM_SECRETLINT_SECRETLINT_RULE_PRESET_RECOMMEND_VERSION} \ @secretlint/secretlint-formatter-sarif@${NPM_SECRETLINT_SECRETLINT_FORMATTER_SARIF_VERSION} && \ diff --git a/flavors/swift/Dockerfile b/flavors/swift/Dockerfile index 5c611b50772..d0e5cd12552 100644 --- a/flavors/swift/Dockerfile +++ b/flavors/swift/Dockerfile @@ -392,7 +392,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/flavors/terraform/Dockerfile b/flavors/terraform/Dockerfile index e7a69315123..55879c10683 100644 --- a/flavors/terraform/Dockerfile +++ b/flavors/terraform/Dockerfile @@ -408,7 +408,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ diff --git a/linters/coffee_coffeelint/Dockerfile b/linters/coffee_coffeelint/Dockerfile index 2813be4a360..82d4dc46046 100644 --- a/linters/coffee_coffeelint/Dockerfile +++ b/linters/coffee_coffeelint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @coffeelint/cli@${NPM_COFFEELINT_CLI_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/copypaste_jscpd/Dockerfile b/linters/copypaste_jscpd/Dockerfile index 205f232d3b0..5ea925ae96b 100644 --- a/linters/copypaste_jscpd/Dockerfile +++ b/linters/copypaste_jscpd/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ jscpd@${NPM_JSCPD_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/css_stylelint/Dockerfile b/linters/css_stylelint/Dockerfile index 6212cbc5893..f3b97f0a9d5 100644 --- a/linters/css_stylelint/Dockerfile +++ b/linters/css_stylelint/Dockerfile @@ -167,7 +167,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ stylelint@${NPM_STYLELINT_VERSION} \ stylelint-config-standard@${NPM_STYLELINT_CONFIG_STANDARD_VERSION} \ stylelint-config-sass-guidelines@${NPM_STYLELINT_CONFIG_SASS_GUIDELINES_VERSION} \ diff --git a/linters/gherkin_gherkin_lint/Dockerfile b/linters/gherkin_gherkin_lint/Dockerfile index f72d9eef8f1..972a8cdaf3d 100644 --- a/linters/gherkin_gherkin_lint/Dockerfile +++ b/linters/gherkin_gherkin_lint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ gherkin-lint@${NPM_GHERKIN_LINT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/graphql_graphql_schema_linter/Dockerfile b/linters/graphql_graphql_schema_linter/Dockerfile index 64d35ac8f8c..89c83b2be55 100644 --- a/linters/graphql_graphql_schema_linter/Dockerfile +++ b/linters/graphql_graphql_schema_linter/Dockerfile @@ -150,7 +150,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ graphql@${NPM_GRAPHQL_VERSION} \ graphql-schema-linter@${NPM_GRAPHQL_SCHEMA_LINTER_VERSION} && \ echo "Cleaning npm cache…" \ diff --git a/linters/groovy_npm_groovy_lint/Dockerfile b/linters/groovy_npm_groovy_lint/Dockerfile index dc1c47cbe92..f8c51e79551 100644 --- a/linters/groovy_npm_groovy_lint/Dockerfile +++ b/linters/groovy_npm_groovy_lint/Dockerfile @@ -149,7 +149,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ npm-groovy-lint@${NPM_GROOVY_LINT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/html_htmlhint/Dockerfile b/linters/html_htmlhint/Dockerfile index 8ed11f2a31a..fd16102a844 100644 --- a/linters/html_htmlhint/Dockerfile +++ b/linters/html_htmlhint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ htmlhint@${NPM_HTMLHINT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/javascript_es/Dockerfile b/linters/javascript_es/Dockerfile index b0a59ee1455..553723dd132 100644 --- a/linters/javascript_es/Dockerfile +++ b/linters/javascript_es/Dockerfile @@ -166,7 +166,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ eslint@${NPM_ESLINT_VERSION} \ @eslint/js@${NPM_ESLINT_JS_VERSION} \ eslint-config-prettier@${NPM_ESLINT_CONFIG_PRETTIER_VERSION} \ diff --git a/linters/javascript_prettier/Dockerfile b/linters/javascript_prettier/Dockerfile index 3051b183d7d..ccac2bc07fb 100644 --- a/linters/javascript_prettier/Dockerfile +++ b/linters/javascript_prettier/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ prettier@${NPM_PRETTIER_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/javascript_standard/Dockerfile b/linters/javascript_standard/Dockerfile index e854569d684..433f016feca 100644 --- a/linters/javascript_standard/Dockerfile +++ b/linters/javascript_standard/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ standard@${NPM_STANDARD_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/json_jsonlint/Dockerfile b/linters/json_jsonlint/Dockerfile index 99917d14fed..502fd583045 100644 --- a/linters/json_jsonlint/Dockerfile +++ b/linters/json_jsonlint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @prantlf/jsonlint@${NPM_PRANTLF_JSONLINT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/json_npm_package_json_lint/Dockerfile b/linters/json_npm_package_json_lint/Dockerfile index 798d177c626..efe3378587c 100644 --- a/linters/json_npm_package_json_lint/Dockerfile +++ b/linters/json_npm_package_json_lint/Dockerfile @@ -150,7 +150,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ npm-package-json-lint@${NPM_PACKAGE_JSON_LINT_VERSION} \ npm-package-json-lint-config-default@${NPM_PACKAGE_JSON_LINT_CONFIG_DEFAULT_VERSION} && \ echo "Cleaning npm cache…" \ diff --git a/linters/json_prettier/Dockerfile b/linters/json_prettier/Dockerfile index 73d2e9a6182..8d96b30a57b 100644 --- a/linters/json_prettier/Dockerfile +++ b/linters/json_prettier/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ prettier@${NPM_PRETTIER_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/json_v8r/Dockerfile b/linters/json_v8r/Dockerfile index f27c1158ae4..25d3e19a247 100644 --- a/linters/json_v8r/Dockerfile +++ b/linters/json_v8r/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ v8r@${NPM_V8R_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/jsx_eslint/Dockerfile b/linters/jsx_eslint/Dockerfile index 8d8a7827137..2f3e99e6b53 100644 --- a/linters/jsx_eslint/Dockerfile +++ b/linters/jsx_eslint/Dockerfile @@ -152,7 +152,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ eslint@${NPM_ESLINT_VERSION} \ @eslint-react/eslint-plugin@${NPM_ESLINT_REACT_ESLINT_PLUGIN_VERSION} \ @microsoft/eslint-formatter-sarif@${NPM_MICROSOFT_ESLINT_FORMATTER_SARIF_VERSION} && \ diff --git a/linters/markdown_markdown_table_formatter/Dockerfile b/linters/markdown_markdown_table_formatter/Dockerfile index e8134e19da7..a36aa8c07eb 100644 --- a/linters/markdown_markdown_table_formatter/Dockerfile +++ b/linters/markdown_markdown_table_formatter/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ markdown-table-formatter@${NPM_MARKDOWN_TABLE_FORMATTER_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/markdown_markdownlint/Dockerfile b/linters/markdown_markdownlint/Dockerfile index bf2e91730d0..a58533d91a6 100644 --- a/linters/markdown_markdownlint/Dockerfile +++ b/linters/markdown_markdownlint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ markdownlint-cli@${NPM_MARKDOWNLINT_CLI_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/python_pyright/Dockerfile b/linters/python_pyright/Dockerfile index 8069c225e95..9684aa88219 100644 --- a/linters/python_pyright/Dockerfile +++ b/linters/python_pyright/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ pyright@${NPM_PYRIGHT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/repository_secretlint/Dockerfile b/linters/repository_secretlint/Dockerfile index c5493fcfcfb..e2f64a7ea78 100644 --- a/linters/repository_secretlint/Dockerfile +++ b/linters/repository_secretlint/Dockerfile @@ -152,7 +152,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ secretlint@${NPM_SECRETLINT_VERSION} \ @secretlint/secretlint-rule-preset-recommend@${NPM_SECRETLINT_SECRETLINT_RULE_PRESET_RECOMMEND_VERSION} \ @secretlint/secretlint-formatter-sarif@${NPM_SECRETLINT_SECRETLINT_FORMATTER_SARIF_VERSION} && \ diff --git a/linters/salesforce_code_analyzer_apex/Dockerfile b/linters/salesforce_code_analyzer_apex/Dockerfile index 2c1593c1263..f87b5656b22 100644 --- a/linters/salesforce_code_analyzer_apex/Dockerfile +++ b/linters/salesforce_code_analyzer_apex/Dockerfile @@ -156,7 +156,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @salesforce/cli@${NPM_SALESFORCE_CLI_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/salesforce_code_analyzer_aura/Dockerfile b/linters/salesforce_code_analyzer_aura/Dockerfile index 562b6c69466..5b6b40ba6d3 100644 --- a/linters/salesforce_code_analyzer_aura/Dockerfile +++ b/linters/salesforce_code_analyzer_aura/Dockerfile @@ -156,7 +156,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @salesforce/cli@${NPM_SALESFORCE_CLI_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/salesforce_code_analyzer_lwc/Dockerfile b/linters/salesforce_code_analyzer_lwc/Dockerfile index 90072224faf..936d429b32f 100644 --- a/linters/salesforce_code_analyzer_lwc/Dockerfile +++ b/linters/salesforce_code_analyzer_lwc/Dockerfile @@ -156,7 +156,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @salesforce/cli@${NPM_SALESFORCE_CLI_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/spell_cspell/Dockerfile b/linters/spell_cspell/Dockerfile index e72f874448e..12e8400d20d 100644 --- a/linters/spell_cspell/Dockerfile +++ b/linters/spell_cspell/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ cspell@${NPM_CSPELL_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/tekton_tekton_lint/Dockerfile b/linters/tekton_tekton_lint/Dockerfile index 2df233312ec..4a77727733c 100644 --- a/linters/tekton_tekton_lint/Dockerfile +++ b/linters/tekton_tekton_lint/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ @ibm/tekton-lint@${NPM_IBM_TEKTON_LINT_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/tsx_eslint/Dockerfile b/linters/tsx_eslint/Dockerfile index 9278c5f19df..858090a8355 100644 --- a/linters/tsx_eslint/Dockerfile +++ b/linters/tsx_eslint/Dockerfile @@ -168,7 +168,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ eslint@${NPM_ESLINT_VERSION} \ eslint-config-prettier@${NPM_ESLINT_CONFIG_PRETTIER_VERSION} \ diff --git a/linters/typescript_es/Dockerfile b/linters/typescript_es/Dockerfile index b5ef471b74c..904c46668ee 100644 --- a/linters/typescript_es/Dockerfile +++ b/linters/typescript_es/Dockerfile @@ -174,7 +174,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ eslint@${NPM_ESLINT_VERSION} \ @eslint/js@${NPM_ESLINT_JS_VERSION} \ diff --git a/linters/typescript_prettier/Dockerfile b/linters/typescript_prettier/Dockerfile index 2363a9f8f7a..f64f88ff07a 100644 --- a/linters/typescript_prettier/Dockerfile +++ b/linters/typescript_prettier/Dockerfile @@ -150,7 +150,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ prettier@${NPM_PRETTIER_VERSION} && \ echo "Cleaning npm cache…" \ diff --git a/linters/typescript_standard/Dockerfile b/linters/typescript_standard/Dockerfile index 5d2734a265b..da1ad64bf58 100644 --- a/linters/typescript_standard/Dockerfile +++ b/linters/typescript_standard/Dockerfile @@ -150,7 +150,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ typescript@${NPM_TYPESCRIPT_VERSION} \ ts-standard@${NPM_TS_STANDARD_VERSION} && \ echo "Cleaning npm cache…" \ diff --git a/linters/yaml_prettier/Dockerfile b/linters/yaml_prettier/Dockerfile index 90e60f53587..502dc4a49bb 100644 --- a/linters/yaml_prettier/Dockerfile +++ b/linters/yaml_prettier/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ prettier@${NPM_PRETTIER_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ diff --git a/linters/yaml_v8r/Dockerfile b/linters/yaml_v8r/Dockerfile index b4d72363800..1cb229ac1f9 100644 --- a/linters/yaml_v8r/Dockerfile +++ b/linters/yaml_v8r/Dockerfile @@ -148,7 +148,8 @@ ENV NODE_OPTIONS="--max-old-space-size=8192" \ NODE_ENV=production #NPM__START WORKDIR /node-deps -RUN npm --no-cache install --ignore-scripts --omit=dev \ +RUN npm config set prefix /usr/local \ + && npm --no-cache install --ignore-scripts --omit=dev \ v8r@${NPM_V8R_VERSION} && \ echo "Cleaning npm cache…" \ && (npm cache clean --force || true) \ From 5f85610f94ea14019f193be735ee706ab14809e9 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Wed, 17 Jun 2026 04:10:42 +0200 Subject: [PATCH 17/19] feat: install Rust outside /root (definition) (#1975) --- .automation/build.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.automation/build.py b/.automation/build.py index 1675266feff..88fd0599381 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -551,7 +551,9 @@ def build_dockerfile( + ' && export PATH="${CARGO_HOME}/bin:${PATH}" \\\n' + " && rustup default stable \\\n" + f" && {rustup_cargo_cmd} \\\n" - + ' && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \\\n' + + ' && for bin in "${CARGO_HOME}"/bin/*; do \\\n' + + ' ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; \\\n' + + " done \\\n" + ' && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache\n' + "ENV RUSTUP_HOME=/usr/local/rustup\n" + "ENV CARGO_HOME=/usr/local/cargo\n" From 3eddb0a3b03c0ff8180a168fb8ad41d147976963 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Wed, 17 Jun 2026 04:20:12 +0200 Subject: [PATCH 18/19] feat: install Rust outside /root (generated) (#1975) --- Dockerfile | 4 +++- flavors/cupcake/Dockerfile | 4 +++- flavors/rust/Dockerfile | 4 +++- linters/rust_clippy/Dockerfile | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 41572beeecf..cc1a7161eaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -544,7 +544,9 @@ RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && for bin in "${CARGO_HOME}"/bin/*; do \ + ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; \ + done \ && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo diff --git a/flavors/cupcake/Dockerfile b/flavors/cupcake/Dockerfile index 6ee652d271a..1c1f3066f42 100644 --- a/flavors/cupcake/Dockerfile +++ b/flavors/cupcake/Dockerfile @@ -431,7 +431,9 @@ RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && for bin in "${CARGO_HOME}"/bin/*; do \ + ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; \ + done \ && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo diff --git a/flavors/rust/Dockerfile b/flavors/rust/Dockerfile index f1ea24f66ba..73ad1e0e3aa 100644 --- a/flavors/rust/Dockerfile +++ b/flavors/rust/Dockerfile @@ -287,7 +287,9 @@ RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && for bin in "${CARGO_HOME}"/bin/*; do \ + ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; \ + done \ && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo diff --git a/linters/rust_clippy/Dockerfile b/linters/rust_clippy/Dockerfile index 17fedb2fd13..a5163a1f1a8 100644 --- a/linters/rust_clippy/Dockerfile +++ b/linters/rust_clippy/Dockerfile @@ -107,7 +107,9 @@ RUN export RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo \ && export PATH="${CARGO_HOME}/bin:${PATH}" \ && rustup default stable \ && rustup component add clippy \ - && for bin in "${CARGO_HOME}"/bin/*; do ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; done \ + && for bin in "${CARGO_HOME}"/bin/*; do \ + ln -sf "$bin" /usr/local/bin/"$(basename "$bin")"; \ + done \ && rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo From b39733418e8cd2f2a8ecb61ec228c81f54bb8d70 Mon Sep 17 00:00:00 2001 From: Stefan Kuhn Date: Wed, 17 Jun 2026 04:25:40 +0200 Subject: [PATCH 19/19] feat: add opt-in mega-linter-runner user-map mode (definition) (#1975) Follow up triggered by linter errors: - Remove accidentally added LOGNAME env var - Whitelist adduser, deluser, and delgroup in cspell for 'sh/setup-runtime-user' --- .cspell.json | 3 +++ sh/setup-runtime-user | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.cspell.json b/.cspell.json index 1d938990d71..b68469d26e6 100644 --- a/.cspell.json +++ b/.cspell.json @@ -122,6 +122,8 @@ "dargs", "datrie", "depd", + "delgroup", + "deluser", "dezalgo", "dont", "drmaa", @@ -1664,6 +1666,7 @@ "upshape", "urllib3", "usergroup", + "adduser", "utilstest", "utogenconf", "uvicorn", diff --git a/sh/setup-runtime-user b/sh/setup-runtime-user index 5eff9ecf915..688b3ce7bf7 100755 --- a/sh/setup-runtime-user +++ b/sh/setup-runtime-user @@ -56,7 +56,6 @@ chown -R "${MEGALINTER_RUNTIME_UID}:${MEGALINTER_RUNTIME_GID}" "${MEGALINTER_RUN export HOME="${MEGALINTER_RUNTIME_HOME}" export USER="${MEGALINTER_RUNTIME_USER}" -export LOGNAME="${MEGALINTER_RUNTIME_USER}" export MEGALINTER_USER_SWITCHED=true exec su -p "${MEGALINTER_RUNTIME_USER}" -s /bin/bash -c 'exec /entrypoint.sh "$@"' bash "$@"