From df4f8076dd0a68bd785168fe80038196a160730d Mon Sep 17 00:00:00 2001 From: Claire W <78226508+crwaters16@users.noreply.github.com> Date: Thu, 9 Oct 2025 14:27:07 -0500 Subject: [PATCH 1/2] [Copilot] Updating allowlist reference with collector URL (#57894) --- content/copilot/reference/allowlist-reference.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/copilot/reference/allowlist-reference.md b/content/copilot/reference/allowlist-reference.md index 84745453dff4..75007deea01f 100644 --- a/content/copilot/reference/allowlist-reference.md +++ b/content/copilot/reference/allowlist-reference.md @@ -25,6 +25,7 @@ If your company employs security measures like a firewall or proxy server, you s | `https://api.github.com/user` | User Management | | `https://api.github.com/copilot_internal/*` | User Management | | `https://copilot-telemetry.githubusercontent.com/telemetry` | Telemetry | +| `https://collector.github.com/*` | Analytics telemetry | | `https://default.exp-tas.com` | Telemetry | | `https://copilot-proxy.githubusercontent.com` | API service for {% data variables.product.prodname_copilot_short %} suggestions | | `https://origin-tracker.githubusercontent.com` | API service for {% data variables.product.prodname_copilot_short %} suggestions | From d50a5d0634827fe8597bd1d25e8368b6d8952e60 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 9 Oct 2025 15:56:56 -0400 Subject: [PATCH 2/2] Add data-driven table to replace GitHub supported languages Markdown table (#57811) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../github-language-support.md | 44 ++-- data/tables/supported-code-languages.yml | 145 ++++++++++++ .../data-schemas/supported-code-languages.ts | 214 ++++++++++++++++++ 3 files changed, 386 insertions(+), 17 deletions(-) create mode 100644 data/tables/supported-code-languages.yml create mode 100644 src/data-directory/lib/data-schemas/supported-code-languages.ts diff --git a/content/get-started/learning-about-github/github-language-support.md b/content/get-started/learning-about-github/github-language-support.md index 7b09b64dd992..4ab9c7c2b5f5 100644 --- a/content/get-started/learning-about-github/github-language-support.md +++ b/content/get-started/learning-about-github/github-language-support.md @@ -19,27 +19,37 @@ Most {% data variables.product.prodname_dotcom %} features work regardless of wh Some {% data variables.product.prodname_dotcom %} products have features that are currently only supported for a subset of programming languages. -## Core languages supported by {% data variables.product.prodname_dotcom %} features - Core languages for {% data variables.product.prodname_dotcom %} features include C, C++, C#, Go, Java, JavaScript,{% ifversion kotlin-supported-language %} Kotlin,{% endif %} PHP, Python, Ruby, Rust, Scala, and TypeScript. For features that support package managers, the currently supported package managers are included in the table with their relevant languages. Some features are supported for additional languages or package managers. If you want to know whether another language is supported for a feature or to request support for a language, visit {% data variables.contact.community_support_forum %}. -{% data reusables.supported-languages.products-table-header %} -{% data reusables.supported-languages.C %} -{% data reusables.supported-languages.Cpp %} -{% data reusables.supported-languages.Cs %} -{% data reusables.supported-languages.go %} -{% data reusables.supported-languages.java %} -{% data reusables.supported-languages.javascript %} -{% data reusables.supported-languages.kotlin %} -{% data reusables.supported-languages.php %} -{% data reusables.supported-languages.python %} -{% data reusables.supported-languages.ruby %} -{% data reusables.supported-languages.rust %} -{% data reusables.supported-languages.scala %} -{% data reusables.supported-languages.swift %} -{% data reusables.supported-languages.typescript %} + + +{% ifversion fpt or ghec %} + +## Core languages supported in {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_cloud %} + +| Language{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureKey = featureEntry[0] %}{%- assign featureData = featureEntry[1] %}{%- if featureData.fptAndGhec %} | [{{ featureData.name }}]({{ featureData.link }}){%- endif %}{%- endfor %} | +|:----{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureData = featureEntry[1] %}{%- if featureData.fptAndGhec %}|:----:{%- endif %}{%- endfor %}| +{%- for languageEntry in tables.supported-code-languages.languages %} +{%- assign language = languageEntry[0] %} +{%- assign languageData = languageEntry[1] %} +| {{ language }}{%- for featureEntry in tables.supported-code-languages.features -%}{%- assign featureKey = featureEntry[0] -%}{%- assign featureData = featureEntry[1] -%}{%- if featureData.fptAndGhec -%}{%- assign supportLevel = languageData[featureKey] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "not-supported" %}✗{%- else %}{{ supportLevel }}{%- endcase -%}{%- endif -%}{%- endfor %} | +{%- endfor %} +{% endif %} + +{% ifversion ghes %} + +## Core languages supported in {% data variables.product.prodname_ghe_server %} + +| Language{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureKey = featureEntry[0] %}{%- assign featureData = featureEntry[1] %}{%- if featureData.ghes %} | [{{ featureData.name }}]({{ featureData.link }}){%- endif %}{%- endfor %} | +|:----{%- for featureEntry in tables.supported-code-languages.features %}{%- assign featureData = featureEntry[1] %}{%- if featureData.ghes %}|:----:{%- endif %}{%- endfor %}| +{%- for languageEntry in tables.supported-code-languages.languages %} +{%- assign language = languageEntry[0] %} +{%- assign languageData = languageEntry[1] %} +| {{ language }}{%- for featureEntry in tables.supported-code-languages.features -%}{%- assign featureKey = featureEntry[0] -%}{%- assign featureData = featureEntry[1] -%}{%- if featureData.ghes -%}{%- assign supportLevel = languageData[featureKey] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "not-supported" %}✗{%- else %}{{ supportLevel }}{%- endcase -%}{%- endif -%}{%- endfor %} | +{%- endfor %} +{% endif %} > [!NOTE] > {% ifversion fpt or ghec %}The language support for {% data variables.product.prodname_copilot %} varies depending on the volume and diversity of training data for that language.{% endif %} diff --git a/data/tables/supported-code-languages.yml b/data/tables/supported-code-languages.yml new file mode 100644 index 000000000000..fe0c57438509 --- /dev/null +++ b/data/tables/supported-code-languages.yml @@ -0,0 +1,145 @@ +# Rendering code lives in content/get-started/learning-about-github/github-language-support.md + +# Features configuration - simplified structure +features: + copilot: + name: 'GitHub Copilot' + link: '/copilot/about-github-copilot/what-is-github-copilot' + fptAndGhec: true + ghes: false + codeNavigation: + name: 'Code navigation' + link: '/repositories/working-with-files/using-files/navigating-code-on-github' + fptAndGhec: true + ghes: false + codeScanning: + name: 'Code scanning' + link: '/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning' + fptAndGhec: true + ghes: true + depGraph: + name: 'Dependency graph, Dependabot alerts' + link: '/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems' + fptAndGhec: true + ghes: true + depUpdates: + name: 'Dependabot version updates, Dependabot security updates' + link: '/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#supported-repositories-and-ecosystems' + fptAndGhec: true + ghes: true + actions: + name: 'GitHub Actions' + link: '/actions/automating-builds-and-tests/about-continuous-integration#supported-languages' + fptAndGhec: true + ghes: true + packages: + name: 'GitHub Packages' + link: '/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats' + fptAndGhec: true + ghes: true + +languages: + C: + copilot: 'supported' + codeNavigation: 'not-supported' + codeScanning: 'supported' + depGraph: 'not-supported' + depUpdates: 'not-supported' + actions: 'supported' + packages: 'not-supported' + C++: + copilot: 'supported' + codeNavigation: 'not-supported' + codeScanning: 'supported' + depGraph: 'not-supported' + depUpdates: 'not-supported' + actions: 'supported' + packages: 'not-supported' + C#: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: '`dotnet` CLI' + depUpdates: '`dotnet` CLI' + actions: 'supported' + packages: '`dotnet` CLI' + Go: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'Go modules' + depUpdates: 'Go modules' + actions: 'supported' + packages: 'not-supported' + Java: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'Maven, Gradle' + depUpdates: 'Maven, Gradle' + actions: 'supported' + packages: 'Maven, Gradle' + JavaScript: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'npm, Yarn' + depUpdates: 'npm' + actions: 'supported' + packages: 'npm' + Kotlin: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'Maven, Gradle' + depUpdates: 'Maven, Gradle' + actions: 'supported' + packages: 'Maven, Gradle' + PHP: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'third-party [^1]' + depGraph: 'Composer' + depUpdates: 'Composer' + actions: 'supported' + packages: 'not-supported' + Python: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'pip' + depUpdates: 'pip' + actions: 'supported' + packages: 'not-supported' + Ruby: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'RubyGems' + depUpdates: 'RubyGems' + actions: 'supported' + packages: 'RubyGems' + Scala: + copilot: 'supported' + codeNavigation: 'not-supported' + codeScanning: 'third-party [^1]' + depGraph: 'Maven' + depUpdates: 'Maven, Gradle' + actions: 'supported' + packages: 'not-supported' + Swift: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'supported' + depUpdates: 'supported' + actions: 'supported' + packages: 'Swift Package Manager' + TypeScript: + copilot: 'supported' + codeNavigation: 'supported' + codeScanning: 'supported' + depGraph: 'npm, Yarn' + depUpdates: 'npm' + actions: 'supported' + packages: 'npm' diff --git a/src/data-directory/lib/data-schemas/supported-code-languages.ts b/src/data-directory/lib/data-schemas/supported-code-languages.ts new file mode 100644 index 000000000000..a298f709ef15 --- /dev/null +++ b/src/data-directory/lib/data-schemas/supported-code-languages.ts @@ -0,0 +1,214 @@ +// This schema enforces the structure in data/tables/supported-code-languages.yml + +export default { + type: 'object', + additionalProperties: false, + required: ['features', 'languages'], + properties: { + features: { + type: 'object', + additionalProperties: false, + required: [ + 'copilot', + 'codeNavigation', + 'codeScanning', + 'depGraph', + 'depUpdates', + 'actions', + 'packages', + ], + properties: { + copilot: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + codeNavigation: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + codeScanning: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + depGraph: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + depUpdates: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + actions: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + packages: { + type: 'object', + additionalProperties: false, + required: ['name', 'link', 'fptAndGhec', 'ghes'], + properties: { + name: { + type: 'string', + lintable: true, + }, + link: { + type: 'string', + }, + fptAndGhec: { + type: 'boolean', + }, + ghes: { + type: 'boolean', + }, + }, + }, + }, + }, + languages: { + type: 'object', + additionalProperties: false, + patternProperties: { + // Language names like C, C++, C#, Go, Java, JavaScript, etc. + '^[a-zA-Z+#]+$': { + type: 'object', + additionalProperties: false, + required: [ + 'copilot', + 'codeNavigation', + 'codeScanning', + 'depGraph', + 'depUpdates', + 'actions', + 'packages', + ], + properties: { + copilot: { + type: 'string', + enum: ['supported', 'not-supported'], + }, + codeNavigation: { + type: 'string', + enum: ['supported', 'not-supported'], + }, + codeScanning: { + type: 'string', + // Allow "supported", "not-supported", or custom text like "third-party [^1]" + }, + depGraph: { + type: 'string', + // Allow "supported", "not-supported", or specific package managers like "npm, Yarn" + }, + depUpdates: { + type: 'string', + // Allow "supported", "not-supported", or specific package managers + }, + actions: { + type: 'string', + enum: ['supported', 'not-supported'], + }, + packages: { + type: 'string', + // Allow "supported", "not-supported", or specific package managers + }, + }, + }, + }, + }, + }, +}