From 8805e3e1d11cd22a08f420d36c4d3158b57dd8db Mon Sep 17 00:00:00 2001 From: Laura Coursen Date: Tue, 3 Mar 2026 09:17:36 -0600 Subject: [PATCH 1/7] Remove "Enterprise administrators" Guides page (#59931) Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> --- content/admin/guides.md | 138 ------------------ content/admin/index.md | 2 +- .../creating-an-enterprise-account.md | 2 +- src/redirects/tests/redirects.ts | 9 +- 4 files changed, 5 insertions(+), 146 deletions(-) delete mode 100644 content/admin/guides.md diff --git a/content/admin/guides.md b/content/admin/guides.md deleted file mode 100644 index 1d717871908c..000000000000 --- a/content/admin/guides.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Guides for GitHub Enterprise -shortTitle: Guides -intro: 'Learn how to increase developer productivity and code quality with {% data variables.product.prodname_enterprise %}.' -allowTitleToDifferFromFilename: true -layout: product-guides -versions: - ghec: '*' - ghes: '*' -learningTracks: - - '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}' - - '{% ifversion ghes %}deploy_an_instance{% endif %}' - - '{% ifversion ghes %}upgrade_your_instance{% endif %}' - - adopting_github_actions_for_your_enterprise_ghec - - adopting_github_actions_for_your_enterprise_ghes - - '{% ifversion ghes %}increase_fault_tolerance{% endif %}' - - '{% ifversion ghes %}improve_security_of_your_instance{% endif %}' - - '{% ifversion ghes %}configure_github_actions{% endif %}' - - '{% ifversion ghes %}configure_github_advanced_security{% endif %}' -includeGuides: - - /admin/managing-iam/understanding-iam-for-enterprises/allowing-built-in-authentication-for-users-outside-your-provider - - /admin/managing-iam/understanding-iam-for-enterprises/changing-authentication-methods - - /admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-entra-id - - /admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise - - /admin/managing-iam/provisioning-user-accounts-with-scim/user-provisioning-with-scim-on-ghes - - /admin/managing-iam/understanding-iam-for-enterprises/about-saml-for-enterprise-iam - - /admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise-using-okta - - /admin/managing-iam/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise - - /admin/managing-iam/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account - - /admin/concepts/identity-and-access-management/enterprise-managed-users - - /admin/managing-iam/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users - - /admin/managing-iam/provisioning-user-accounts-with-scim/configuring-scim-provisioning-for-users - - /admin/managing-iam/provisioning-user-accounts-with-scim/migrating-from-ldap-to-saml-with-scim - - /admin/identity-and-access-management/provisioning-user-accounts-with-scim/configuring-scim-provisioning-using-okta - - /admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups - - /admin/managing-iam/using-cas-for-enterprise-iam/using-cas - - /admin/managing-iam/using-ldap-for-enterprise-iam/using-ldap - - /admin/managing-iam/using-saml-for-enterprise-iam - - /admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh - - /admin/configuring-settings/configuring-network-settings/configuring-the-hostname-for-your-instance - - /admin/configuring-settings/configuring-network-settings/changing-the-hostname-for-your-instance - - /admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance - - /admin/configuring-settings/configuring-network-settings/configuring-built-in-firewall-rules - - /code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance - - /admin/configuration/configuring-data-encryption-for-your-enterprise - - /code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-dependency-review-for-your-appliance - - /admin/configuring-settings/configuring-network-settings/configuring-dns-nameservers - - /admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-rate-limits - - /code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-secret-scanning-for-your-appliance - - /admin/configuring-settings/hardening-security-for-your-enterprise/configuring-tls - - /admin/configuring-settings/configuring-user-applications-for-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise - - /admin/configuring-settings/configuring-user-applications-for-your-enterprise/managing-github-mobile-for-your-enterprise - - /admin/configuration/connecting-your-enterprise-account-to-github-enterprise-cloud - - /admin/configuring-settings/hardening-security-for-your-enterprise/configuring-ssh-connections-to-your-instance - - /admin/configuring-settings/hardening-security-for-your-enterprise/configuring-host-keys-for-your-instance - - /admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode - - /admin/configuring-settings/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise - - /admin/configuring-settings/hardening-security-for-your-enterprise/enabling-private-mode - - /admin/configuring-settings/hardening-security-for-your-enterprise/enabling-subdomain-isolation - - /admin/configuring-settings/configuring-github-connect/enabling-unified-contributions-for-your-enterprise - - /admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise - - /admin/configuring-settings/configuring-network-settings/network-ports - - /admin/configuration/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui - - /admin/configuring-settings/hardening-security-for-your-enterprise/troubleshooting-tls-errors - - /admin/configuring-settings/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer - - /admin/monitoring-and-managing-your-instance/configuring-high-availability/about-high-availability-configuration - - /admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-the-monitor-dashboards - - /admin/monitoring-and-managing-your-instance/configuring-high-availability/creating-a-high-availability-replica - - /admin/monitoring-and-managing-your-instance/configuring-clustering/differences-between-clustering-and-high-availability-ha - - /admin/upgrading-your-instance/preparing-to-upgrade/enabling-automatic-update-checks - - /admin/monitoring-and-managing-your-instance/configuring-high-availability/initiating-a-failover-to-your-replica-appliance - - /admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds - - /admin/monitoring-and-managing-your-instance/monitoring-your-instance/collectd-metrics/setting-up-external-monitoring-with-collectd - - /admin/upgrading-your-instance/preparing-to-upgrade/overview-of-the-upgrade-process - - /admin/upgrading-your-instance/preparing-to-upgrade/upgrade-requirements - - /admin/upgrading-your-instance/preparing-to-upgrade/taking-a-snapshot - - /admin/upgrading-your-instance/performing-an-upgrade - - /admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs - - /support/learning-about-github-support/about-github-support - - /admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise - - /admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled - - /admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise - - /admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server - - /admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/high-availability-for-github-actions - - /admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/using-a-staging-environment - - /admin/overview/about-data-residency - - /admin/concepts/enterprise-fundamentals/enterprise-accounts - - /admin/getting-started-with-enterprise/about-upgrades-to-new-releases - - /admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise - - /admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks - - /admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment - - /admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise - - /admin/enforcing-policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise - - /admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-your-instance - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/auditing-ssh-keys - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/auditing-users-across-your-enterprise - - /admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership - - /admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-dormant-users - - /admin/concepts/security-and-compliance/audit-log-for-an-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise - - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/activity-dashboard - - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/viewing-push-logs - - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/log-forwarding - - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/managing-global-webhooks - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/managing-projects-using-jira - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise - - /admin/managing-accounts-and-repositories/managing-roles-in-your-enterprise/abilities-of-roles - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise - - /admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/rebuilding-contributions-data - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization - - /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/suspending-and-unsuspending-users - - /admin/managing-your-enterprise-account/creating-an-enterprise-account - - /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/restoring-a-deleted-organization - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/about-the-management-console - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/accessing-the-management-console - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console ---- diff --git a/content/admin/index.md b/content/admin/index.md index af3785d184dc..e8d08a4ef7c2 100644 --- a/content/admin/index.md +++ b/content/admin/index.md @@ -63,6 +63,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories - /admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise + - /admin/guides introLinks: overview: '{% ifversion ghes %}/admin/overview/about-github-enterprise-server{% elsif ghec %}/admin/overview/about-github-enterprise-cloud{% endif %}' releases: '{% ifversion ghes %}/admin/all-releases{% endif %}' @@ -116,7 +117,6 @@ children: - /managing-github-actions-for-your-enterprise - /configuring-packages - /managing-code-security - - /guides - /release-notes - /all-releases --- diff --git a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md index e0639526acef..657a5af8ebf4 100644 --- a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md +++ b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md @@ -70,7 +70,7 @@ The following changes also apply to single organizations that are automatically ## Next steps -Follow the [Get started with your enterprise account](/admin/guides#get-started-with-your-enterprise-account) learning path. +Set up your new enterprise with our [AUTOTITLE](/enterprise-cloud@latest/enterprise-onboarding) journey for {% data variables.product.prodname_ghe_cloud %}. ## Further reading diff --git a/src/redirects/tests/redirects.ts b/src/redirects/tests/redirects.ts index a34fce9776ed..4e2222b17503 100644 --- a/src/redirects/tests/redirects.ts +++ b/src/redirects/tests/redirects.ts @@ -9,7 +9,6 @@ import enterpriseServerReleases, { } from '@/versions/lib/enterprise-server-releases' import Page from '@/frame/lib/page' import { get, head } from '@/tests/helpers/e2etest' -import versionSatisfiesRange from '@/versions/lib/version-satisfies-range' const __dirname = path.dirname(fileURLToPath(import.meta.url)) @@ -262,11 +261,9 @@ describe('redirects', () => { expect(res.statusCode).toBe(200) }) - test('no version plus admin/guides redirects to the right place on latest version', async () => { - const shouldRedirect = versionSatisfiesRange(latest, `<${firstRestoredAdminGuides}`) - const expectedStatusCode = shouldRedirect ? 301 : 200 - const res = await get(`/en/enterprise-server@${latest}/admin/guides`) - expect(res.statusCode).toBe(expectedStatusCode) + test('admin/overview returns 200 on latest version', async () => { + const res = await get(`/en/enterprise-server@${latest}/admin/overview`) + expect(res.statusCode).toBe(200) }) test('admin/guides redirects to admin in deep links on <2.21', async () => { From 562d7478cb4d37a65868595a7a965ac11b82733c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 07:50:07 -0800 Subject: [PATCH 2/7] Bump minimatch from 3.1.3 to 3.1.5 in the npm_and_yarn group across 1 directory (#59921) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 147 ++++++++++++++++++++-------------------------- 1 file changed, 63 insertions(+), 84 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e0d2ac698e9..64b9dc34d61a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -488,6 +488,7 @@ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "license": "MIT", + "peer": true, "engines": { "node": ">=6.9.0" } @@ -528,6 +529,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -564,6 +566,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", @@ -580,6 +583,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "license": "ISC", + "peer": true, "dependencies": { "yallist": "^3.0.2" } @@ -589,6 +593,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -620,6 +625,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", @@ -663,6 +669,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "license": "MIT", + "peer": true, "engines": { "node": ">=6.9.0" } @@ -672,6 +679,7 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/template": "^7.28.6", "@babel/types": "^7.28.6" @@ -1311,9 +1319,9 @@ } }, "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -1422,9 +1430,9 @@ "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -2263,6 +2271,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "license": "MIT", + "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -2519,7 +2528,6 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -2820,7 +2828,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -2853,7 +2860,6 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -2893,7 +2899,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2914,7 +2919,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2935,7 +2939,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2956,7 +2959,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2977,7 +2979,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2998,7 +2999,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3019,7 +3019,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3040,7 +3039,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3061,7 +3059,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3082,7 +3079,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3103,7 +3099,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3124,7 +3119,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3145,7 +3139,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3163,7 +3156,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, "license": "Apache-2.0", "optional": true, "bin": { @@ -3192,7 +3184,6 @@ "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "playwright": "1.58.2" }, @@ -4025,7 +4016,6 @@ "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", @@ -4188,7 +4178,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz", "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4200,7 +4189,6 @@ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "devOptional": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^18.0.0" } @@ -4373,7 +4361,6 @@ "integrity": "sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.39.1", "@typescript-eslint/types": "8.39.1", @@ -5047,7 +5034,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5078,7 +5064,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5635,7 +5620,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001733", "electron-to-chromium": "^1.5.199", @@ -6388,7 +6372,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/cookie": { "version": "0.7.2", @@ -7261,7 +7246,6 @@ "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7322,7 +7306,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -7573,7 +7556,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -7624,9 +7606,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -7687,9 +7669,9 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -7941,9 +7923,9 @@ } }, "node_modules/eslint-plugin-primer-react/node_modules/minimatch": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", - "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -8112,9 +8094,9 @@ } }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -8727,7 +8709,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -8785,6 +8766,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "license": "MIT", + "peer": true, "engines": { "node": ">=6.9.0" } @@ -8912,9 +8894,9 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", - "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "license": "BlueOak-1.0.0", "dependencies": { "brace-expansion": "^5.0.2" @@ -8985,7 +8967,6 @@ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", "dev": true, - "peer": true, "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } @@ -10345,7 +10326,6 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, - "peer": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -10481,6 +10461,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "license": "MIT", + "peer": true, "bin": { "json5": "lib/cli.js" }, @@ -11059,9 +11040,9 @@ } }, "node_modules/matcher-collection/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -12030,13 +12011,13 @@ } }, "node_modules/minimatch": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz", - "integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -12045,6 +12026,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/minimist": { "version": "1.2.8", "dev": true, @@ -12630,7 +12621,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, "license": "MIT", "optional": true }, @@ -12688,9 +12678,9 @@ } }, "node_modules/nodemon/node_modules/minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -13388,7 +13378,6 @@ "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "playwright-core": "cli.js" }, @@ -13452,7 +13441,6 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -13622,7 +13610,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -13643,7 +13630,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -13671,8 +13657,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-markdown": { "version": "10.1.0", @@ -14107,9 +14092,9 @@ } }, "node_modules/rimraf/node_modules/minimatch": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", - "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -14325,7 +14310,6 @@ "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -15229,7 +15213,6 @@ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", @@ -15491,7 +15474,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -15816,7 +15798,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -16164,7 +16145,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" }, @@ -16369,7 +16349,6 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -16478,7 +16457,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -16648,9 +16626,9 @@ "license": "MIT" }, "node_modules/walk-sync/node_modules/minimatch": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", - "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "license": "BlueOak-1.0.0", "dependencies": { "brace-expansion": "^5.0.2" @@ -17059,7 +17037,8 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" + "license": "ISC", + "peer": true }, "node_modules/yaml": { "version": "2.8.2", From b4b6c804f3c5f68ab84bfed49a36e56dac52584b Mon Sep 17 00:00:00 2001 From: Sam Browning <106113886+sabrowning1@users.noreply.github.com> Date: Tue, 3 Mar 2026 11:03:35 -0500 Subject: [PATCH 3/7] [EDI] Editing a custom security configuration (#59842) --- ...curity-configuration-to-your-enterprise.md | 5 ++-- ...urity-configuration-for-your-enterprise.md | 12 ++++----- ...editing-a-custom-security-configuration.md | 2 +- ...rity-configuration-in-your-organization.md | 2 +- ...reating-a-custom-security-configuration.md | 10 +++---- ...editing-a-custom-security-configuration.md | 19 ++------------ .../reference/security-at-scale/index.md | 1 + .../security-configuration-enforcement.md | 26 +++++++++++++++++++ .../save-custom-configuration.md | 1 + ...ty-configuration-enforcement-edge-cases.md | 1 + 10 files changed, 47 insertions(+), 32 deletions(-) create mode 100644 content/code-security/reference/security-at-scale/security-configuration-enforcement.md create mode 100644 data/reusables/code-scanning/save-custom-configuration.md create mode 100644 data/reusables/code-scanning/security-configuration-enforcement-edge-cases.md diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-to-your-enterprise.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-to-your-enterprise.md index 2ae482dcaf26..e1868bba4581 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-to-your-enterprise.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-to-your-enterprise.md @@ -41,6 +41,7 @@ The {% data variables.product.prodname_github_security_configuration %} includes {% data reusables.enterprise-accounts.advanced-security-tab %} 1. In the "Configurations" section, select "{% data variables.product.company_short %} recommended". 1. In the "Policy" section, next to "Enforce configuration", select **Enforce** from the dropdown menu. -1. Click **Save configuration** to save your change to the {% data variables.product.prodname_github_security_configuration %}. -{% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} + +1. Click **Save configuration** to save your change to the {% data variables.product.prodname_github_security_configuration %}. diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/creating-a-custom-security-configuration-for-your-enterprise.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/creating-a-custom-security-configuration-for-your-enterprise.md index 5328a596b31b..81c96bbcdabb 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/creating-a-custom-security-configuration-for-your-enterprise.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/establish-complete-coverage/creating-a-custom-security-configuration-for-your-enterprise.md @@ -84,9 +84,9 @@ When creating a security configuration, keep in mind that: {% data reusables.security-configurations.default-configuration-exception-repo-transfers %} * **Enforce configuration**. Block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Select **Enforce** from the dropdown menu. -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} -{% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} +{% data reusables.code-scanning.save-custom-configuration %} ## Creating a {% data variables.product.prodname_GHAS %} configuration @@ -124,9 +124,9 @@ When creating a security configuration, keep in mind that: {% data reusables.security-configurations.default-configuration-exception-repo-transfers %} * **Enforce configuration**. Block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Select **Enforce** from the dropdown menu. -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} -{% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} +{% data reusables.code-scanning.save-custom-configuration %} {% else %} @@ -156,9 +156,9 @@ When creating a security configuration, keep in mind that: 1. Optionally, in the "Policy" section, you can enforce the configuration and block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Next to "Enforce configuration", select **Enforce** from the dropdown menu. - {% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. +{% data reusables.code-scanning.save-custom-configuration %} {% endif %} diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/manage-your-coverage/editing-a-custom-security-configuration.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/manage-your-coverage/editing-a-custom-security-configuration.md index 38526997912c..df3440d0f602 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/manage-your-coverage/editing-a-custom-security-configuration.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/manage-your-coverage/editing-a-custom-security-configuration.md @@ -35,6 +35,6 @@ After creating and applying a {% data variables.product.prodname_custom_security 1. Edit the enablement settings of your {% data variables.product.prodname_custom_security_configuration %} as desired. 1. In the "Policy" section, you can modify the configuration's enforcement status. Enforcing a configuration will block repository owners from changing features that are enabled or disabled by the configuration, but features that are not set aren't enforced. Next to "Enforce configuration", select **Enforce** or **Don't enforce** from the dropdown menu. - {% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} 1. To apply your changes, click **Update configuration**. diff --git a/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-in-your-organization.md b/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-in-your-organization.md index aee87cb7ac52..210a24a38253 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-in-your-organization.md +++ b/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/applying-the-github-recommended-security-configuration-in-your-organization.md @@ -54,7 +54,7 @@ The {% data variables.product.prodname_github_security_configuration %} is a col 1. In the "Security configurations" section, select "{% data variables.product.company_short %} recommended". 1. In the "Policy" section, next to "Enforce configuration", select **Enforce** from the dropdown menu. -{% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} ## Next steps diff --git a/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/creating-a-custom-security-configuration.md b/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/creating-a-custom-security-configuration.md index 87c75020a313..046809b1dde6 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/creating-a-custom-security-configuration.md +++ b/content/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/creating-a-custom-security-configuration.md @@ -73,9 +73,9 @@ With {% data variables.product.prodname_custom_security_configurations %}, you c {% data reusables.security-configurations.default-configuration-exception-repo-transfers %} * **Enforce configuration**. Block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Select **Enforce** from the dropdown menu. -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} -{% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases-enterprise %} +{% data reusables.code-scanning.save-custom-configuration %} ## Creating a {% data variables.product.prodname_GHAS %} configuration @@ -114,7 +114,7 @@ With {% data variables.product.prodname_custom_security_configurations %}, you c {% data reusables.security-configurations.default-configuration-exception-repo-transfers %} * **Enforce configuration**. Block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Select **Enforce** from the dropdown menu. -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. +{% data reusables.code-scanning.save-custom-configuration %} {% else %} @@ -149,9 +149,9 @@ With {% data variables.product.prodname_custom_security_configurations %}, you c {% data reusables.security-configurations.default-configuration-exception-repo-transfers %} 1. Optionally, in the "Policy" section, you can enforce the configuration and block repository owners from changing features that are enabled or disabled by the configuration (features that are not set aren't enforced). Next to "Enforce configuration", select **Enforce** from the dropdown menu. - {% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} -1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. +{% data reusables.code-scanning.save-custom-configuration %} {% endif %} diff --git a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/editing-a-custom-security-configuration.md b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/editing-a-custom-security-configuration.md index 05fb8fea12fc..3efa43e15456 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/editing-a-custom-security-configuration.md +++ b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/editing-a-custom-security-configuration.md @@ -1,7 +1,7 @@ --- title: Editing a custom security configuration shortTitle: Edit custom configuration -intro: Change the enablement settings in your {% data variables.product.prodname_custom_security_configuration %} to better meet the security needs of your repositories. +intro: Meet the security needs of your repositories by editing your {% data variables.product.prodname_custom_security_configuration %}. permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations @@ -15,21 +15,6 @@ redirect_from: contentType: how-tos --- -## About editing a {% data variables.product.prodname_custom_security_configuration %} - -After creating and applying a {% data variables.product.prodname_custom_security_configuration %}, you may need to edit the enablement settings for that configuration to better secure your repositories. Any changes you make to the enablement settings of a {% data variables.product.prodname_security_configuration %} will automatically populate to all linked repositories. - -To determine if your {% data variables.product.prodname_custom_security_configuration %} is meeting your security needs, see [AUTOTITLE](/code-security/securing-your-organization/managing-the-security-of-your-organization/interpreting-security-findings). - -{% ifversion security-configurations-cloud %} - -> [!NOTE] -> The {% data variables.product.prodname_github_security_configuration %} is managed by {% data variables.product.company_short %} and cannot be edited. If you would like to customize your security enablement settings, you need to create a {% data variables.product.prodname_custom_security_configuration %}. For more information, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/creating-a-custom-security-configuration). - -{% endif %} - -## Modifying your {% data variables.product.prodname_custom_security_configuration %} - {% data reusables.profile.access_org %} {% data reusables.organizations.org_settings %} {% data reusables.security-configurations.view-configurations-page %} @@ -41,6 +26,6 @@ To determine if your {% data variables.product.prodname_custom_security_configur 1. Edit the enablement settings of your {% data variables.product.prodname_custom_security_configuration %} as desired. 1. In the "Policy" section, you can modify the configuration's enforcement status. Enforcing a configuration will block repository owners from changing features that are enabled or disabled by the configuration, but features that are not set aren't enforced. Next to "Enforce configuration", select **Enforce** or **Don't enforce** from the dropdown menu. - {% data reusables.code-scanning.custom-security-configuration-enforcement-edge-cases %} + {% data reusables.code-scanning.security-configuration-enforcement-edge-cases %} 1. To apply your changes, click **Update configuration**. diff --git a/content/code-security/reference/security-at-scale/index.md b/content/code-security/reference/security-at-scale/index.md index 5a4ab0d4ab66..dc771849d2e7 100644 --- a/content/code-security/reference/security-at-scale/index.md +++ b/content/code-security/reference/security-at-scale/index.md @@ -16,5 +16,6 @@ topics: contentType: reference children: - /available-filters-for-security-overview + - /security-configuration-enforcement - /troubleshoot-security-configurations --- diff --git a/content/code-security/reference/security-at-scale/security-configuration-enforcement.md b/content/code-security/reference/security-at-scale/security-configuration-enforcement.md new file mode 100644 index 000000000000..86ce9dfc9778 --- /dev/null +++ b/content/code-security/reference/security-at-scale/security-configuration-enforcement.md @@ -0,0 +1,26 @@ +--- +title: Security configuration enforcement +intro: Understand the complexities of enforcing {% data variables.product.prodname_security_configurations %}. +versions: + feature: security-configurations +contentType: reference +topics: + - Code Security + - Secret Protection + - Organizations + - Security +--- + +{% data variables.product.prodname_security_configurations_caps %} can be enforced, meaning repository owners cannot change the enablement status of features that are enabled or disabled by the configuration. + +## Situations that break enforcement + +Some situations can break the enforcement of {% data variables.product.prodname_security_configurations %}. For example, the enablement of {% data variables.product.prodname_code_scanning %} will not apply to a repository if: +* {% data variables.product.prodname_actions %} is initially enabled on the repository, but is then disabled in the repository. +* {% data variables.product.prodname_actions %} required by {% data variables.product.prodname_code_scanning %} configurations are not available in the repository.{% ifversion ghes %} +* Self-hosted runners with the label `code-scanning` are not available.{% endif %} +* The definition for which languages should not be analyzed using {% data variables.product.prodname_code_scanning %} default setup is changed. + +## Enforcement and the REST API + +If a user in your organization or enterprise attempts to change the enablement status of a feature in an enforced configuration using the REST API, the API call will appear to succeed, but no enablement statuses will change. diff --git a/data/reusables/code-scanning/save-custom-configuration.md b/data/reusables/code-scanning/save-custom-configuration.md new file mode 100644 index 000000000000..30fdb1d4b22e --- /dev/null +++ b/data/reusables/code-scanning/save-custom-configuration.md @@ -0,0 +1 @@ +1. To finish creating your {% data variables.product.prodname_custom_security_configuration %}, click **Save configuration**. diff --git a/data/reusables/code-scanning/security-configuration-enforcement-edge-cases.md b/data/reusables/code-scanning/security-configuration-enforcement-edge-cases.md new file mode 100644 index 000000000000..49d48b4c62d0 --- /dev/null +++ b/data/reusables/code-scanning/security-configuration-enforcement-edge-cases.md @@ -0,0 +1 @@ +> [!NOTE] Some situations can break the enforcement of {% data variables.product.prodname_security_configurations %}. See [AUTOTITLE](/code-security/reference/security-at-scale/security-configuration-enforcement). From d1ebebdc78d63df4695c73efa7a91368afe02c32 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Tue, 3 Mar 2026 16:28:06 +0000 Subject: [PATCH 4/7] Private registries in Code Scanning: Document new diagnostic features (#59947) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../codeql-code-scanning-for-compiled-languages.md | 4 ++-- .../giving-org-access-private-registries.md | 4 +++- .../view-and-interpret-data/viewing-code-scanning-logs.md | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md index eb329969f224..8318b50bac1c 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md @@ -333,7 +333,7 @@ When you enable default setup for a repository that contains C# code, the build {% data variables.product.prodname_codeql %} restores dependencies and generates a few additional source files, to give more accurate results, before creating a database from all the source files and dependencies. -Dependencies are restored using multiple heuristics and strategies. The following files are the primary source of information: `*.csproj`, `*.sln`, `nuget.config`, `packages.config`, `global.json`, and `project.assets.json`. {% ifversion org-private-registry %}If a private NuGet feed is defined for the organization, this is also used, see [Code scanning default setup access to private registries](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries) and [Determining whether code scanning default setup used any private registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#determining-whether-code-scanning-default-setup-used-any-private-registries).{% endif %} +Dependencies are restored using multiple heuristics and strategies. The following files are the primary source of information: `*.csproj`, `*.sln`, `nuget.config`, `packages.config`, `global.json`, and `project.assets.json`. {% ifversion org-private-registry %}If a private NuGet feed is defined for the organization, this is also used, see [Code scanning default setup access to private registries](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries) and [Diagnostic information for private package registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#diagnostic-information-for-private-package-registries).{% endif %} The following generated source files are optional, but significantly increase the correctness of the {% data variables.product.prodname_codeql %} database: @@ -464,7 +464,7 @@ If you later add Kotlin code to a repository that uses the `none` build mode, {% {% data variables.product.prodname_codeql %} will attempt to run Gradle or Maven to extract accurate dependency information (but not to invoke a build), before creating a database from all Java files present. Every root Maven or Gradle project file (a build script without any build script present in an ancestor directory) is queried for dependency information, and more recent dependency versions are preferred if there is a clash. For information about the runner requirements to run Maven or Gradle, see [Runner requirements for Java](#runner-requirements-for-java). - {% ifversion org-private-registry %}If a private Maven registry is defined for the organization, this is also used, see [Code scanning default setup access to private registries](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries) and [Determining whether code scanning default setup used any private registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#determining-whether-code-scanning-default-setup-used-any-private-registries).{% endif %} + {% ifversion org-private-registry %}If a private Maven registry is defined for the organization, this is also used, see [Code scanning default setup access to private registries](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries) and [Diagnostic information for private package registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#diagnostic-information-for-private-package-registries).{% endif %} #### Accuracy of no build analysis for Java diff --git a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries.md b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries.md index cc1a6f76102a..bb8411033c58 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries.md +++ b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries.md @@ -59,7 +59,9 @@ When you enable {% data variables.product.prodname_code_scanning %} default setu When configuring private registries for the first time, you need to disable and re-enable {% data variables.product.prodname_code_scanning %} default setup for any repositories that you want to use the new definition. New or modified configurations will be automatically picked up on subsequent runs. -You can confirm whether private registries were used successfully by {% data variables.product.prodname_code_scanning %} analysis by looking in the Actions log files, see [Determining whether code scanning default setup used any private registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#determining-whether-code-scanning-default-setup-used-any-private-registries). +For languages supporting private package registries, {% data variables.product.prodname_code_scanning %} default setup will produce information on the {% data variables.code-scanning.tool_status_page %}. This shows you which private registry configurations were available to an analysis, but not whether {% data variables.product.prodname_code_scanning %} default setup was able to successfully download private dependencies from them. For more information about the {% data variables.code-scanning.tool_status_page %}, see [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page). + +Alternatively, you can confirm whether private registries were configured for a {% data variables.product.prodname_code_scanning %} analysis by looking in the Actions logs. See [Diagnostic information for private package registries](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs#diagnostic-information-for-private-package-registries). ## {% data variables.product.prodname_code_scanning_caps %} advanced setup access to private registries diff --git a/content/code-security/how-tos/view-and-interpret-data/viewing-code-scanning-logs.md b/content/code-security/how-tos/view-and-interpret-data/viewing-code-scanning-logs.md index 2bd541732acb..cd5fdede454c 100644 --- a/content/code-security/how-tos/view-and-interpret-data/viewing-code-scanning-logs.md +++ b/content/code-security/how-tos/view-and-interpret-data/viewing-code-scanning-logs.md @@ -75,9 +75,9 @@ After configuring {% data variables.product.prodname_code_scanning %} for your r {% ifversion org-private-registry %} -### Determining whether {% data variables.product.prodname_code_scanning %} default setup used any private registries +### Diagnostic information for private package registries -{% data variables.product.prodname_code_scanning_caps %} default setup workflows include a `Setup proxy for registries` step. When you are looking at a workflow run for default setup, you can expand this step to view the corresponding log and look for the following messages: +{% data variables.product.prodname_code_scanning_caps %} default setup workflows include a `Setup proxy for registries` step. When you are looking at a workflow run for default setup, you can expand this step to view the corresponding log. This contains information about which private package registry configurations were available to the analysis. Additionally, the log contains some diagnostic information which may help with troubleshooting if the private package registries are not successfully used by {% data variables.product.prodname_code_scanning %} default setup. Look for the following messages: * `Using registries_credentials input.` At least one private registry is configured for the organization. This includes configurations for private registry types which are not supported by {% data variables.product.prodname_code_scanning %} default setup. For more details about supported registry types, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries). @@ -86,6 +86,10 @@ After configuring {% data variables.product.prodname_code_scanning %} for your r * Otherwise, one line for each supported configuration that was successfully loaded is shown. For example, a line containing `Type: nuget_feed; Host: undefined; Url: https://nuget.pkg.github.com/; Username: undefined; Password: true; Token: false` indicates that a private NuGet Feed configuration was loaded. * The information about the configuration in the log may not match exactly what is configured for the organization in the UI. For example, the log may indicate that a `Password` is set, even though a `Token` is configured in the UI. +* `Proxy started on 127.0.0.1:49152` The authentication proxy that is used by {% data variables.product.prodname_code_scanning %} default setup to authenticate to the configured private package registries was started successfully. + +* Following this, there may be messages about the outcomes of connection tests which try to reach the configured private package registries through the authentication proxy. This is a best-effort process. If these checks are not successful for some registries, it does not necessarily mean that the relevant configurations are not working. However, if you find that {% data variables.product.prodname_code_scanning %} default setup is unable to successfully access dependencies in the private registries during the analysis, then this may provide some information to help troubleshoot the issue. + If the output from the `Setup proxy for registries` step is as expected, but {% data variables.product.prodname_code_scanning %} default setup is unable to successfully access dependencies in the private registries, you can obtain additional troubleshooting information. See [AUTOTITLE](/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-analysis-errors/logs-not-detailed-enough#creating-codeql-debugging-artifacts-for-codeql-default-setup). For more information about giving {% data variables.product.prodname_code_scanning %} default setup access to private registries, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries). From d1728ee44ffa3289616af796f561062e7cbbf958 Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:37:32 +0000 Subject: [PATCH 5/7] [EDI] Detaching repositories from their security configurations (#59991) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ...-repositories-from-their-security-configurations.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/detaching-repositories-from-their-security-configurations.md b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/detaching-repositories-from-their-security-configurations.md index fc736b753276..8cb4a5956d3c 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/detaching-repositories-from-their-security-configurations.md +++ b/content/code-security/how-tos/secure-at-scale/configure-organization-security/manage-your-coverage/detaching-repositories-from-their-security-configurations.md @@ -1,7 +1,7 @@ --- title: Detaching repositories from their security configurations shortTitle: Detach security configuration -intro: You can unlink repositories from their {% data variables.product.prodname_security_configurations %} and instead manage their security enablement settings at the repository level. +intro: Go back to managing a repository's security settings on an individual basis. permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations @@ -15,9 +15,9 @@ redirect_from: contentType: how-tos --- -## About detaching repositories from their {% data variables.product.prodname_security_configurations %} +If you decide that the security needs of a repository are too specific for a {% data variables.product.prodname_security_configuration %} to be useful, you can detach that repository from the linked configuration and instead manage security enablement settings at the repository level. -If you decide that the security needs of a repository are too specific for a {% data variables.product.prodname_security_configuration %} to be useful, you can detach that repository from the linked configuration and instead manage security enablement settings at the repository level. Detaching a repository from a {% data variables.product.prodname_security_configuration %} will not change the existing security enablement settings for that repository. For an introduction to securing your repository at the repository level, see [AUTOTITLE](/code-security/getting-started/securing-your-repository). +Detaching a repository from a {% data variables.product.prodname_security_configuration %} will not change the existing security enablement settings for that repository. Alternatively, if you want to apply a {% data variables.product.prodname_security_configuration %} to a repository that's already attached to a different configuration, you can apply the configuration as normal, and you do not need to detach the current configuration. For more information, see {% ifversion security-configurations-cloud %}[AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization) and {% endif %}[AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-a-custom-security-configuration). @@ -30,3 +30,7 @@ Alternatively, if you want to apply a {% data variables.product.prodname_securit {% data reusables.security-configurations.select-repos %} 1. Select the **Apply configuration** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu, then click **No configuration**. 1. To finish detaching your repositories from their linked {% data variables.product.prodname_security_configurations %}, in the "No configuration?" window, click **No configuration**. + +## Next steps + +You can now manage security enablement settings at the repository level. For an introduction, see [AUTOTITLE](/code-security/getting-started/securing-your-repository). From 3a14e541873e834edf32b43b71911fe80d109a70 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Tue, 3 Mar 2026 08:45:09 -0800 Subject: [PATCH 6/7] GraphQL schema update (#59997) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> --- src/graphql/data/fpt/changelog.json | 21 +++++++++++++++++++ .../fpt/graphql_upcoming_changes.public.yml | 16 ++++++++++++++ src/graphql/data/fpt/schema.docs.graphql | 8 +++++++ src/graphql/data/fpt/schema.json | 12 ++++++++++- src/graphql/data/fpt/upcoming-changes.json | 18 ++++++++++++++++ .../ghec/graphql_upcoming_changes.public.yml | 16 ++++++++++++++ src/graphql/data/ghec/schema.docs.graphql | 8 +++++++ src/graphql/data/ghec/schema.json | 12 ++++++++++- src/graphql/data/ghec/upcoming-changes.json | 18 ++++++++++++++++ 9 files changed, 127 insertions(+), 2 deletions(-) diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index 1852ab165561..0f3b9bb2201e 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,25 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Field fullDatabaseId was added to object type CheckAnnotation

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [ + { + "title": "The following changes will be made to the schema:", + "changes": [ + "

On member Artifact.databaseId:databaseId will be removed. Use fullDatabaseId instead. Effective 2027-01-01.

", + "

On member CheckAnnotation.databaseId:databaseId will be removed. Use fullDatabaseId instead. Effective 2027-01-01.

" + ] + } + ], + "date": "2026-03-03" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/graphql_upcoming_changes.public.yml b/src/graphql/data/fpt/graphql_upcoming_changes.public.yml index cce607d1e2bf..05cae13ff2fe 100644 --- a/src/graphql/data/fpt/graphql_upcoming_changes.public.yml +++ b/src/graphql/data/fpt/graphql_upcoming_changes.public.yml @@ -7998,3 +7998,19 @@ upcoming_changes: date: '2026-07-01T00:00:00+00:00' criticality: breaking owner: peter-evans + - location: Artifact.databaseId + description: '`databaseId` will be removed. Use `fullDatabaseId` instead.' + reason: + '`databaseId` will be removed because it does not support 64-bit signed + integer identifiers.' + date: '2027-01-01T00:00:00+00:00' + criticality: breaking + owner: github/actions-persistence + - location: CheckAnnotation.databaseId + description: '`databaseId` will be removed. Use `fullDatabaseId` instead.' + reason: + '`databaseId` will be removed because it does not support 64-bit signed + integer identifiers.' + date: '2027-01-01T00:00:00+00:00' + criticality: breaking + owner: github/actions-persistence diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql index 9946fe130e4a..c808c07f1490 100644 --- a/src/graphql/data/fpt/schema.docs.graphql +++ b/src/graphql/data/fpt/schema.docs.graphql @@ -3498,6 +3498,14 @@ type CheckAnnotation { Identifies the primary key from the database. """ databaseId: Int + @deprecated( + reason: "`databaseId` will be removed because it does not support 64-bit signed integer identifiers. Use `fullDatabaseId` instead. Removal on 2027-01-01 UTC." + ) + + """ + Identifies the primary key from the database as a BigInt. + """ + fullDatabaseId: BigInt """ The position of this annotation. diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index a658ea18230d..a92542c5bf07 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -13036,7 +13036,17 @@ "type": "Int", "id": "int", "kind": "scalars", - "href": "/graphql/reference/scalars#int" + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers. Use fullDatabaseId instead. Removal on 2027-01-01 UTC.

" + }, + { + "name": "fullDatabaseId", + "description": "

Identifies the primary key from the database as a BigInt.

", + "type": "BigInt", + "id": "bigint", + "kind": "scalars", + "href": "/graphql/reference/scalars#bigint" }, { "name": "location", diff --git a/src/graphql/data/fpt/upcoming-changes.json b/src/graphql/data/fpt/upcoming-changes.json index 42a408cba243..012a481d8882 100644 --- a/src/graphql/data/fpt/upcoming-changes.json +++ b/src/graphql/data/fpt/upcoming-changes.json @@ -1,4 +1,22 @@ { + "2027-01-01": [ + { + "location": "CheckAnnotation.databaseId", + "description": "

databaseId will be removed. Use fullDatabaseId instead.

", + "reason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers.

", + "date": "2027-01-01", + "criticality": "breaking", + "owner": "github/actions-persistence" + }, + { + "location": "Artifact.databaseId", + "description": "

databaseId will be removed. Use fullDatabaseId instead.

", + "reason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers.

", + "date": "2027-01-01", + "criticality": "breaking", + "owner": "github/actions-persistence" + } + ], "2026-07-01": [ { "location": "Team.viewerSubscription", diff --git a/src/graphql/data/ghec/graphql_upcoming_changes.public.yml b/src/graphql/data/ghec/graphql_upcoming_changes.public.yml index cce607d1e2bf..05cae13ff2fe 100644 --- a/src/graphql/data/ghec/graphql_upcoming_changes.public.yml +++ b/src/graphql/data/ghec/graphql_upcoming_changes.public.yml @@ -7998,3 +7998,19 @@ upcoming_changes: date: '2026-07-01T00:00:00+00:00' criticality: breaking owner: peter-evans + - location: Artifact.databaseId + description: '`databaseId` will be removed. Use `fullDatabaseId` instead.' + reason: + '`databaseId` will be removed because it does not support 64-bit signed + integer identifiers.' + date: '2027-01-01T00:00:00+00:00' + criticality: breaking + owner: github/actions-persistence + - location: CheckAnnotation.databaseId + description: '`databaseId` will be removed. Use `fullDatabaseId` instead.' + reason: + '`databaseId` will be removed because it does not support 64-bit signed + integer identifiers.' + date: '2027-01-01T00:00:00+00:00' + criticality: breaking + owner: github/actions-persistence diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index 9946fe130e4a..c808c07f1490 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -3498,6 +3498,14 @@ type CheckAnnotation { Identifies the primary key from the database. """ databaseId: Int + @deprecated( + reason: "`databaseId` will be removed because it does not support 64-bit signed integer identifiers. Use `fullDatabaseId` instead. Removal on 2027-01-01 UTC." + ) + + """ + Identifies the primary key from the database as a BigInt. + """ + fullDatabaseId: BigInt """ The position of this annotation. diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index a658ea18230d..a92542c5bf07 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -13036,7 +13036,17 @@ "type": "Int", "id": "int", "kind": "scalars", - "href": "/graphql/reference/scalars#int" + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers. Use fullDatabaseId instead. Removal on 2027-01-01 UTC.

" + }, + { + "name": "fullDatabaseId", + "description": "

Identifies the primary key from the database as a BigInt.

", + "type": "BigInt", + "id": "bigint", + "kind": "scalars", + "href": "/graphql/reference/scalars#bigint" }, { "name": "location", diff --git a/src/graphql/data/ghec/upcoming-changes.json b/src/graphql/data/ghec/upcoming-changes.json index 42a408cba243..012a481d8882 100644 --- a/src/graphql/data/ghec/upcoming-changes.json +++ b/src/graphql/data/ghec/upcoming-changes.json @@ -1,4 +1,22 @@ { + "2027-01-01": [ + { + "location": "CheckAnnotation.databaseId", + "description": "

databaseId will be removed. Use fullDatabaseId instead.

", + "reason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers.

", + "date": "2027-01-01", + "criticality": "breaking", + "owner": "github/actions-persistence" + }, + { + "location": "Artifact.databaseId", + "description": "

databaseId will be removed. Use fullDatabaseId instead.

", + "reason": "

databaseId will be removed because it does not support 64-bit signed integer identifiers.

", + "date": "2027-01-01", + "criticality": "breaking", + "owner": "github/actions-persistence" + } + ], "2026-07-01": [ { "location": "Team.viewerSubscription", From 21a556d570a645b8df973f0699270ff31f1ed140 Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:47:20 +0000 Subject: [PATCH 7/7] [EDI] Metrics for custom patterns (#59992) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../how-tos/view-and-interpret-data/index.md | 3 ++- ...m-patterns.md => view-custom-pattern-metrics.md} | 13 +++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) rename content/code-security/how-tos/view-and-interpret-data/{metrics-for-custom-patterns.md => view-custom-pattern-metrics.md} (57%) diff --git a/content/code-security/how-tos/view-and-interpret-data/index.md b/content/code-security/how-tos/view-and-interpret-data/index.md index d3cbe5d660e5..3af1e406c342 100644 --- a/content/code-security/how-tos/view-and-interpret-data/index.md +++ b/content/code-security/how-tos/view-and-interpret-data/index.md @@ -19,6 +19,7 @@ children: - /analyze-organization-data - /viewing-code-scanning-logs - /viewing-dependabot-job-logs - - /metrics-for-custom-patterns + - /view-custom-pattern-metrics - /change-used-by-data --- + diff --git a/content/code-security/how-tos/view-and-interpret-data/metrics-for-custom-patterns.md b/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md similarity index 57% rename from content/code-security/how-tos/view-and-interpret-data/metrics-for-custom-patterns.md rename to content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md index 1a210b8ee2dc..af1190a0355b 100644 --- a/content/code-security/how-tos/view-and-interpret-data/metrics-for-custom-patterns.md +++ b/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md @@ -1,7 +1,7 @@ --- -title: Metrics for custom patterns -shortTitle: Custom pattern metrics -intro: You can view alert metrics for custom patterns at the repository, organization, and enterprise levels. +title: Viewing metrics for custom patterns +shortTitle: View custom pattern metrics +intro: Find out how many alerts are being raised and addressed for a custom pattern. permissions: '{% data reusables.permissions.security-enterprise-enable %}' versions: fpt: '*' @@ -13,15 +13,12 @@ topics: - Secret scanning redirect_from: - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/metrics-for-custom-patterns + - /code-security/how-tos/view-and-interpret-data/metrics-for-custom-patterns --- -## Metrics for custom patterns - -Organization owners and people with admin permission for a repository can see an overview of the activity for custom patterns. The overview includes alert and push protection activity for the custom pattern during the last 30 days. - > [!NOTE] Metrics for custom patterns are in {% data variables.release-phases.public_preview %} and subject to change. -## Viewing metrics for custom patterns +Activity overviews for custom patterns are available at the repository, organization, and enterprise levels. Each overview displays alerts generated and push protection blocks over the last 30 days. {% data reusables.secret-scanning.view-custom-pattern %} 1. Under "Custom patterns", click the custom pattern you want to view.