Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aceaa6b957 | ||
|
|
270e5b970f | ||
|
|
5dac3211ff | ||
|
|
4d91fc8ead |
@@ -24,10 +24,28 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir -p "${RUNNER_TEMP}/qodana/caches"
|
mkdir -p "${RUNNER_TEMP}/qodana/caches"
|
||||||
mkdir -p "${RUNNER_TEMP}/qodana/results"
|
mkdir -p "${RUNNER_TEMP}/qodana/results"
|
||||||
|
- name: Detect Qodana Cloud token
|
||||||
|
id: qodana-token
|
||||||
|
env:
|
||||||
|
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
|
||||||
|
run: |
|
||||||
|
if [ -n "${QODANA_TOKEN:-}" ]; then
|
||||||
|
echo "present=true" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "present=false" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: 'Qodana Scan'
|
- name: 'Qodana Scan'
|
||||||
uses: JetBrains/qodana-action@v2025.3
|
if: ${{ steps.qodana-token.outputs.present == 'true' }}
|
||||||
|
uses: JetBrains/qodana-action@v2026.1
|
||||||
with:
|
with:
|
||||||
pr-mode: false
|
pr-mode: false
|
||||||
env:
|
env:
|
||||||
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
|
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
|
||||||
QODANA_ENDPOINT: 'https://qodana.cloud'
|
QODANA_ENDPOINT: 'https://qodana.cloud'
|
||||||
|
|
||||||
|
- name: 'Qodana Scan (without cloud upload)'
|
||||||
|
if: ${{ steps.qodana-token.outputs.present != 'true' }}
|
||||||
|
uses: JetBrains/qodana-action@v2026.1
|
||||||
|
with:
|
||||||
|
pr-mode: false
|
||||||
|
|||||||
@@ -25,6 +25,16 @@ function composeArgs(projectName, args) {
|
|||||||
return ["compose", "-p", projectName, ...args];
|
return ["compose", "-p", projectName, ...args];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function usesWindowsPathSyntax(filePath) {
|
||||||
|
return /^[A-Za-z]:($|[\\/])/.test(filePath) || filePath.startsWith("\\\\") || filePath.includes("\\");
|
||||||
|
}
|
||||||
|
|
||||||
|
function pathForInputs(...filePaths) {
|
||||||
|
const hasWindowsPath = filePaths.some((filePath) => usesWindowsPathSyntax(String(filePath || "")));
|
||||||
|
|
||||||
|
return hasWindowsPath ? path.win32 : path;
|
||||||
|
}
|
||||||
|
|
||||||
async function resolveRootDir(scriptPath) {
|
async function resolveRootDir(scriptPath) {
|
||||||
const cwd = process.cwd();
|
const cwd = process.cwd();
|
||||||
|
|
||||||
@@ -66,7 +76,7 @@ export function resolveComposeProjectName(rootDir, env = process.env) {
|
|||||||
return explicit;
|
return explicit;
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.basename(rootDir);
|
return pathForInputs(rootDir).basename(rootDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function resolveComposeNetworkName(rootDir, env = process.env) {
|
export function resolveComposeNetworkName(rootDir, env = process.env) {
|
||||||
@@ -74,11 +84,13 @@ export function resolveComposeNetworkName(rootDir, env = process.env) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function resolveConfigDirectory(rootDir, explicitDir = null) {
|
export function resolveConfigDirectory(rootDir, explicitDir = null) {
|
||||||
|
const pathModule = pathForInputs(rootDir, explicitDir);
|
||||||
|
|
||||||
if (explicitDir) {
|
if (explicitDir) {
|
||||||
return path.resolve(rootDir, explicitDir);
|
return pathModule.resolve(rootDir, explicitDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.join(rootDir, ".tmp", "test-gateway");
|
return pathModule.join(rootDir, ".tmp", "test-gateway");
|
||||||
}
|
}
|
||||||
|
|
||||||
export function shouldClaimGateway(existingConfig = {}, installToken = "") {
|
export function shouldClaimGateway(existingConfig = {}, installToken = "") {
|
||||||
|
|||||||
Reference in New Issue
Block a user