Skip to content

Commit

Permalink
Merge pull request #33536 from github/repo-sync
Browse files Browse the repository at this point in the history
Repo sync
  • Loading branch information
docs-bot authored Jun 17, 2024
2 parents 1017e3f + 16bc99e commit 129918b
Show file tree
Hide file tree
Showing 58 changed files with 332 additions and 332 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ But remember that by itself, artifact attestations provides links, like the buil
You can take this a step further by requiring builds make use of known, vetted build instructions. A great way to do this is to have your build take place in a reusable workflow that many repositories across your organization share. Reusable workflows can provide isolation between the build process and the calling workflow, to meet SLSA v1.0 Build Level 3.

Before starting this guide, you should be familiar with:
- Generating artifact attestations. See "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)."
- Writing and using reusable workflows. See "[AUTOTITLE](/actions/using-workflows/reusing-workflows)."
* Generating artifact attestations. See "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)."
* Writing and using reusable workflows. See "[AUTOTITLE](/actions/using-workflows/reusing-workflows)."

## Step 1: Configuring your builds

Expand Down Expand Up @@ -57,13 +57,13 @@ To verify the artifact attestations generated with your builds, you can use [`gh

The `gh attestation verify` command requires either `--owner` or `--repo` flags to be used with it. These flags do two things.

- They tell `gh attestation verify` where to fetch the attestation from. This will always be your caller workflow.
- They tell `gh attestation verify` where the workflow that did the signing came from. This will always be the workflow that uses [`attest-build-provenance` action](https://github.com/actions/attest-build-provenance), which may be a reusable workflow.
* They tell `gh attestation verify` where to fetch the attestation from. This will always be your caller workflow.
* They tell `gh attestation verify` where the workflow that did the signing came from. This will always be the workflow that uses [`attest-build-provenance` action](https://github.com/actions/attest-build-provenance), which may be a reusable workflow.

You can use optional flags with the `gh attestation verify` command.

- If your reusable workflow is not in the same repository as the caller workflow, use the `--signer-repo` flag to specify the repository that contains the reusable workflow.
- If you would like to require an artifact attestation to be signed with a specific workflow, use the `--signer-workflow` flag to indicate the workflow file that should be used.
* If your reusable workflow is not in the same repository as the caller workflow, use the `--signer-repo` flag to specify the repository that contains the reusable workflow.
* If you would like to require an artifact attestation to be signed with a specific workflow, use the `--signer-workflow` flag to indicate the workflow file that should be used.

For example, if your calling workflow is `ORGANIZATION_NAME/REPOSITORY_NAME/.github/workflows/calling.yml` and it uses `REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml` you could do:

Expand Down
8 changes: 4 additions & 4 deletions content/actions/using-workflows/avoiding-duplication.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ For details of how to create and use reusable workflows and composite actions, s

## Comparison of reusable workflows and composite actions

- **Workflow jobs** - Composite actions contain a series of steps, that are run as a single step within the caller workflow. Unlike reusable workflows, they cannot contain jobs.
- **Logging** - When a composite action runs, the log will show just the step in the caller workflow that ran the composite action, not the individual steps within the composite action. With reusable workflows, every job and step is logged separately.
- **Specifying runners** - Reusable workflows contain one or more jobs. As with all workflow jobs, the jobs in a reusable workflow specify the type of machine on which the job will run. Therefore, if the steps must be run on a type of machine that might be different from the machine chosen for the calling workflow job, then you should use a reusable workflow, not a composite action.
- **Passing output to steps** - A composite action is run as a step within a workflow job, and you can have multiple steps before or after the step that runs the composite action. Reusable workflows are called directly within a job, and not from within a job step. You can't add steps to a job after calling a reusable workflow, so you can't use `GITHUB_ENV` to pass values to subsequent job steps in the caller workflow.
* **Workflow jobs** - Composite actions contain a series of steps, that are run as a single step within the caller workflow. Unlike reusable workflows, they cannot contain jobs.
* **Logging** - When a composite action runs, the log will show just the step in the caller workflow that ran the composite action, not the individual steps within the composite action. With reusable workflows, every job and step is logged separately.
* **Specifying runners** - Reusable workflows contain one or more jobs. As with all workflow jobs, the jobs in a reusable workflow specify the type of machine on which the job will run. Therefore, if the steps must be run on a type of machine that might be different from the machine chosen for the calling workflow job, then you should use a reusable workflow, not a composite action.
* **Passing output to steps** - A composite action is run as a step within a workflow job, and you can have multiple steps before or after the step that runs the composite action. Reusable workflows are called directly within a job, and not from within a job step. You can't add steps to a job after calling a reusable workflow, so you can't use `GITHUB_ENV` to pass values to subsequent job steps in the caller workflow.

### Key differences between reusable workflows and composite actions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ After you enable guest collaborators, you can add guest collaborators to your en

When you have added a guest collaborator to your enterprise, to give the user access to repositories in the enterprise, you can do either of the following things.

- To give the user access to repositories in an organization, add the user as a **member of the organization**.
* To give the user access to repositories in an organization, add the user as a **member of the organization**.

The base permission policy for the organization determines whether the guest collaborator has access to internal and private repositories. If the base permission is set to "No permission", the guest collaborator will not have access to internal and private repositories unless added directly to one of the repositories as a collaborator, or through an authorized team. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/setting-base-permissions-for-an-organization)."
- To give the user access to specific repositories, add the guest collaborator to the repositories as a **repository collaborator**.
* To give the user access to specific repositories, add the guest collaborator to the repositories as a **repository collaborator**.

This gives the user access to the repository without giving them access to other internal or private repositories in the same organization. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators-or-repository-collaborators)."

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,23 @@ People with collaborator access to repositories are listed in your enterprise's
{% ifversion ghec %}
If you use an **enterprise with personal accounts**:

- People become enterprise members when they are added as a member or owner of an organization. See "[AUTOTITLE](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)."
- You can invite someone to become an enterprise owner or billing manager. See "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)."
* People become enterprise members when they are added as a member or owner of an organization. See "[AUTOTITLE](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)."
* You can invite someone to become an enterprise owner or billing manager. See "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)."

If you use an **{% data variables.enterprise.prodname_emu_enterprise %}**:

- You must provision all users through your identity provider (IdP).
- You select each user's enterprise role using your IdP. The role cannot be changed on {% data variables.product.prodname_dotcom %}.
- To assign the guest collaborator role, you may need to update your IdP.
* You must provision all users through your identity provider (IdP).
* You select each user's enterprise role using your IdP. The role cannot be changed on {% data variables.product.prodname_dotcom %}.
* To assign the guest collaborator role, you may need to update your IdP.

For more information about the different types of enterprise accounts, see "[AUTOTITLE](/admin/identity-and-access-management/understanding-iam-for-enterprises/choosing-an-enterprise-type-for-github-enterprise-cloud#about-types-of-enterprises)."

{% elsif ghes %}

When a user has joined your {% data variables.product.prodname_ghe_server %} instance, you can:

- Add the user to an organization. See "[AUTOTITLE](/organizations/managing-membership-in-your-organization/adding-people-to-your-organization)."
- Invite the user to become an enterprise owner. See "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)."
* Add the user to an organization. See "[AUTOTITLE](/organizations/managing-membership-in-your-organization/adding-people-to-your-organization)."
* Invite the user to become an enterprise owner. See "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)."

{% endif %}

Expand Down Expand Up @@ -91,9 +91,9 @@ Members of organizations owned by your enterprise are automatically members of t

Enterprise members:

- Cannot access or configure enterprise settings.
- Can access all repositories with "internal" visibility across any organization in the enterprise. See "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-internal-repositories)."
- May have different levels of access to various organizations and repositories. To view the resources someone has access to, see "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise)."
* Cannot access or configure enterprise settings.
* Can access all repositories with "internal" visibility across any organization in the enterprise. See "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-internal-repositories)."
* May have different levels of access to various organizations and repositories. To view the resources someone has access to, see "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise)."

{% ifversion guest-collaborators %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ If you downgrade your number of additional data packs, your changes will take ef

## Further reading

- "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage)"
- "[AUTOTITLE](/repositories/working-with-files/managing-large-files/installing-git-large-file-storage)"
- "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files/installing-git-large-file-storage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ shortTitle: Upgrade Git LFS storage

## Further reading

- "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage)"
- "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
- "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage)"
- "[AUTOTITLE](/repositories/working-with-files/managing-large-files)"
* "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
* "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files)"
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,5 @@ shortTitle: View Git LFS usage

## Further reading

- "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
- "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage)"
* "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)"
* "[AUTOTITLE](/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage)"
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ Minutes reset every month, while storage usage does not.

**Notes**:

- Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)."
- Logs and job summaries do not count towards storage usage.
* Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)."
* Logs and job summaries do not count towards storage usage.

{% endnote %}

Expand Down Expand Up @@ -130,13 +130,13 @@ Jobs that run on Windows and macOS runners that {% data variables.product.prodna

#### Points to note about rates for runners

- The number of jobs you can run concurrently across all repositories in your user or organization account depends on your {% data variables.product.prodname_dotcom %} plan. For more information, see "[AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#usage-limits)" for self-hosted runner usage limits.
- {% data reusables.user-settings.context_switcher %}
- {% data reusables.actions.larger-runner-permissions %}
- {% data reusables.actions.about-larger-runners-billing %}
- For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see "[AUTOTITLE](/actions/using-github-hosted-runners/using-larger-runners)."
- Included minutes cannot be used for {% data variables.actions.hosted_runner %}s.
- The {% data variables.actions.hosted_runner %}s are not free for public repositories.
* The number of jobs you can run concurrently across all repositories in your user or organization account depends on your {% data variables.product.prodname_dotcom %} plan. For more information, see "[AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#usage-limits)" for self-hosted runner usage limits.
* {% data reusables.user-settings.context_switcher %}
* {% data reusables.actions.larger-runner-permissions %}
* {% data reusables.actions.about-larger-runners-billing %}
* For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see "[AUTOTITLE](/actions/using-github-hosted-runners/using-larger-runners)."
* Included minutes cannot be used for {% data variables.actions.hosted_runner %}s.
* The {% data variables.actions.hosted_runner %}s are not free for public repositories.

## Calculating minute and storage spending

Expand All @@ -148,9 +148,9 @@ At the end of the month, {% data variables.product.prodname_dotcom %} calculates

For example, if your organization uses {% data variables.product.prodname_team %} and allows unlimited spending, using 5,000 minutes could have a total storage and minute overage cost of $56 USD, depending on the operating systems used to run jobs.

- 5,000 (3,000 Linux and 2,000 Windows) minutes = $56 USD ($24 USD + $32 USD).
- 3,000 Linux minutes at $0.008 USD per minute = $24 USD.
- 2,000 Windows minutes at $0.016 USD per minute = $32 USD.
* 5,000 (3,000 Linux and 2,000 Windows) minutes = $56 USD ($24 USD + $32 USD).
* 3,000 Linux minutes at $0.008 USD per minute = $24 USD.
* 2,000 Windows minutes at $0.016 USD per minute = $32 USD.

{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage during that month.

Expand All @@ -164,10 +164,10 @@ For example, if your organization uses {% data variables.product.prodname_team %

For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be:

- 3 GB x 10 days x (24 hours per day) = 720 GB-Hours
- 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours
- 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours
- 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months
* 3 GB x 10 days x (24 hours per day) = 720 GB-Hours
* 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours
* 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours
* 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months

At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB.

Expand Down
Loading

0 comments on commit 129918b

Please sign in to comment.