diff --git a/content/actions/security-guides/automatic-token-authentication.md b/content/actions/security-guides/automatic-token-authentication.md index 3f92786d5e7b..dc53582f021b 100644 --- a/content/actions/security-guides/automatic-token-authentication.md +++ b/content/actions/security-guides/automatic-token-authentication.md @@ -77,7 +77,7 @@ For information about the API endpoints {% data variables.product.prodname_githu The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository{% endif %} can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your enterprise, organization, or repository, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)," "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." -| Scope | Default access
(permissive) | Default access
(restricted) | Maximum access for
pull requests from
public forked repositories[†] | +| Scope | Default access
(permissive) | Default access
(restricted) | Maximum access for
pull requests from
public forked repositories [1] | |---------------|-----------------------------|-----------------------------|--------------------------------| | actions | read/write | none | read | | checks | read/write | none | read | @@ -93,7 +93,7 @@ The following table shows the permissions granted to the `GITHUB_TOKEN` by defau | security-events | read/write | none | read | | statuses | read/write | none | read | -[†] Private repositories can control if pull requests from forks can run workflows, and configure the permissions assigned to `GITHUB_TOKEN`. For more information, see "[Managing GitHub Actions settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories)." +[1] Private repositories can control if pull requests from forks can run workflows, and configure the permissions assigned to `GITHUB_TOKEN`. For more information, see "[Managing GitHub Actions settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories)." {% data reusables.actions.workflow-runs-dependabot-note %} diff --git a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md index 7fe6029079d1..64983b02037e 100644 --- a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md +++ b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md @@ -82,9 +82,9 @@ A {% data variables.product.prodname_github_codespaces %} instance (a "codespace | | 8 core | 1 hour | 8 | $0.72 | | | 16 core | 1 hour | 16 | $1.44 | | | 32 core | 1 hour | 32 | $2.88 | -| Codespaces storage | Storage | 1 GB-month* | N/A | $0.07 | +| Codespaces storage | Storage | 1 GB-month [1] | N/A | $0.07 | -* See "[Billing for storage usage](#billing-for-storage-usage)" below for details of the GB-month unit of measure. +[1] See "[Billing for storage usage](#billing-for-storage-usage)" below for details of the GB-month unit of measure. If you enable prebuilding of codespaces this will incur additional charges. For more information, see "[Billing for {% data variables.product.prodname_codespaces %} prebuilds](#billing-for-codespaces-prebuilds)." diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md index 7142934e269c..48e8a7b899ab 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -85,12 +85,12 @@ The recommended formats explicitly define which versions are used for all direct | Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | | NuGet | .NET languages (C#, F#, VB), C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | {%- ifversion github-actions-in-dependency-graph %} -| {% data variables.product.prodname_actions %} workflows[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | +| {% data variables.product.prodname_actions %} workflows [1] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | {%- endif %} | Go modules | Go | `go.sum` | `go.mod`, `go.sum` | | Maven | Java, Scala | `pom.xml` | `pom.xml` | | npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| -| pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | +| pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[2] | {%- ifversion dependency-graph-dart-support %} | pub | Dart | `pubspec.lock` | `pubspec.yaml`, `pubspec.lock` | {%- endif %} @@ -101,11 +101,11 @@ The recommended formats explicitly define which versions are used for all direct | Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | {% ifversion github-actions-in-dependency-graph %} -[†] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} workflows must be located in the `.github/workflows/` directory of a repository to be recognized as manifests. Any actions or workflows referenced using the syntax `jobs[*].steps[*].uses` or `jobs..uses` will be parsed as dependencies. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)." +[1] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} workflows must be located in the `.github/workflows/` directory of a repository to be recognized as manifests. Any actions or workflows referenced using the syntax `jobs[*].steps[*].uses` or `jobs..uses` will be parsed as dependencies. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)." {% endif %} -[‡] If you list your Python dependencies within a `setup.py` file, we may not be able to parse and list every dependency in your project. +[2] If you list your Python dependencies within a `setup.py` file, we may not be able to parse and list every dependency in your project. {% ifversion github-actions-in-dependency-graph %} {% note %} diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md index 7b1a656a5b93..f89ac64c9ee1 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md @@ -29,14 +29,14 @@ The simplest way to use the Dependency submission API is by adding a pre-made ac Ecosystem | Action | Maintained by {% data variables.product.prodname_dotcom %} --- | --- | --- | -Any[†] | [Anchore SBOM Action](https://github.com/marketplace/actions/anchore-sbom-action) | | +Any [1] | [Anchore SBOM Action](https://github.com/marketplace/actions/anchore-sbom-action) | | Go | [Go Dependency Submission](https://github.com/marketplace/actions/go-dependency-submission) | **✓** | Gradle | [Gradle Dependency Submission](https://github.com/marketplace/actions/gradle-dependency-submission) | | Maven | [Maven Dependency Tree Dependency Submission](https://github.com/marketplace/actions/maven-dependency-tree-dependency-submission) | **✓** | Mill | [Mill Dependency Submission](https://github.com/marketplace/actions/mill-dependency-submission) | | Scala | [Sbt Dependency Submission](https://github.com/marketplace/actions/sbt-dependency-submission) | | -[†] This action is ecosystem-agnostic. +[1] This action is ecosystem-agnostic. For example, the following [Go Dependency Submission](https://github.com/actions/go-dependency-submission) workflow calculates the dependencies for a Go build-target (a Go file with a `main` function) and submits the list to the Dependency Submission API. diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md index d894f5b12e4f..4b2ce7d1cefc 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md @@ -163,8 +163,8 @@ In this section, you can find the access required for security features, such as | [View dependency reviews](/code-security/supply-chain-security/about-dependency-review) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** |{% endif %} | [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | | [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **✔️** | **✔️** | **✔️** | -| [View and dismiss {% data variables.secret-scanning.alerts %} in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️** |{% ifversion ghes or ghae or ghec %} -| [Resolve, revoke, or re-open {% data variables.secret-scanning.alerts %}](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️** |{% endif %}{% ifversion ghes or ghae or ghec %} +| [View and dismiss {% data variables.secret-scanning.alerts %} in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️** |{% ifversion ghes or ghae or ghec %} +| [Resolve, revoke, or re-open {% data variables.secret-scanning.alerts %}](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️**{% ifversion not ghae %}[1]{% endif %} | **✔️** |{% endif %}{% ifversion ghes or ghae or ghec %} | [Designate additional people or teams to receive {% data variables.secret-scanning.alerts %}](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories | | | | | **✔️** |{% endif %} [1] Repository writers and maintainers can only see alert information for their own commits. diff --git a/data/reusables/actions/supported-github-runners.md b/data/reusables/actions/supported-github-runners.md index ba5e33c86cf6..6f1b790b0c5d 100644 --- a/data/reusables/actions/supported-github-runners.md +++ b/data/reusables/actions/supported-github-runners.md @@ -51,7 +51,7 @@ Ubuntu 20.04 -Ubuntu 18.04 [deprecated] +Ubuntu 18.04 [deprecated] ubuntu-18.04 @@ -83,7 +83,7 @@ macOS Big Sur 11 -macOS Catalina 10.15 [deprecated] +macOS Catalina 10.15 [deprecated] macos-10.15 diff --git a/data/reusables/dependabot/supported-package-managers.md b/data/reusables/dependabot/supported-package-managers.md index 801dae0e1321..39b771bcecf8 100644 --- a/data/reusables/dependabot/supported-package-managers.md +++ b/data/reusables/dependabot/supported-package-managers.md @@ -9,23 +9,23 @@ Package manager | YAML value | Supported versions | Private repositories | Bundler | `bundler` | v1, v2 | | **✓** | **✓** | Cargo | `cargo` | v1 | **✓** | **✓** | | Composer | `composer` | v1, v2 | **✓** | **✓** | | -Docker {% ifversion dependabot-version-updates-enhanced-docker-support %}[1]{% endif %} | `docker` | v1 | **✓** | **✓** | | +Docker {% ifversion dependabot-version-updates-enhanced-docker-support %}[1]{% endif %} | `docker` | v1 | **✓** | **✓** | | Hex | `mix` | v1 | | **✓** | | elm-package | `elm` | v0.19 | **✓** | **✓** | | git submodule | `gitsubmodule` | N/A (no version) | **✓** | **✓** | | -{% data variables.product.prodname_actions %} [2] | `github-actions` | N/A (no version) | **✓** | **✓** | | +{% data variables.product.prodname_actions %} [2] | `github-actions` | N/A (no version) | **✓** | **✓** | | Go modules | `gomod` | v1 | **✓** | **✓** | **✓** | -Gradle [3] | `gradle` | N/A (no version) | **✓** | **✓** | | -Maven [4] | `maven` | N/A (no version) | **✓** | **✓** | | +Gradle [3] | `gradle` | N/A (no version) | **✓** | **✓** | | +Maven [4] | `maven` | N/A (no version) | **✓** | **✓** | | npm | `npm` | v6, v7, v8 | **✓** | **✓** | | -NuGet | `nuget` | <= 4.8[5] | **✓** | **✓** | | -pip{% ifversion dependabot-PEP621-support %}[6]{% endif %} | `pip` | v21.1.2 | | **✓** | | +NuGet | `nuget` | <= 4.8 [5] | **✓** | **✓** | | +pip{% ifversion dependabot-PEP621-support %} [6]{% endif %} | `pip` | v21.1.2 | | **✓** | | pipenv | `pip` | <= 2021-05-29 | | **✓** | | -pip-compile{% ifversion dependabot-PEP621-support %}[6]{% endif %} | `pip` | 6.1.0 | | **✓** | | +pip-compile{% ifversion dependabot-PEP621-support %} [6]{% endif %} | `pip` | 6.1.0 | | **✓** | | poetry | `pip` | v1 | | **✓** | |{% ifversion fpt or ghec or ghes > 3.4 %} -pub [7] | `pub` | v2 | | | |{% endif %} +pub [7] | `pub` | v2 | | | |{% endif %} Terraform | `terraform` | >= 0.13, <= 1.3.x | **✓** | **✓** | | -{% ifversion dependabot-yarn-v3-update %}yarn | `npm` | v1, v2, v3 | **✓** | **✓** | **✓**[8] |{% else %}yarn | `npm` | v1 | **✓** | **✓** | | +{% ifversion dependabot-yarn-v3-update %}yarn | `npm` | v1, v2, v3 | **✓** | **✓** | **✓**[8] |{% else %}yarn | `npm` | v1 | **✓** | **✓** | | {% endif %} {% tip %} diff --git a/data/reusables/github-ae/saml-idp-table.md b/data/reusables/github-ae/saml-idp-table.md index adb02c09a4fe..27a038c888bb 100644 --- a/data/reusables/github-ae/saml-idp-table.md +++ b/data/reusables/github-ae/saml-idp-table.md @@ -3,6 +3,6 @@ IdP | SAML | User provisioning | Team mapping| --- | --- | ---------------- | --------- | [Azure Active Directory (Azure AD)](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad) | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label="The check icon" %}| {% octicon "check-circle-fill" aria-label="The check icon" %} | -[Okta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta) | {% octicon "check-circle-fill" aria-label="The check icon" %}[Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label="The check icon" %}[Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label= "The check icon" %}[Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams) | +[Okta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta) | {% octicon "check-circle-fill" aria-label="The check icon" %} [Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label="The check icon" %} [Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label= "The check icon" %} [Beta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams) | {% endif %} diff --git a/data/reusables/supported-languages/php.md b/data/reusables/supported-languages/php.md index a6cde8219a6d..7cad81cb97e6 100644 --- a/data/reusables/supported-languages/php.md +++ b/data/reusables/supported-languages/php.md @@ -1 +1 @@ -| PHP {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} +| PHP {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/ruby.md b/data/reusables/supported-languages/ruby.md index 990812d94446..4255c9ea39af 100644 --- a/data/reusables/supported-languages/ruby.md +++ b/data/reusables/supported-languages/ruby.md @@ -1 +1 @@ -| Ruby {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% endif %} +| Ruby {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% endif %} diff --git a/data/reusables/supported-languages/scala.md b/data/reusables/supported-languages/scala.md index 4da351ea793f..17bc760a152b 100644 --- a/data/reusables/supported-languages/scala.md +++ b/data/reusables/supported-languages/scala.md @@ -1 +1 @@ -| Scala {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} +| Scala {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} [1] | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %}