diff --git a/.github/workflows/__language-aliases.yml b/.github/workflows/__language-aliases.yml index d64abe876d..a4cdb034bf 100644 --- a/.github/workflows/__language-aliases.yml +++ b/.github/workflows/__language-aliases.yml @@ -60,12 +60,12 @@ jobs: setup-kotlin: 'true' - uses: ./../action/init with: - languages: C#,java-kotlin,swift,typescript + languages: C#,java-kotlin,typescript tools: ${{ steps.prepare-test.outputs.tools-url }} - name: 'Check languages' run: | - expected_languages="csharp,java,swift,javascript" + expected_languages="csharp,java,javascript" actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config) if [ "$expected_languages" != "$actual_languages" ]; then diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index c9a434400f..32196392d0 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -161960,6 +161960,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 969d0f015a..2fabf45d96 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -107434,6 +107434,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index cdcceeb25d..a0accec339 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -104016,6 +104016,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/init-action-post.js b/lib/init-action-post.js index 1128ae8278..ddd0308c31 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -165315,6 +165315,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/init-action.js b/lib/init-action.js index 86b8fb3a16..e9afbeece8 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -107837,6 +107837,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( @@ -110293,6 +110299,11 @@ async function run(startedAt) { enableFileCoverageInformation: fileCoverageResult.enabled, logger }); + if (config.languages.includes("swift" /* swift */) && process.platform === "linux") { + throw new ConfigurationError( + `Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner.` + ); + } if (repositoryPropertiesResult.isFailure()) { addNoLanguageDiagnostic( config, @@ -110377,11 +110388,6 @@ async function run(startedAt) { "Passing the GOFLAGS env parameter to the init action is deprecated. Please move this to the analyze action." ); } - if (config.languages.includes("swift" /* swift */) && process.platform === "linux") { - logger.warning( - `Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you.` - ); - } if (config.languages.includes("go" /* go */) && process.platform === "linux") { try { const goBinaryPath = await io6.which("go", true); diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 8efaa0b031..6d6e29821f 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -104015,6 +104015,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index 3f54f6f0c0..73541a3b87 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -105062,6 +105062,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index 688eeb733b..25d0f40c6b 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -162127,6 +162127,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 3a26187564..fc84b64a64 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -107067,6 +107067,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index 2585c49ad9..d2c4866978 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -161791,6 +161791,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index b78507de3f..ac8ee8eac8 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -108505,6 +108505,12 @@ var cliErrorsConfig = { ) ] }, + ["SwiftIncompatibleOs" /* SwiftIncompatibleOs */]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS") + ] + }, ["UnsupportedBuildMode" /* UnsupportedBuildMode */]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/pr-checks/checks/language-aliases.yml b/pr-checks/checks/language-aliases.yml index 8fcde341d0..b83dd5d0fa 100644 --- a/pr-checks/checks/language-aliases.yml +++ b/pr-checks/checks/language-aliases.yml @@ -5,12 +5,12 @@ versions: steps: - uses: ./../action/init with: - languages: C#,java-kotlin,swift,typescript + languages: C#,java-kotlin,typescript tools: ${{ steps.prepare-test.outputs.tools-url }} - name: "Check languages" run: | - expected_languages="csharp,java,swift,javascript" + expected_languages="csharp,java,javascript" actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config) if [ "$expected_languages" != "$actual_languages" ]; then diff --git a/src/cli-errors.test.ts b/src/cli-errors.test.ts index 7a3ed892ba..9e2d7dc799 100644 --- a/src/cli-errors.test.ts +++ b/src/cli-errors.test.ts @@ -299,6 +299,20 @@ test("wrapCliConfigurationError - swift build failed", (t) => { t.true(wrappedError instanceof ConfigurationError); }); +test("wrapCliConfigurationError - swift incompatible os", (t) => { + const commandError = new CommandInvocationError( + "codeql", + ["swift/tools/autobuild.sh"], + 1, + "2026-04-01 18:35:00 EST ERRO [extractor/main] [incompatible-os] Currently, Swift analysis is only supported on macOS. (IncompatibleOs.cpp:26)", + ); + const cliError = new CliError(commandError); + + const wrappedError = wrapCliConfigurationError(cliError); + + t.true(wrappedError instanceof ConfigurationError); +}); + test("wrapCliConfigurationError - pack cannot be found", (t) => { const commandError = new CommandInvocationError( "codeql", diff --git a/src/cli-errors.ts b/src/cli-errors.ts index 5aba268cab..84ec1aa4e6 100644 --- a/src/cli-errors.ts +++ b/src/cli-errors.ts @@ -144,6 +144,7 @@ export enum CliConfigErrorCategory { OutOfMemoryOrDisk = "OutOfMemoryOrDisk", PackCannotBeFound = "PackCannotBeFound", PackMissingAuth = "PackMissingAuth", + SwiftIncompatibleOs = "SwiftIncompatibleOs", SwiftBuildFailed = "SwiftBuildFailed", UnsupportedBuildMode = "UnsupportedBuildMode", } @@ -281,6 +282,12 @@ const cliErrorsConfig: Record = { ), ], }, + [CliConfigErrorCategory.SwiftIncompatibleOs]: { + cliErrorMessageCandidates: [ + new RegExp("\\[incompatible-os\\]"), + new RegExp("Swift analysis is only supported on macOS"), + ], + }, [CliConfigErrorCategory.UnsupportedBuildMode]: { cliErrorMessageCandidates: [ new RegExp( diff --git a/src/init-action.ts b/src/init-action.ts index 70d5d79ce5..fd24fa6f85 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -389,6 +389,15 @@ async function run(startedAt: Date) { logger, }); + if ( + config.languages.includes(KnownLanguage.swift) && + process.platform === "linux" + ) { + throw new ConfigurationError( + `Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner.`, + ); + } + if (repositoryPropertiesResult.isFailure()) { addNoLanguageDiagnostic( config, @@ -499,15 +508,6 @@ async function run(startedAt: Date) { ); } - if ( - config.languages.includes(KnownLanguage.swift) && - process.platform === "linux" - ) { - logger.warning( - `Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you.`, - ); - } - if ( config.languages.includes(KnownLanguage.go) && process.platform === "linux"