diff --git a/content/actions/concepts/runners/larger-runners.md b/content/actions/concepts/runners/larger-runners.md index 80377ea237..55869e0f5c 100644 --- a/content/actions/concepts/runners/larger-runners.md +++ b/content/actions/concepts/runners/larger-runners.md @@ -45,7 +45,7 @@ Since macOS {% data variables.actions.hosted_runners %} are not preconfigured, t > [!NOTE] > {% data variables.actions.hosted_runner_caps %}s are not eligible for the use of included minutes on private repositories. For both private and public repositories, when {% data variables.actions.hosted_runners %} are in use, they will always be billed at the per-minute rate. -Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners, {% data variables.actions.hosted_runners %} are billed differently. {% data reusables.actions.about-larger-runners-billing %} For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +Compared to standard {% data variables.product.github %}-hosted runners, {% data variables.actions.hosted_runners %} are billed differently. {% data reusables.actions.about-larger-runners-billing %} For more information, see [AUTOTITLE](/billing/reference/actions-minute-multipliers). ## Next steps diff --git a/content/billing/concepts/product-billing/git-lfs.md b/content/billing/concepts/product-billing/git-lfs.md index ba3fbc6dfd..07c2c9a552 100644 --- a/content/billing/concepts/product-billing/git-lfs.md +++ b/content/billing/concepts/product-billing/git-lfs.md @@ -1,9 +1,17 @@ --- title: Git Large File Storage billing -intro: 'Learn about billing for {% data variables.large_files.product_name_long %} using the new billing platform.' +intro: 'Learn how usage of {% data variables.large_files.product_name_long %} is measured against your free allowance and how to pay for additional use.' versions: feature: enhanced-billing-platform redirect_from: +# Redirects from about-storage-and-bandwidth-usage + - /articles/billing-plans-for-large-file-storage + - /articles/billing-plans-for-git-large-file-storage + - /articles/about-storage-and-bandwidth-usage + - /github/managing-large-files/about-storage-and-bandwidth-usage + - /github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage + - /repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage +# Original redirects - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-git-large-file-storage - /articles/about-billing-for-git-large-file-storage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage @@ -23,18 +31,36 @@ product: '{% data reusables.billing.enhanced-billing-platform-product %}' contentType: concepts --- -## About billing for {% data variables.large_files.product_name_long %} +## How use of {% data variables.large_files.product_name_short %} is measured -> [!NOTE] {% data reusables.user-settings.context_switcher %} +Each {% data variables.product.github %} account receives a quota of free bandwidth and storage for {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). Any usage beyond the included amounts is billed to your account. Bandwidth resets every month, while storage usage does not. -Each {% data variables.product.prodname_dotcom %} account receives a certain amount of free bandwidth and storage for {% data variables.large_files.product_name_short %}, depending on the account's plan. -Bandwidth is billed for each GiB of data downloaded. Storage is billed by calculating an hourly usage rate. To estimate costs for paid {% data variables.large_files.product_name_short %} usage, you can use the {% data variables.product.prodname_dotcom %} [pricing calculator](https://github.com/pricing/calculator?feature=lfs). +Working in a public or private repository with {% data variables.large_files.product_name_short %}: -{% data reusables.large_files.owner_quota_only %} +* When you **commit and push** a change to a {% data variables.large_files.product_name_short %} file, a new version of the entire file is pushed and the total file size is included in the **repository owner's storage use**. +* When you **download** a {% data variables.large_files.product_name_short %} file, the bandwidth you use is included in the **repository owner's bandwidth usage**. +* When you **upload** a file to {% data variables.large_files.product_name_short %}, the file is included in the **repository owner's storage use** but the bandwidth is not measured. -## Included bandwidth and storage (per month) +> [!TIP] +> Anyone with write access to a repository can push files to {% data variables.large_files.product_name_short %} without increasing their personal bandwidth and storage use. -The following amounts of bandwidth and storage are included for free with your {% data variables.product.company_short %} account. +### Examples of how usage is measured + +* If you push a 500 MB file to {% data variables.large_files.product_name_short %}, you'll use 500 MB of the repository owner's storage and none of their bandwidth. If you make a 1 byte change and push the file again, you'll use another 500 MB of storage and no bandwidth, bringing the total usage for these two pushes to 1 GB of storage and zero bandwidth. +* If you download a 500 MB file that's tracked with {% data variables.large_files.product_name_short %}, you'll use 500 MB of the repository owner's bandwidth. If a collaborator pushes a change to the file and you pull the new version to your local repository, you'll use another 500 MB of bandwidth, bringing the total usage for these two downloads to 1 GB of bandwidth. +* If {% data variables.product.prodname_actions %} downloads a 500 MB file that is tracked with {% data variables.large_files.product_name_short %}, it will use 500 MB of the repository owner's bandwidth. + +### {% data variables.large_files.product_name_short %} objects in source code archives + +If you include {% data variables.large_files.product_name_short %} objects in source code archives for your repository, downloads of those archives will count towards bandwidth usage for the repository. See [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository). + +### Usage in forks + +Bandwidth and storage usage always count against the repository owner's account. Forking and pulling a repository counts against the parent repository's bandwidth usage. + +## Free use of {% data variables.large_files.product_name_short %} + +The following amounts of storage and bandwidth for downloads are included in your {% data variables.product.github %} plan. |Plan | Bandwidth | Storage | |------- | ------- | ---------| @@ -44,18 +70,26 @@ The following amounts of bandwidth and storage are included for free with your { | {% data variables.product.prodname_team %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} | | {% data variables.product.prodname_ghe_cloud %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} | -## Pricing for paid usage +## Using more than your included quota -If you use more than the included amount of bandwidth or storage for your plan throughout the month, you can still use {% data variables.large_files.product_name_short %}. {% data variables.product.company_short %} bills for additional GiBs of data at the rates below. +If you use more than your included quota of **storage** without a payment method on file: -| Product | Price per-GiB (USD) | -| --------- | ------------------- | -| Bandwidth | $0.0875 | -| Storage | $0.07 | +* You can still clone repositories with large assets +* You will only retrieve the pointer files, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage#pointer-file-format) +* You will not be able to push new files back up -To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). +If you use more than your included quota of **bandwidth** per month without a payment method on file, {% data variables.large_files.product_name_short %} support is disabled on your account until the next month. -### Sample storage cost calculation +## Paying for additional {% data variables.large_files.product_name_short %} use + +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). + +Bandwidth is billed for each GiB of data downloaded. Storage is billed by calculating an hourly usage rate. + +* To estimate costs for paid {% data variables.large_files.product_name_short %} usage, use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=lfs). +* To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). + +### Example storage cost calculation For example, if you use 1 GiB above what is included for free for the first 15 days of April, then use 2 GiB starting from April 16th to the end of the month, your storage costs will be calculated in the following way. @@ -64,9 +98,9 @@ For example, if you use 1 GiB above what is included for free for the first 15 d * 360 GiB-hours + 720 GiB-hours = 1080 GiB-hours * 1080 GiB-hours / 720 hours in the month = 1.5 GiB-months -In this example, {% data variables.product.company_short %} would bill for 1.5 GiB of storage for the month of April. +In this example, you would pay for 1.5 GiB of additional storage for the month of April. -## Managing your budget for {% data variables.large_files.product_name_long %} +## Managing your budget for {% data variables.large_files.product_name_short %} {% data reusables.billing.default-over-quota-behavior %} @@ -76,4 +110,3 @@ In this example, {% data variables.product.company_short %} would bill for 1.5 G * [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) diff --git a/content/billing/concepts/product-billing/github-actions.md b/content/billing/concepts/product-billing/github-actions.md index 906afab336..ef0e8e5096 100644 --- a/content/billing/concepts/product-billing/github-actions.md +++ b/content/billing/concepts/product-billing/github-actions.md @@ -1,6 +1,6 @@ --- title: GitHub Actions billing -intro: 'If you want to use {% data variables.product.prodname_actions %} beyond the storage or minutes included in your account, you will be billed for additional usage.' +intro: 'Learn how usage of {% data variables.product.prodname_actions %} is measured against your free allowance and how to pay for additional use.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions @@ -22,21 +22,24 @@ shortTitle: GitHub Actions contentType: concepts --- -## About billing for {% data variables.product.prodname_actions %} +## How use of {% data variables.product.prodname_actions %} is measured -{% data reusables.billing.authorization-charge %} +{% data variables.product.prodname_actions %} usage is **free** for **self-hosted runners** and for **public repositories** that use standard {% data variables.product.github %}-hosted runners. See [AUTOTITLE](/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job#standard-github-hosted-runners-for-public-repositories). -{% data reusables.actions.actions-billing %} +For **private repositories**, each {% data variables.product.github %} account receives a quota of free minutes and artifact storage for use with {% data variables.product.github %}-hosted runners, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Minutes reset every month, while storage usage does not. -If you are an organization owner or enterprise owner, you can connect an Azure Subscription ID to your organization or enterprise account to enable and pay for {% data variables.product.prodname_actions %} usage beyond the amounts included with your account. For more information, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription). +> [!TIP] +> Anyone with write access to a repository can run actions without using minutes for their personal account. -Minutes reset every month, while storage usage does not. +### Examples of how usage is measured -### Included storage and minutes +* If you run a workflow on a standard Linux runner and it takes 10 minutes to complete, you'll use 10 minutes of the repository owner's allowance. If the workflow generates a 10 MB artifact, then you'll also use 10 MB of the repository owner's storage allowance. +* If you run a workflow that normally takes 10 minutes and it fails after 5 minutes because a dependency isn't available, you'll use 5 minutes of the repository owner's allowance. If you fix the problem and re-run the workflow successfully, in total you'll use 15 minutes of the repository owner's allowance. +* If you run a workflow that generates many log files and a long job summary, these files do not count towards the repository owner's storage allowance. -> [!NOTE] -> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see [Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). -> * Logs and job summaries do not count towards storage usage. +## Free use of {% data variables.product.prodname_actions %} + +The following amounts of time for standard runners and artifact storage are included in your {% data variables.product.github %} plan. At the start of each month, the minutes used by the account are reset to zero. |Plan | Storage | Minutes (per month)| |------- | ------- | ---------| @@ -46,107 +49,48 @@ Minutes reset every month, while storage usage does not. | {% data variables.product.prodname_team %} | 2 GB | 3,000 | | {% data variables.product.prodname_ghe_cloud %} | 50 GB | 50,000 | -If your account's storage surpasses these limits and you have a valid payment method on file, you will pay $0.008 USD per GB of storage per day. +> [!NOTE] +> Included minutes cannot be used for larger runners. These runners will always be charged for, even when used by public repositories. + +## Using more than your included quota + +If your account does not have a valid payment method on file, usage is blocked once you use up your quota. + +## Paying for additional {% data variables.product.prodname_actions %} use + +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). + +Storage is billed based on hourly usage of artifacts throughout the month. Minutes are calculated based on the total processing time used on each runner type during the month. + +* To estimate costs for paid {% data variables.product.prodname_actions %} usage, use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=actions). +* To view your current minutes and storage, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). + +> [!NOTE] +> The billing dashboard may show your Actions usage as a dollar amount ("spend") rather than raw minutes. This amount already reflects any applicable minute multipliers. ### Minute multipliers -Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. +Each type of runner has a minute multipler that is determined by the operating system and processing power. For example, jobs that run on Windows and macOS runners hosted by {% data variables.product.github %} consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. | Operating system | Minute multiplier | -|----------------- | ------------------| +|----------------- | :----------------:| | Linux | 1 | | Windows | 2 | | macOS | 10 | -> [!NOTE] -> The billing dashboard may show your Actions usage as a dollar amount ("spend") rather than raw minutes. This amount already reflects the minute multipliers above. If you're using macOS or Windows runners, you will use up your included minutes more quickly +For full details of minute multiplers for {% data variables.product.github %}-hosted runners, see [AUTOTITLE](/billing/reference/actions-minute-multipliers). -### Per-minute rates +### Example minutes cost calculation -{% data variables.product.github %} rounds the minutes and partial minutes each job uses up to the nearest whole minute. - -#### Per-minute rates for standard runners - -| Operating system | Per-minute rate (USD) | -|---------------------------------------| ----------------------| -| Linux 2-core | $0.008 | -| Windows 2-core | $0.016 | -| macOS 3-core or 4-core (M1 or Intel) | $0.08 | - -#### Per-minute rates for x64-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|------------------------| ----------------------| -| Linux Advanced 2-core | $0.008 | -| Linux 4-core | $0.016 | -| Linux 8-core | $0.032 | -| Linux 16-core | $0.064 | -| Linux 32-core | $0.128 | -| Linux 64-core | $0.256 | -| Linux 96-core | $0.384 | -| Windows 4-core | $0.032 | -| Windows 8-core | $0.064 | -| Windows 16-core | $0.128 | -| Windows 32-core | $0.256 | -| Windows 64-core | $0.512 | -| Windows 96-core | $0.768 | -| macOS 12-core | $0.12 | - -#### Per-minute rates for arm64-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|---------------------| -----------| -| Linux 2-core | $0.005 | -| Linux 4-core | $0.01 | -| Linux 8-core | $0.02 | -| Linux 16-core | $0.04 | -| Linux 32-core | $0.08 | -| Linux 64-core | $0.16 | -| Windows 2-core | $0.01 | -| Windows 4-core | $0.02 | -| Windows 8-core | $0.04 | -| Windows 16-core | $0.08 | -| Windows 32-core | $0.16 | -| Windows 64-core | $0.32 | -| macOS 6-core (M1) | $0.16 | - -#### Per-minute rates for GPU-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|---------------------| -----------| -| Linux 4-core | $0.07 | -| Windows 4-core | $0.14 | - -#### 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/usage-limits-for-self-hosted-runners) 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/about-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 - -{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_actions %} - -At the end of the month, {% data variables.product.prodname_dotcom %} calculates the cost of minutes and storage used over the amount included in your account. - -### Sample minutes cost calculation - -For example, if your organization uses {% data variables.product.prodname_team %} and allows unlimited spending, using 5,000 minutes beyond the included quota could have a total storage and minute cost of $56 USD, depending on the operating systems used to run jobs. +For example, if your organization uses {% data variables.product.prodname_team %}, using 5,000 minutes beyond the included quota would have a total storage and minute cost of $56 USD, with the use of both Linux and Windows runners. * 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. +This example assumes that the baseline runner was used for each operating system. -### Sample storage cost calculation - -> [!NOTE] -> {% data variables.product.company_short %} updates your storage space within a 6 to 12-hour window. If you delete artifacts, the available space will be reflected in your account during the next scheduled update. +### Example storage cost calculation 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: @@ -155,12 +99,18 @@ For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 da * 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. +At the end of the month, {% data variables.product.github %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. -Your {% data variables.product.prodname_actions %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} +> [!NOTE] +> {% data variables.product.github %} updates your storage space within a 6 to 12-hour window. If you delete artifacts, the available space will be reflected in your account during the next scheduled update. ## Managing your budget for {% data variables.product.prodname_actions %} {% data reusables.billing.default-over-quota-behavior %} {% data reusables.billing.migrated-budgets %} + +## Further reading + +* [AUTOTITLE](/actions/get-started/understand-github-actions) +* [AUTOTITLE](/actions/get-started/quickstart) diff --git a/content/billing/concepts/product-billing/github-packages.md b/content/billing/concepts/product-billing/github-packages.md index 42b0a70cf0..db7443cb6a 100644 --- a/content/billing/concepts/product-billing/github-packages.md +++ b/content/billing/concepts/product-billing/github-packages.md @@ -1,7 +1,6 @@ --- title: GitHub Packages billing -intro: 'If you want to use {% data variables.product.prodname_registry %} beyond the storage or data transfer included in your account, you will be billed for additional usage.' -product: '{% data reusables.gated-features.packages %}' +intro: 'Learn how usage of {% data variables.product.prodname_registry %} is measured against your free allowance and how to pay for additional use.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-packages - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/about-billing-for-github-packages @@ -22,15 +21,29 @@ shortTitle: GitHub Packages contentType: concepts --- -## About billing for {% data variables.product.prodname_registry %} +## How use of {% data variables.product.prodname_registry %} is measured -{% data reusables.billing.authorization-charge %} +{% data variables.product.prodname_registry %} usage is **free** for **public packages**. In addition, data transferred in from any source is free. -{% data reusables.package_registry.packages-billing %} +For **private** repositories, each {% data variables.product.github %} account receives a quota of storage and data transfer for use with {% data variables.product.prodname_registry %}, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Data transfer resets every month, while storage usage does not. -If you are an organization or enterprise owner, you can connect an Azure Subscription ID to your organization or enterprise account to enable and pay for {% data variables.product.prodname_registry %} usage beyond the amounts included with your account. For more information, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription). +Working in a private repository with packages: -Data transfer resets every month, while storage usage does not. +* When you **publish a private package**, the total file size is included in the **repository owner's storage use**. +* When you **download** a private package, the transfer of data is included in the **repository owner's data transfer usage**. + +> [!TIP] +> Anyone with write access to a repository can publish packages without increasing usage for their personal account. + +### Examples of how usage is measured + +* If you publish a 500 MB package in a private repository, you'll use 500 MB of the repository owner's storage and none of their data transfer allowance. If you find a bug and publish an updated 500 MB package without deleting the original package, you are now using 1 GB of the owner's storage. +* If you download a 500 MB package from a private repository, you'll use 500 MB of the repository owner's data transfer. If a security fix is released and you download the new package, you'll add another 500 MB of data transfer, bringing the total transfer for these two downloads to 1 GB of data. +* If {% data variables.product.prodname_actions %} downloads a 500 MB package from a private repository using a `GITHUB_TOKEN`, this does not count against the repository owner's data transfer allowance, see [Package downloads by {% data variables.product.prodname_actions %}](#package-downloads-by-github-actions). + +## Free use of {% data variables.product.prodname_registry %} + +The following amounts of storage and data transfer are included in your {% data variables.product.github %} plan. At the start of each month, the data transfer for the account is reset to zero. {% rowheaders %} @@ -44,7 +57,9 @@ Plan | Storage | Data transfer (per month) {% endrowheaders %} -All data transferred out, when triggered by {% data variables.product.prodname_actions %}, and data transferred in from any source is free. We determine you are downloading packages using {% data variables.product.prodname_actions %} when you log in to {% data variables.product.prodname_registry %} using a `GITHUB_TOKEN`. +### Package downloads by {% data variables.product.prodname_actions %} + +When a workflow uses {% data variables.product.prodname_actions %} to download a package, the data transfer does not count against the usage for the hosting repository. We determine you are downloading packages using {% data variables.product.prodname_actions %} when you log in to {% data variables.product.prodname_registry %} using a `GITHUB_TOKEN`. {% rowheaders %} @@ -55,24 +70,33 @@ All data transferred out, when triggered by {% data variables.product.prodname_a {% endrowheaders %} -Storage usage is shared with build artifacts produced by {% data variables.product.prodname_actions %} for repositories owned by your account. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). +## Using more than your included quota -{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have a valid payment method on file, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer. +If your account does not have a valid payment method on file, usage is blocked once you use up your quota. -For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would use 148GB for storage and 40GB for data transfer for that month beyond their included quota. The additional storage would cost $0.008 USD per GB per day or approximately $37 USD for a 31-day month. The additional data transfer would cost $0.50 USD per GB or $20 USD. +## Paying for additional {% data variables.product.prodname_registry %} use -{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). -At the end of the month, {% data variables.product.prodname_dotcom %} rounds your data transfer to the nearest GB. +Data transfer is billed for each GB of data transfered. Storage is billed by calculating an hourly usage rate. -{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage per GB during that month. 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: +* {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} +* To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). + +### Example of how usage is calculated over a month + +At the end of the month, {% data variables.product.github %} rounds your data transfer to the nearest GB. + +{% data variables.product.github %} calculates your storage usage for each month based on hourly usage per GB during that month. 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 total 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. +At the end of the month, {% data variables.product.github %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. + +### Example of estimating usage You can also use this calculation in the middle of a billing cycle, to estimate what your total usage might be for the month. For example, if you have an organization that uses {% data variables.product.prodname_team %}, which provides 2 GB of free storage, and you use 0 GB for the first 5 days of April, 1.5 GB for the following 10 days, and you plan to use 3 GB for the last 15 days of the billing cycle, your projected storage usage for the month would be: @@ -82,14 +106,16 @@ You can also use this calculation in the middle of a billing cycle, to estimate * 0 GB-Hours + 120 GB-Hours + 1080 GB-Hours = 1200 total GB-Hours * 1200 GB-Hours / (744 hours per month) = 1.6 GB-Months -The projected 1.6 GB of storage usage for the month would not exceed your 2 GB limit, even though your actual storage amount briefly exceeded 2 GB. - -Your {% data variables.product.prodname_registry %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} - -{% data reusables.user-settings.context_switcher %} +The projected 1.6 GB of storage usage for the month would not exceed your 2 GB limit, even though your actual storage amount exceeded 2 GB for half the month. ## Managing your budget for {% data variables.product.prodname_registry %} {% data reusables.billing.default-over-quota-behavior %} {% data reusables.billing.migrated-budgets %} + +## Further reading + +* [AUTOTITLE](/packages/learn-github-packages/introduction-to-github-packages) +* [AUTOTITLE](/packages/quickstart) +* [AUTOTITLE](/packages/learn-github-packages/publishing-a-package) diff --git a/content/billing/reference/actions-minute-multipliers.md b/content/billing/reference/actions-minute-multipliers.md new file mode 100644 index 0000000000..78a6aaf99e --- /dev/null +++ b/content/billing/reference/actions-minute-multipliers.md @@ -0,0 +1,76 @@ +--- +title: Actions minute multiplier reference +shortTitle: Actions minute multipliers +intro: 'Reference information for calculating the cost of using different {% data variables.product.github %}-hosted runners.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Billing + - Actions +contentType: reference +--- + +{% data variables.product.github %} rounds the minutes and partial minutes each job uses up to the nearest whole minute. + +## Standard runners + +| Operating system | Per-minute rate (USD) | +|---------------------------------------| ----------------------| +| Linux 2-core | $0.008 | +| Windows 2-core | $0.016 | +| macOS 3-core or 4-core (M1 or Intel) | $0.08 | + +## x64-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|------------------------| ----------------------| +| Linux Advanced 2-core | $0.008 | +| Linux 4-core | $0.016 | +| Linux 8-core | $0.032 | +| Linux 16-core | $0.064 | +| Linux 32-core | $0.128 | +| Linux 64-core | $0.256 | +| Linux 96-core | $0.384 | +| Windows 4-core | $0.032 | +| Windows 8-core | $0.064 | +| Windows 16-core | $0.128 | +| Windows 32-core | $0.256 | +| Windows 64-core | $0.512 | +| Windows 96-core | $0.768 | +| macOS 12-core | $0.12 | + +## arm64-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|---------------------| -----------| +| Linux 2-core | $0.005 | +| Linux 4-core | $0.01 | +| Linux 8-core | $0.02 | +| Linux 16-core | $0.04 | +| Linux 32-core | $0.08 | +| Linux 64-core | $0.16 | +| Windows 2-core | $0.01 | +| Windows 4-core | $0.02 | +| Windows 8-core | $0.04 | +| Windows 16-core | $0.08 | +| Windows 32-core | $0.16 | +| Windows 64-core | $0.32 | +| macOS 6-core (M1) | $0.16 | + +## GPU-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|---------------------| -----------| +| Linux 4-core | $0.07 | +| Windows 4-core | $0.14 | + +## 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.github %} plan. For more information, see [AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration) for {% data variables.product.github %}-hosted runners and [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/usage-limits-for-self-hosted-runners) for self-hosted runner usage limits. +* {% 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/about-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. diff --git a/content/billing/reference/index.md b/content/billing/reference/index.md index 3a29d9157f..1c9fa1498e 100644 --- a/content/billing/reference/index.md +++ b/content/billing/reference/index.md @@ -10,6 +10,7 @@ topics: - Billing children: - /product-usage-included + - /actions-minute-multipliers - /usage-reports - /supported-payment-methods - /azure-subscription diff --git a/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md b/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md index 80224e1acf..cd13e1540f 100644 --- a/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md +++ b/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md @@ -94,7 +94,7 @@ For more information, see [AUTOTITLE](/code-security/securing-your-organization/ If you run into {% data variables.product.prodname_dependabot %} timeouts and out-of-memory errors, you may want to use {% data variables.actions.hosted_runners %}, as you can configure these runners to have more resources. -> [!NOTE] You can only enable {% data variables.actions.hosted_runners %} for {% data variables.product.prodname_dependabot %} _at the organization level_. {% data variables.product.prodname_dotcom %} will bill your organization at the regular Actions runner pricing. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +> [!NOTE] You can only enable {% data variables.actions.hosted_runners %} for {% data variables.product.prodname_dependabot %} _at the organization level_. {% data variables.product.prodname_dotcom %} will bill your organization at the regular Actions runner pricing. See [AUTOTITLE](/billing/reference/actions-minute-multipliers). 1. Add a {% data variables.actions.hosted_runner %} to your organization and ensure the name specified is `dependabot`. For more information, see [AUTOTITLE](/actions/using-github-hosted-runners/about-larger-runners/managing-larger-runners#adding-a-larger-runner-to-an-organization). 1. Opt in the organization to self-hosted runners. For more information, see [AUTOTITLE](/code-security/dependabot/maintain-dependencies/managing-dependabot-on-self-hosted-runners#enabling-or-disabling-for-your-organization). This step is required, as it ensures that future {% data variables.product.prodname_dependabot %} jobs will run on the larger {% data variables.product.prodname_dotcom %}-hosted runner that has the `dependabot` name. diff --git a/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md b/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md index 2074e43aed..8cfe9c3565 100644 --- a/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md +++ b/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md @@ -26,7 +26,7 @@ Minutes reset every month, while storage usage does not. ### Included storage and minutes > [!NOTE] -> * 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). +> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. See [AUTOTITLE](/billing/reference/actions-minute-multipliers). > * Logs and job summaries do not count towards storage usage. |Plan | Storage | Minutes (per month)| diff --git a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md index 15732cc28b..9aca5caee5 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md @@ -16,7 +16,7 @@ redirect_from: {% data variables.product.github %} creates [source code archives](/repositories/working-with-files/using-files/downloading-source-code-archives) of your repository in the form of ZIP files and tarballs. People can download these archives on the main page of your repository or as release assets. By default, {% data variables.large_files.product_name_short %} objects are not included in these archives, only the pointer files to these objects. To improve the usability of archives for your repository, you can choose to include the {% data variables.large_files.product_name_short %} objects instead. To be included, the {% data variables.large_files.product_name_short %} objects must be covered by tracking rules in a _.gitattributes_ file that has been committed to the repository. -If you choose to include {% data variables.large_files.product_name_short %} objects in archives of your repository, every download of those archives will count towards bandwidth usage for your account. Each account receives {% data variables.large_files.initial_bandwidth_quota %} per month of bandwidth for free, and you can pay for additional usage. For more information, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage) and [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage). +If you choose to include {% data variables.large_files.product_name_short %} objects in archives of your repository, every download of those archives will count towards bandwidth usage for your account. Each account receives {% data variables.large_files.initial_bandwidth_quota %} per month of bandwidth for free, and you can pay for additional usage. See [AUTOTITLE](/billing/concepts/product-billing/git-lfs). If you use an external LFS server (configured in your _.lfsconfig_), those LFS files will not be included in archives of the repository. The archive will only contain files that have been committed to {% data variables.product.github %}. diff --git a/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md b/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md deleted file mode 100644 index 9a572eb358..0000000000 --- a/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: About storage and bandwidth usage -intro: '{% data reusables.large_files.free-storage-bandwidth-amount %}' -redirect_from: - - /articles/billing-plans-for-large-file-storage - - /articles/billing-plans-for-git-large-file-storage - - /articles/about-storage-and-bandwidth-usage - - /github/managing-large-files/about-storage-and-bandwidth-usage - - /github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage -versions: - fpt: '*' - ghec: '*' -shortTitle: Storage & bandwidth ---- -{% data variables.large_files.product_name_short %} is available for every repository on {% data variables.product.github %}, whether or not your account or organization has a paid subscription. - -## Tracking storage and bandwidth use - -When you commit and push a change to a file tracked with {% data variables.large_files.product_name_short %}, a new version of the entire file is pushed and the total file size is counted against the repository owner's storage limit. When you download a file tracked with {% data variables.large_files.product_name_short %}, the total file size is counted against the repository owner's bandwidth limit. {% data variables.large_files.product_name_short %} uploads do not count against the bandwidth limit. - -For example: -* If you push a 500 MB file to {% data variables.large_files.product_name_short %}, you'll use 500 MB of your allotted storage and none of your bandwidth. If you make a 1 byte change and push the file again, you'll use another 500 MB of storage and no bandwidth, bringing your total usage for these two pushes to 1 GB of storage and zero bandwidth. -* If you download a 500 MB file that's tracked with LFS, you'll use 500 MB of the repository owner's allotted bandwidth. If a collaborator pushes a change to the file and you pull the new version to your local repository, you'll use another 500 MB of bandwidth, bringing the total usage for these two downloads to 1 GB of bandwidth. -* If {% data variables.product.prodname_actions %} downloads a 500 MB file that is tracked with LFS, it will use 500 MB of the repository owner's allotted bandwidth. - -If {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in [source code archives](/repositories/working-with-files/using-files/downloading-source-code-archives) for your repository, downloads of those archives will count towards bandwidth usage for the repository. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository). - -> [!TIP] -> * {% data reusables.large_files.owner_quota_only %} - -## Storage quota - -If you use more than {% data variables.large_files.initial_storage_quota %} of storage without a payment method on file, you can still clone repositories with large assets, but you will only retrieve the pointer files, and you will not be able to push new files back up. For more information about pointer files, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage#pointer-file-format). - -## Bandwidth quota - -If you use more than {% data variables.large_files.initial_bandwidth_quota %} of bandwidth per month without a payment method on file, {% data variables.large_files.product_name_short %} support is disabled on your account until the next month. - -## Further reading - -* [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage) -* [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage) diff --git a/content/repositories/working-with-files/managing-large-files/index.md b/content/repositories/working-with-files/managing-large-files/index.md index 478de371ec..e7325c58bc 100644 --- a/content/repositories/working-with-files/managing-large-files/index.md +++ b/content/repositories/working-with-files/managing-large-files/index.md @@ -17,10 +17,8 @@ children: - /about-git-large-file-storage - /installing-git-large-file-storage - /configuring-git-large-file-storage - - /about-storage-and-bandwidth-usage - /collaboration-with-git-large-file-storage - /moving-a-file-in-your-repository-to-git-large-file-storage - /removing-files-from-git-large-file-storage - /resolving-git-large-file-storage-upload-failures --- - diff --git a/data/reusables/actions/supported-github-runners.md b/data/reusables/actions/supported-github-runners.md index a97373670d..4de203d426 100644 --- a/data/reusables/actions/supported-github-runners.md +++ b/data/reusables/actions/supported-github-runners.md @@ -87,7 +87,7 @@ For public repositories, jobs using the workflow labels shown in the table below ### Standard {% data variables.product.prodname_dotcom %}-hosted runners for {% ifversion ghec %}internal and{% endif %} private repositories -For {% ifversion ghec %}internal and{% endif %} private repositories, jobs using the workflow labels shown in the table below will run on virtual machines with the associated specifications. These runners use your {% data variables.product.prodname_dotcom %} account's allotment of free minutes, and are then charged at the per minute rates. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +For {% ifversion ghec %}internal and{% endif %} private repositories, jobs using the workflow labels shown in the table below will run on virtual machines with the associated specifications. These runners use your {% data variables.product.prodname_dotcom %} account's allotment of free minutes, and are then charged at the per minute rates. See [AUTOTITLE](/billing/reference/actions-minute-multipliers).