diff --git a/.github/workflows/sync-codeql-cli.yml b/.github/workflows/sync-codeql-cli.yml new file mode 100644 index 000000000000..d47d6f7c2b78 --- /dev/null +++ b/.github/workflows/sync-codeql-cli.yml @@ -0,0 +1,120 @@ +name: Sync CodeQl CLI + +# **What it does**: This workflow is run manually approximately every two weeks. +# When run, this workflow syncs the CodeQL CLI automated pipeline with the semmle-code +# repository, and creates a pull request if there are updates. +# **Why we have it**: So we can automate CodeQL CLI documentation. +# **Who does it impact**: Anyone making CodeQL CLI changes in `github/semmle-code`, and wanting to get them published on the docs site. + +on: + workflow_dispatch: + inputs: + SOURCE_BRANCH: + description: 'Branch to pull the source files from in the semmle-code repo.' + type: string + required: true + default: 'main' + +permissions: + contents: write + pull-requests: write + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +jobs: + generate-decorated-files: + if: github.repository == 'github/docs-internal' + runs-on: ubuntu-latest + steps: + - if: ${{ env.FREEZE == 'true' }} + run: | + echo 'The repo is currently frozen! Exiting this workflow.' + exit 1 # prevents further steps from running + + - name: Checkout repository code + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + + # Check out a nested repository inside of previous checkout + - name: Checkout semmle-code repo + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + # By default, only the most recent commit of the `main` branch + # will be checked out + repository: github/semmle-code + path: semmle-code + ref: ${{ github.event.inputs.SOURCE_BRANCH }} + + - uses: ./.github/actions/node-npm-setup + + - name: Get the semmle-code SHA being synced + id: semmle-code + run: | + cd semmle-code + OPENAPI_COMMIT_SHA=$(git rev-parse HEAD) + echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT + echo "Copied files from github/semmle-code repo. Commit SHA: $OPENAPI_COMMIT_SHA" + + - name: Install pandoc + run: | + # Remove all previous pandoc versions + sudo apt-get purge --auto-remove pandoc + # Download pandoc + wget https://github.com/jgm/pandoc/releases/download/3.0.1/pandoc-3.0.1-1-amd64.deb + # Install pandoc + sudo dpkg -i pandoc-3.0.1-1-amd64.deb + # Output the pandoc version installed + pandoc -v + + - name: Sync the CodeQL CLI data + run: | + src/codeql-cli/scripts/sync.js + git status + echo "Deleting the cloned github/semmle-code repo..." + rm -rf semmle-code + + - name: Create pull request + env: + # Needed for gh + GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }} + run: | + # If nothing to commit, exit now. It's fine. No orphans. + changes=$(git diff --name-only | wc -l) + if [[ $changes -eq 0 ]]; then + echo "There are no changes to commit after running src/rest/scripts/update-files.js. Exiting..." + exit 0 + fi + + git config --global user.name "docubot" + git config --global user.email "67483024+docubot@users.noreply.github.com" + + branchname=codeql-cli-update-${{ steps.semmle-code.outputs.OPENAPI_COMMIT_SHA }} + + branchCheckout=$(git checkout -b $branchname) + if [[! $? -eq 0 ]]; then + echo "Branch $branchname already exists in `github/docs-internal`. Exiting..." + exit 0 + fi + git add . + git commit -m "Update CodeQL CLI data" + git push origin $branchname + + echo "Creating pull request..." + gh pr create \ + --title "Update CodeQL CLI manual" \ + --body '👋 humans. This PR updates the CodeQL CLI manual Markdown pages with the latest changes. (Synced from semmle-code@${{ steps.semmle-code.outputs.OPENAPI_COMMIT_SHA }}) + + If CI does not pass or other problems arise, contact #docs-engineering on slack.' \ + --repo github/docs-internal \ + --label codeql-cli-pipeline + + - name: Send Slack notification if workflow fails + uses: someimportantcompany/github-actions-slack-message@1d367080235edfa53df415bd8e0bbab480f29bad + if: ${{ failure() && env.FREEZE != 'true' }} + with: + channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} + bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} + color: failure + text: The last Sync CodeQL CLI run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions/workflows/sync-codeql-cli.yml diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md index 81603b183c2f..01e50b10f79d 100644 --- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md +++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md @@ -19,23 +19,31 @@ topics: - Repositories shortTitle: Invite collaborators --- -Repositories owned by an organization can grant more granular access. For more information, see "[AUTOTITLE](/get-started/learning-about-github/access-permissions-on-github)." +## About collaboration in a personal repository -{% data reusables.organizations.org-invite-expiration %} +To collaborate with users in a repository that belongs to your personal account on {% data variables.location.product_location %}, you can invite the users as collaborators. -{% ifversion fpt or ghec %} +If you want to grant more granular access to the repository, you can create a repository within an organization. For more information, see "[AUTOTITLE](/get-started/learning-about-github/access-permissions-on-github)." + +{% ifversion ghec %} If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you can only invite other members of your enterprise to collaborate with you. {% data reusables.enterprise-accounts.emu-more-info-account %} -{% note %} +{% endif %} + +{% data reusables.repositories.private_forks_inherit_permissions %} -**Note:** {% data variables.product.company_short %} limits the number of people who can be invited to a repository within a 24-hour period. If you exceed this limit, either wait 24 hours or create an organization to collaborate with more people. +## Inviting a collaborator to a personal repository + +You can send an invitation to collaborate in your repository directly to someone on {% data variables.location.product_location %}{% ifversion fpt or ghec %}, or to the person's email address{% elsif ghes or ghae %}.{% endif %} + +{% ifversion fpt or ghec %} -{% endnote %} +{% data variables.product.company_short %} limits the number of people who can be invited to a repository within a 24-hour period. If you exceed this limit, either wait 24 hours or create an organization to collaborate with more people. For more information, see "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." {% endif %} -1. Ask for the username of the person you're inviting as a collaborator.{% ifversion fpt or ghec %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %} For more information, see "[AUTOTITLE](/get-started/signing-up-for-github/signing-up-for-a-new-github-account)".{% endif %} +1. Ask for the username of the person you're inviting as a collaborator.{% ifversion fpt or ghec %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/get-started/signing-up-for-github/signing-up-for-a-new-github-account)".{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4%} diff --git a/content/admin/overview/creating-an-enterprise-account.md b/content/admin/overview/creating-an-enterprise-account.md index 506c6308a388..68adeafc3c48 100644 --- a/content/admin/overview/creating-an-enterprise-account.md +++ b/content/admin/overview/creating-an-enterprise-account.md @@ -14,11 +14,12 @@ shortTitle: Create enterprise account ## About enterprise account creation -{% data variables.product.prodname_ghe_cloud %} allows you to create an enterprise account, which enables collaboration between multiple organizations and gives administrators a single point of visibility and management. When you purchase {% data variables.product.prodname_ghe_cloud %}, you can create an enterprise account. Creation of an enterprise account does not result in additional charges on your bill. +{% data variables.product.prodname_ghe_cloud %} allows you to create an enterprise account, which enables collaboration between multiple organizations and gives administrators a single point of visibility and management. When you purchase {% data variables.product.prodname_ghe_cloud %}, you can create an enterprise account. Creation of an enterprise account does not result in additional charges on your bill. For more information, see "[AUTOTITLE](/admin/overview/about-enterprise-accounts)." -For more information, see "[AUTOTITLE](/admin/overview/about-enterprise-accounts)." +If you currently use {% data variables.product.prodname_ghe_cloud %} with a single organization and by invoice, you can create an enterprise account through your billing page. If you need Enterprise Managed Users, {% data variables.product.prodname_ghe_server %}, or invoicing support, please contact {% data variables.contact.contact_enterprise_sales %}. + +You can also create an enterprise account by setting up a free trial of {% data variables.product.prodname_ghe_cloud %}. Trials are limited to 50 seats. If you have an existing organization with more than 50 seats that you want to invite into the trial, please contact {% data variables.contact.contact_enterprise_sales %}. For more information, see "[AUTOTITLE](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud)". -{% data reusables.enterprise.create-an-enterprise-account %} When you create an enterprise account that owns your existing organization on {% data variables.product.product_name %}, the organization's resources remain accessible to members at the same URLs. After you add your organization to the enterprise account, the following changes will apply to the organization. diff --git a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md index bb1734e54228..a9125e3088c3 100644 --- a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md +++ b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md @@ -31,7 +31,7 @@ Trials are also available for {% data variables.product.prodname_ghe_server %}. You can set up a 30-day trial to evaluate {% data variables.product.prodname_ghe_cloud %}. Your trial includes an enterprise account, which allows you to manage multiple organizations. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts)." -During the trial, you can add any number of new and existing organizations to your enterprise. Organizations created during the trial cannot be removed from the enterprise account until after you purchase {% data variables.product.prodname_enterprise %}. +During the trial, you can add any number of new and existing organizations to your enterprise. For existing organizations, billing is paused during the trial and any coupons are removed. To reapply a coupon, contact {% data variables.contact.contact_enterprise_sales %}. Organizations created during the trial cannot be removed from the enterprise account until after you purchase {% data variables.product.prodname_enterprise %}. Your trial also includes 50 seats. If you need more seats to evaluate {% data variables.product.prodname_ghe_cloud %}, contact {% data variables.contact.contact_enterprise_sales %}. At the end of the trial, you can choose a different number of seats, up to 1,000. @@ -49,6 +49,8 @@ The following features are not included in the trial of {% data variables.produc - {% data variables.product.prodname_copilot_for_business %} - {% data variables.product.prodname_sponsors %} - {% data variables.product.prodname_marketplace %} apps +- {% data variables.product.prodname_github_connect %} +- If you set up your own trial, access to {% data variables.product.prodname_ghe_server %} is not included. If you would like to use {% data variables.product.prodname_ghe_server %}, contact {% data variables.contact.contact_enterprise_sales %}. ## Setting up your trial of {% data variables.product.prodname_ghe_cloud %}