diff --git a/.github/workflows/purge-old-workflow-runs.yml b/.github/workflows/purge-old-workflow-runs.yml deleted file mode 100644 index 487ac78b9011..000000000000 --- a/.github/workflows/purge-old-workflow-runs.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Purge old workflow runs - -# **What it does**: Deletes really old workflow runs. -# **Why we have it**: To keep things neat and tidy. -# **Who does it impact**: Docs engineering. - -on: - workflow_dispatch: - schedule: - - cron: '20 * * * *' # Run every hour at 20 minutes past the hour - -permissions: - contents: write - -jobs: - purge-old-workflow-runs: - if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }} - runs-on: ubuntu-latest - steps: - - name: Checkout out repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - uses: ./.github/actions/node-npm-setup - - - name: Run purge script - env: - # Necessary to be able to delete deployment environments - GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }} - run: npm run purge-old-workflow-runs - - - uses: ./.github/actions/slack-alert - if: ${{ failure() && github.event_name != 'workflow_dispatch' }} - with: - slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} - slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} diff --git a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md index 0d62a9171d20..838621cf357e 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md @@ -10,7 +10,7 @@ shortTitle: About troubleshooting {% data reusables.actions.enterprise-github-hosted-runners %} -## Troubleshooting your workflows +## Initial troubleshooting suggestions There are several ways you can troubleshoot failed workflow runs. @@ -30,18 +30,79 @@ Each workflow run generates activity logs that you can view, search, and downloa If the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging. For more information, see [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging). -### Canceling a workflow +If your workflow uses specific tools or actions, enabling their debug or verbose logging options can help generate more detailed output for troubleshooting. +For example, you can use `npm install --verbose` for npm or `GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...` for git. -If you attempt to cancel a workflow and the cancellation doesn't succeed, make sure you aren't using the `always` expression. The `always` expression causes a workflow step to run even when the workflow is canceled, which results in a hanging cancellation. For more information, see [AUTOTITLE](/actions/learn-github-actions/expressions#always). +{% ifversion fpt or ghec %} + +## Reviewing billing errors + +Actions usage includes runner minutes and storage for [workflow artifacts](/actions/writing-workflows/choosing-what-your-workflow-does/storing-and-sharing-data-from-a-workflow). For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions). + +### Setting a budget + +Setting an Actions budget may help immediately unblock workflows failing due to billing or storage errors. It will allow further minutes and storage usage to be billed up to the set budget amount. To learn more, see [AUTOTITLE](/billing/managing-your-billing/preventing-overspending). + +{% endif %} {% ifversion actions-metrics %} -## Troubleshooting {% data variables.product.prodname_actions %} inefficiencies +## Reviewing {% data variables.product.prodname_actions %} activity with metrics -To analyze the inefficiencies and reliability of your workflows using metrics, see [AUTOTITLE](/actions/administering-github-actions/viewing-github-actions-metrics). +To analyze the efficiency and reliability of your workflows using metrics, see [AUTOTITLE](/actions/administering-github-actions/viewing-github-actions-metrics). {% endif %} -## Troubleshooting self-hosted runners +## Troubleshooting workflow triggers + +You can review your workflow’s `on:` field to understand what is expected to trigger the workflow. For more information, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow). + +For a full list of available events, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). + +### Triggering event conditions + +Some triggering events only run from the default branch (i.e. `issues`, `schedule`). Workflow file versions that exist outside of the default branch will not trigger on these events. + +Workflows will not run on `pull_request` activity if the pull request has a merge conflict. + +Workflows that would otherwise be triggered on `push` or `pull_request` activity will be skipped if the commit message contains a skip annotation. For more information, see [AUTOTITLE](/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/skipping-workflow-runs). + +### Scheduled workflows running at unexpected times + +Scheduled events can be delayed during periods of high loads of {% data variables.product.prodname_actions %} workflow runs. + +High load times include the start of every hour. If the load is sufficiently high enough, some queued jobs may be dropped. To decrease the chance of delay, schedule your workflow to run at a different time of the hour. For more information, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule). + +### Filtering and diff limits + +Specific events allow for filtering by branch, tag, and/or paths you can customize. Workflow run creation will be skipped if the filter conditions apply to filter out the workflow. + +You can use special characters with filters. For more information, see [AUTOTITLE](/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet). + +For path filtering, evaluating diffs is limited to the first 300 files. If there are files changed that are not matched in the first 300 files returned by the filter, the workflow will not be run. For more information, see [AUTOTITLE](/actions/writing-workflows/workflow-syntax-for-github-actions#git-diff-comparisons). + +## Troubleshoot workflow execution + +Workflow execution involves any issues seen after the workflow was triggered and a workflow run has been created. + +### Canceling Workflows + +If standard cancellation through the [UI](/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/canceling-a-workflow) or [API](/rest/actions/workflow-runs?apiVersion=2022-11-28#cancel-a-workflow-run) does not process as expected, there may be a conditional statement configured for your running workflow job(s) that causes it to not cancel. + +In these cases, you can leverage the API to force cancel the run. For more information, see [AUTOTITLE](/rest/actions/workflow-runs?apiVersion=2022-11-28#force-cancel-a-workflow-run). + +A common cause can be using the `always()` [status check function](/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#status-check-functions) which returns `true`, even on cancellation. An alternative is to use the inverse of the `cancelled()` function, `{% raw %}${{ !cancelled() }}{% endraw %}`. + +For more information, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/using-conditions-to-control-job-execution) and [AUTOTITLE](/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/canceling-a-workflow#steps-github-takes-to-cancel-a-workflow-run). + +## Troubleshooting runners + +### Defining runner labels + +{% data variables.product.github %}-hosted runners leverage [preset labels](/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories) maintained through the [`actions/runner-images`](https://github.com/actions/runner-images?tab=readme-ov-file#available-images) repository. + +We recommend using unique label names for larger and self-hosted runners. If a label matches to any of the existing preset labels, there can be runner assignment issues where there is no guarantee on which matching runner option the job will run on. + +### Self-hosted runners If you use self-hosted runners, you can view their activity and diagnose common issues. diff --git a/content/actions/sharing-automations/reusing-workflows.md b/content/actions/sharing-automations/reusing-workflows.md index feda135a0290..b916b92528d0 100644 --- a/content/actions/sharing-automations/reusing-workflows.md +++ b/content/actions/sharing-automations/reusing-workflows.md @@ -225,7 +225,7 @@ This example job below calls a reusable workflow and references the matrix conte ```yaml copy jobs: - ReuseableMatrixJobForDeployment: + ReusableMatrixJobForDeployment: strategy: matrix: target: [dev, stage, prod] diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md index 36c1e7f07b9c..449801ab09bc 100644 --- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md +++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md @@ -849,7 +849,7 @@ nes set-node-adminaction approved HOSTNAME To revoke {% data variables.product.prodname_nes %}'s ability to take the node with hostname HOSTNAME offline: ```shell -nes set-node-adminaction approved HOSTNAME +nes set-node-adminaction none HOSTNAME ``` To manually update a node's eligibility for re-addition to the cluster: diff --git a/content/admin/managing-iam/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users.md b/content/admin/managing-iam/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users.md index c2b98451bb3a..6da74ee977e6 100644 --- a/content/admin/managing-iam/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users.md +++ b/content/admin/managing-iam/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users.md @@ -73,7 +73,7 @@ To configure SAML SSO for your {% data variables.enterprise.prodname_emu_enterpr | ----------------- | ------------- | ------------------- | | Microsoft Entra ID | [Microsoft Learn](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-enterprise-managed-user-tutorial) | [Microsoft Learn](https://learn.microsoft.com/en-us/entra/identity/saas-apps/github-enterprise-managed-user-ghe-com-tutorial) | | Okta | [AUTOTITLE](/admin/identity-and-access-management/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-with-okta-for-enterprise-managed-users) | [AUTOTITLE](/admin/identity-and-access-management/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-with-okta-for-enterprise-managed-users) | - | PingFederate | [AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-pingfederate) ("Prerequisities" and "1. Configure SAML" sections) | [AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-pingfederate) ("Prerequisities" and "1. Configure SAML" sections) | + | PingFederate | [AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-pingfederate) ("Prerequisites" and "1. Configure SAML" sections) | [AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-pingfederate) ("Prerequisites" and "1. Configure SAML" sections) | {% endrowheaders %} diff --git a/content/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users.md b/content/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users.md index 5e3bf6394db3..b1df36fcf505 100644 --- a/content/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users.md +++ b/content/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users.md @@ -74,7 +74,7 @@ If you cannot use a single partner IdP for both authentication and provisioning, The profile name and email address of a {% data variables.enterprise.prodname_managed_user %} is provided by the IdP: * {% data variables.enterprise.prodname_managed_users_caps %} _cannot_ change their profile name or email address on {% data variables.product.prodname_dotcom %}. * The IdP can only provide one email address. -* Changing a user's email address in your IdP will delink the user from the contribution history associated with the old email address. +* Changing a user's email address in your IdP will unlink the user from the contribution history associated with the old email address. ## Managing roles and access diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md index e30e0cb5f25f..6cfd6e8edb5e 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md @@ -1,6 +1,6 @@ --- title: Signing up for {% data variables.product.prodname_GHAS %} -intro: "You can sign up for {% data variables.product.prodname_GHAS %} products from your {% data variables.enterprise.enterprise_or_org %} account's settings to prevent data leaks and keep vulnerablities out of your codebase." +intro: "You can sign up for {% data variables.product.prodname_GHAS %} products from your {% data variables.enterprise.enterprise_or_org %} account's settings to prevent data leaks and keep vulnerabilities out of your codebase." allowTitleToDifferFromFilename: true permissions: '{% ifversion fpt %}Organization{% else %}Enterprise{% endif %} owners can sign up for {% data variables.product.prodname_GH_cs_or_sp %}' product: '{% data reusables.gated-features.ghas-billing %}' diff --git a/content/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot.md b/content/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot.md index 797f48931711..8144f7cba2f3 100644 --- a/content/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot.md +++ b/content/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot.md @@ -153,7 +153,7 @@ updates: {% endraw %} -## Supported private registeries +## Supported private registries Examples of how to configure access to the private registries supported by {% data variables.product.prodname_dependabot %}. diff --git a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md index 88d7b08d6dec..bac7dab425e6 100644 --- a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md +++ b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md @@ -562,7 +562,7 @@ Define a specific branch to check for version updates and to target pull request When `target-branch` is defined: * Only manifest files on the target branch are checked for version updates. -* All pull requests for version updates are opened targetting the specified branch. +* All pull requests for version updates are opened targeting the specified branch. * Options defined for this `package-ecosystem` no longer apply to security updates because security updates always use the default branch for the repository. ## `vendor` {% octicon "versions" aria-label="Version updates" height="24" %} {% octicon "shield-check" aria-label="Security updates" height="24" %} diff --git a/content/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale.md b/content/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale.md index 98a829db7b82..d5d08403ab99 100644 --- a/content/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale.md +++ b/content/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale.md @@ -29,7 +29,7 @@ For information about the developer experience, see [AUTOTITLE](/code-security/c ## Selecting security alerts for remediation -Your first thought may be to identify all the most urgent alerts and create a security campaign to fix them. If your developers already have a good understanding of secure coding and are keen to remediate potential vulnerabilities, this could be a successful approach for your company. However, if you need to build up knowledge of secure coding and common vulnerabilities, you will benefit from a more stategic approach. +Your first thought may be to identify all the most urgent alerts and create a security campaign to fix them. If your developers already have a good understanding of secure coding and are keen to remediate potential vulnerabilities, this could be a successful approach for your company. However, if you need to build up knowledge of secure coding and common vulnerabilities, you will benefit from a more strategic approach. For example, if you have many alerts for cross-site scripting vulnerabilities, you could: diff --git a/content/code-security/security-overview/filtering-alerts-in-security-overview.md b/content/code-security/security-overview/filtering-alerts-in-security-overview.md index b82e8d6d98df..ed6237f4e2ab 100644 --- a/content/code-security/security-overview/filtering-alerts-in-security-overview.md +++ b/content/code-security/security-overview/filtering-alerts-in-security-overview.md @@ -195,7 +195,7 @@ All {% data variables.product.prodname_code_scanning %} alerts have one of the c | Qualifier | Description | | -------- | -------- | |`is`|Display {% data variables.product.prodname_code_scanning %} alerts that are open (`open`) or closed (`closed`).| -|`resolution`| Display {% data variables.product.prodname_code_scanning %} alerts closed as "false positive" (`false-postive`), "fixed" (`fixed`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| +|`resolution`| Display {% data variables.product.prodname_code_scanning %} alerts closed as "false positive" (`false-positive`), "fixed" (`fixed`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| |`rule`|Display {% data variables.product.prodname_code_scanning %} alerts identified by the specified rule.| |`severity`|Display {% data variables.product.prodname_code_scanning %} alerts categorized as `critical`, `high`, `medium`, or `low` security alerts. Alternatively, displays {% data variables.product.prodname_code_scanning %} alerts categorized as `error`, `warning`, `note` problems.| |`sort`| Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`). diff --git a/content/code-security/security-overview/viewing-security-insights.md b/content/code-security/security-overview/viewing-security-insights.md index 59e95840d5c4..6a2b58eb1d8e 100644 --- a/content/code-security/security-overview/viewing-security-insights.md +++ b/content/code-security/security-overview/viewing-security-insights.md @@ -221,7 +221,7 @@ The "Pull request alerts fixed with autofix suggestions" metric shows the ratio {% endif %} {% else %} - + * [Alert trends graph](#alert-trends-graph) * [Age of alerts](#age-of-alerts) diff --git a/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md b/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md index 2e9a4c810f0c..90e551d95bc9 100644 --- a/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md +++ b/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md @@ -23,7 +23,7 @@ This article focuses on how you can combine these features with enterprise-level In contrast to {% data variables.product.prodname_secret_protection %}, where a single security configuration is typically applied to all repositories, you probably want to fine-tune the configuration of {% data variables.product.prodname_code_scanning %} for different types of repositories. For example, you might need to create additional configurations so that: -* {% data variables.product.prodname_code_scanning_caps %} uses runners with a specific label to apply to repositories that require a specialized environment or that use private registeries. +* {% data variables.product.prodname_code_scanning_caps %} uses runners with a specific label to apply to repositories that require a specialized environment or that use private registries. * {% data variables.product.prodname_code_scanning_caps %} is "Not set" to apply to repositories that need to use advanced setup or that require a third-party tool. For your trial, it's simplest to create a primary enterprise-level security configuration and apply it to your test repositories. Then you can create any additional security configurations you need and apply them to a subset of repositories selected using code language, custom property, visibility, and other filter options. For more information, see [AUTOTITLE](/code-security/trialing-github-advanced-security/enable-security-features-trial) and [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-a-custom-security-configuration). @@ -103,7 +103,7 @@ There are two levels of control: ## Engage developers in security remediation -Security campaigns provide a way for security teams to engage with developers to remediate security technical debt. They also provide a practical way to combine education in secure coding with examples of vulnerable code in code that your developers are familar with. For more information, see [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/about-security-campaigns) and [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale). +Security campaigns provide a way for security teams to engage with developers to remediate security technical debt. They also provide a practical way to combine education in secure coding with examples of vulnerable code in code that your developers are familiar with. For more information, see [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/about-security-campaigns) and [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale). ## Provide a secure development environment diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent.md index a623d22754fc..c5f11e940dd2 100644 --- a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent.md +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent.md @@ -228,7 +228,7 @@ In the following example, the `type` field indicates that the reference has been To safeguard sensitive information, certain scenarios automatically prevent the passing of context to agents. If an organization has set content exclusion rules for {% data variables.product.prodname_copilot_short %}, files that fall under these rules will not be included in the context passed to agents. -For more information on content exlusion rules, see [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot). +For more information on content exclusion rules, see [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot). #### Large Files diff --git a/content/enterprise-onboarding/feature-enhancements/about-enterprise-security.md b/content/enterprise-onboarding/feature-enhancements/about-enterprise-security.md index 77f0b6007963..7ccb0d5037fc 100644 --- a/content/enterprise-onboarding/feature-enhancements/about-enterprise-security.md +++ b/content/enterprise-onboarding/feature-enhancements/about-enterprise-security.md @@ -1,6 +1,6 @@ --- title: 'About enterprise security' -shortTitle: 'Learn about the security fetures available to your enterprise.' +shortTitle: 'Learn about the security features available to your enterprise.' intro: 'Learn about the security features available to your enterprise.' versions: ghec: '*' diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/troubleshooting-rules.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/troubleshooting-rules.md index 07d1c2382485..e7cd8b735ae2 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/troubleshooting-rules.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/troubleshooting-rules.md @@ -21,7 +21,7 @@ If a branch or tag is targeted by rules restricting the metadata of commits, you When utilizing push rulesets, a maximum of 1000 reference updates are allowed per push. If your push exceeds this limit, it will be rejected. For more information see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#creating-a-push-ruleset). -Additonally, push rulesets apply to the "Create a blob", "Create a tree", and "Create or update file contents" endpoints in the REST API. See [AUTOTITLE](/rest/git/blobs?apiVersion=2022-11-28#create-a-blob), [AUTOTITLE](/rest/git/trees?apiVersion=2022-11-28#create-a-tree), and [AUTOTITLE](/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents). +Additionally, push rulesets apply to the "Create a blob", "Create a tree", and "Create or update file contents" endpoints in the REST API. See [AUTOTITLE](/rest/git/blobs?apiVersion=2022-11-28#create-a-blob), [AUTOTITLE](/rest/git/trees?apiVersion=2022-11-28#create-a-tree), and [AUTOTITLE](/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents). ## Troubleshooting required status checks diff --git a/content/site-policy/github-terms/github-pre-release-license-terms.md b/content/site-policy/github-terms/github-pre-release-license-terms.md index d404379bb1a3..7ad3c61267a0 100644 --- a/content/site-policy/github-terms/github-pre-release-license-terms.md +++ b/content/site-policy/github-terms/github-pre-release-license-terms.md @@ -18,7 +18,7 @@ These terms apply to the pre-release software made available to you by GitHub. T ## 1. Pre-Release Software. - The software provided is a pre-release version. “Pre-release” means software, online services, and additional products and features that are provided for preview, evaluation, demonstration, or trial purposes, as well as prerelease versions of those such as alpha, beta, or early access versions. + The software provided is a pre-release version. “Pre-release” means software, online services, and additional products and features that are not yet generally available, such as alpha, beta, early access, technical preview, or similar versions. Pre-release software may not operate correctly. It may delete your data, corrupt your data, or have other bugs. It also may not work the way a final commercial version of the software will. @@ -54,9 +54,17 @@ These terms apply to the pre-release software made available to you by GitHub. T ## 4. Data Collection and Usage. - a. **Consent to Data Collection.** The pre-release software may collect information about you and your use of the software, and send that information to GitHub. GitHub may use this information to provide services, to improve our products and services, or for any other purpose permitted under the GitHub Data Protection Agreement or GitHub Privacy Statement. Your use of the pre-release software operates as your consent to these practices. - - b. **Use of Collected Data.** GitHub will use collected data for analytics and measurement to understand how our pre-release software and related products are used. The software will collect data and usage information about events generated when interacting with it. These events help us analyze and measure performance and features used. This usage information is used by GitHub and may be shared with affiliates and other third parties to help deliver, develop, evaluate, and improve the software and related products. We analyze data to ensure the pre-release software is working as intended, to evaluate the safety, reliability, and user experience of the software, and to investigate and detect potential abuse. We may combine the information we collect from the pre-release software with other data. + a. **Consent to Data Collection.** The pre-release software may collect telemetry information about you and your use of the software, and send that information to GitHub. Subject to the limitations in Section 4(b) below, GitHub may use this information to provide services, to improve our products and services, or for any other purpose permitted under the GitHub Data Protection Agreement or GitHub Privacy Statement. Your use of the pre-release software operates as your consent to these practices. + + b. **Use of Collected Data.** + * GitHub will use collected data for analytics and measurement to understand how our pre-release software and related products are used. + * The software will collect data and usage information about events generated when interacting with it. These events help us analyze and measure performance and features used. This usage information is used by GitHub and may be shared with affiliates and other third parties to help deliver, develop, evaluate, and improve the software and related products. + * We analyze data to ensure the pre-release software is working as intended, to evaluate the safety, reliability, and user experience of the software, and to investigate and detect potential abuse. + * We may combine the information we collect from the pre-release software with other data. + * For pre-release software that uses AI: + * You retain ownership of the code that you input to the software. + * GitHub does not own the output sent to you by the software. + * GitHub will not use your inputs or the outputs generated to train AI language models, unless you have instructed us in writing to do so. c. **Processing of Personal Data.** GitHub is the data controller in relation to the Personal Data processed in connection with the pre-release software. diff --git a/data/reusables/contributing/content-linter-rules.md b/data/reusables/contributing/content-linter-rules.md index 9f74e0121553..5362e5701388 100644 --- a/data/reusables/contributing/content-linter-rules.md +++ b/data/reusables/contributing/content-linter-rules.md @@ -31,6 +31,7 @@ | [search-replace](https://github.com/OnkarRuikar/markdownlint-rule-search-replace) | deprecated liquid syntax: octicon- | The octicon liquid syntax used is deprecated. Use this format instead `octicon "" aria-label=""` | error | | | [GH001](https://github.com/github/markdownlint-github/blob/main/docs/rules/GH001-no-default-alt-text.md) | no-default-alt-text | Images should have meaningful alternative text (alt text) | error | accessibility, images | | [GH002](https://github.com/github/markdownlint-github/blob/main/docs/rules/GH002-no-generic-link-text.md) | no-generic-link-text | Avoid using generic link text like `Learn more` or `Click here` | error | accessibility, links | +| GHD030 | code-fence-line-length | Code fence lines should not exceed a maximum length | warning | code, accessibility | | GHD032 | image-alt-text-end-punctuation | Alternate text for images should end with punctuation | error | accessibility, images | | GHD004 | image-file-kebab-case | Image file names must use kebab-case | error | images | | GHD033 | incorrect-alt-text-length | Images alternate text should be between 40-150 characters | warning | accessibility, images | @@ -65,4 +66,7 @@ | GHD041 | third-party-action-pinning | Code examples that use third-party actions must always pin to a full length commit SHA | error | feature, actions | | GHD042 | liquid-tag-whitespace | Liquid tags should start and end with one whitespace. Liquid tag arguments should be separated by only one whitespace. | error | liquid, format | | GHD043 | link-quotation | Internal link titles must not be surrounded by quotations | error | links, url | -| GHD044 | octicon-aria-labels | Octicons should always have an aria-label attribute even if aria-hidden. | warning | accessibility, octicons | \ No newline at end of file +| GHD044 | octicon-aria-labels | Octicons should always have an aria-label attribute even if aria-hidden. | warning | accessibility, octicons | +| GHD048 | british-english-quotes | Periods and commas should be placed inside quotation marks (American English style) | warning | punctuation, quotes, style, consistency | +| GHD050 | multiple-emphasis-patterns | Do not use more than one emphasis/strong, italics, or uppercase for a string | warning | formatting, emphasis, style | +| GHD049 | note-warning-formatting | Note and warning tags should be formatted according to style guide | warning | formatting, callouts, notes, warnings, style | \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7dc9ef1cfb98..af7dd68ed44a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "helmet": "^8.0.0", "highlight.js": "^11.11.1", "highlightjs-curl": "^1.3.0", - "hot-shots": "^10.0.0", + "hot-shots": "^11.1.0", "html-entities": "^2.5.6", "http-proxy-middleware": "^3.0.5", "imurmurhash": "^0.1.4", @@ -9569,8 +9569,9 @@ "license": "MIT" }, "node_modules/hot-shots": { - "version": "10.0.0", - "license": "MIT", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-11.1.0.tgz", + "integrity": "sha512-D4iAs/145g7EJ/wIzBLVANEpysTPthUy/K+4EUIw02YJQTqvzD1vUpYiM3vwR0qPAQj4FhQpQz8wBpY8KDcM0g==", "engines": { "node": ">=10.0.0" }, diff --git a/package.json b/package.json index e25f27544dcc..ce1679aad97c 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,6 @@ "prevent-pushes-to-main": "tsx src/workflows/prevent-pushes-to-main.ts", "purge-fastly-edge-cache": "tsx src/workflows/purge-fastly-edge-cache.ts", "purge-fastly-edge-cache-per-language": "tsx src/languages/scripts/purge-fastly-edge-cache-per-language.js", - "purge-old-workflow-runs": "tsx src/workflows/purge-old-workflow-runs.js", "ready-for-docs-review": "tsx src/workflows/ready-for-docs-review.ts", "release-banner": "tsx src/ghes-releases/scripts/release-banner.ts", "repo-sync": "./src/workflows/local-repo-sync.sh", @@ -283,7 +282,7 @@ "helmet": "^8.0.0", "highlight.js": "^11.11.1", "highlightjs-curl": "^1.3.0", - "hot-shots": "^10.0.0", + "hot-shots": "^11.1.0", "html-entities": "^2.5.6", "http-proxy-middleware": "^3.0.5", "imurmurhash": "^0.1.4", diff --git a/src/content-linter/style/github-docs.js b/src/content-linter/style/github-docs.js index 9cf4cf591419..4cc8cd2f7ae2 100644 --- a/src/content-linter/style/github-docs.js +++ b/src/content-linter/style/github-docs.js @@ -101,6 +101,12 @@ const githubDocsConfig = { 'partial-markdown-files': true, 'yml-files': true, }, + 'code-fence-line-length': { + // GHD030 + severity: 'warning', + 'partial-markdown-files': true, + 'yml-files': true, + }, 'image-alt-text-exclude-words': { // GHD031 severity: 'error', @@ -174,6 +180,24 @@ const githubDocsConfig = { 'partial-markdown-files': true, 'yml-files': true, }, + 'british-english-quotes': { + // GHD048 + severity: 'warning', + 'partial-markdown-files': true, + 'yml-files': true, + }, + 'note-warning-formatting': { + // GHD049 + severity: 'warning', + 'partial-markdown-files': true, + 'yml-files': true, + }, + 'multiple-emphasis-patterns': { + // GHD050 + severity: 'warning', + 'partial-markdown-files': true, + 'yml-files': true, + }, } export const githubDocsFrontmatterConfig = { diff --git a/src/search/components/input/AskAIResults.tsx b/src/search/components/input/AskAIResults.tsx index 4b1d6afc84fe..41351a8ba694 100644 --- a/src/search/components/input/AskAIResults.tsx +++ b/src/search/components/input/AskAIResults.tsx @@ -481,9 +481,8 @@ export function AskAIResults({ > ) : null} - {!aiCouldNotAnswer && references && references.length > 0 ? ( + {!aiCouldNotAnswer && !responseLoading && references && references.length > 0 ? ( <> -