Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repo sync #34815

Merged
merged 43 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
57210d6
fix error
mchammer01 Sep 6, 2024
af36359
a lot more changes
mchammer01 Sep 6, 2024
2c1386c
a few more changes
mchammer01 Sep 6, 2024
02358a5
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 6, 2024
17c84b1
Merge branch 'mchammer01/dependency-graph-ecosystem-support' of githu…
mchammer01 Sep 6, 2024
6b7a597
fix more liiiiiinks
mchammer01 Sep 6, 2024
8555a71
argh
mchammer01 Sep 6, 2024
6251dec
tidy up a bit
mchammer01 Sep 6, 2024
6dcb546
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 6, 2024
a16ad39
add reusable for dependency graph overview
mchammer01 Sep 6, 2024
8445df2
Merge branch 'mchammer01/dependency-graph-ecosystem-support' of githu…
mchammer01 Sep 6, 2024
b8a134b
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
felicitymay Sep 23, 2024
a302a8f
Complete the merge conflict resolution
felicitymay Sep 23, 2024
cc42ba2
Update data/reusables/dependency-submission/api-premade-actions.md
am-stead Sep 23, 2024
4aa6334
Update content/code-security/supply-chain-security/understanding-your…
am-stead Sep 23, 2024
4814395
fix linter failure
mchammer01 Sep 26, 2024
d376c46
remove TODO
mchammer01 Sep 26, 2024
49654d2
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 26, 2024
3a14c3a
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 26, 2024
8dcc3b6
add note
mchammer01 Sep 27, 2024
2a78c24
Merge branch 'mchammer01/dependency-graph-ecosystem-support' of githu…
mchammer01 Sep 27, 2024
1e26d56
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 27, 2024
cad2bad
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Sep 30, 2024
a78cc99
Update content/code-security/dependabot/working-with-dependabot/troub…
mchammer01 Sep 30, 2024
31bbc47
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Sep 30, 2024
76afcd3
address some comments
mchammer01 Sep 30, 2024
faa28f3
Merge branch 'mchammer01/dependency-graph-ecosystem-support' of githu…
mchammer01 Sep 30, 2024
6a0de15
and address more comments
mchammer01 Sep 30, 2024
8b0684e
move new article and update links to it
mchammer01 Sep 30, 2024
66bc9a3
forgot to delete the file in its old location
mchammer01 Sep 30, 2024
2df7110
polish
mchammer01 Sep 30, 2024
0915fd1
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Oct 1, 2024
9192b46
Update content/code-security/dependabot/working-with-dependabot/troub…
mchammer01 Oct 1, 2024
ec8a5a0
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Oct 1, 2024
0e5b990
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Oct 1, 2024
e1f75c3
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Oct 1, 2024
1924b65
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Oct 1, 2024
4ee9d97
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Oct 1, 2024
3c767bc
Removes ce reference to dot com copilot given CB also manages this po…
eshwer Oct 2, 2024
4399e32
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Oct 2, 2024
eadf00c
Merge branch 'main' into mchammer01/dependency-graph-ecosystem-support
mchammer01 Oct 2, 2024
ee6454f
Update content/code-security/supply-chain-security/understanding-your…
mchammer01 Oct 2, 2024
a7f62cd
Merge pull request #52244 from github/mchammer01/dependency-graph-eco…
mchammer01 Oct 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ If your code depends on a package with a security vulnerability, this can cause

{% data reusables.repositories.dependency-review %}

As {% data variables.product.prodname_dependabot_alerts %} rely on the dependency graph, the ecosystems that are supported by {% data variables.product.prodname_dependabot_alerts %} are the same as those supported by the dependency graph. For a list of these ecosystems, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)."
As {% data variables.product.prodname_dependabot_alerts %} rely on the dependency graph, the ecosystems that are supported by {% data variables.product.prodname_dependabot_alerts %} are the same as those supported by the dependency graph. For a list of these ecosystems, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)."

{% note %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,4 @@ updates:

* "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)"
* "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts)"
* "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)"
* "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)"
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ topics:

## Why don't I get {% data variables.product.prodname_dependabot_alerts %} for some ecosystems?

{% data variables.product.prodname_dependabot_alerts %} are supported for a set of ecosystems where we can provide high-quality, actionable data. Curated advisories in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot_alerts %} are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)."
{% data variables.product.prodname_dependabot_alerts %} are supported for a set of ecosystems where we can provide high-quality, actionable data. Curated advisories in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot_alerts %} are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. For an overview of the package ecosystems that we support for {% data variables.product.prodname_dependabot_alerts %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)."

It's worth noting that security advisories may exist for other ecosystems. The information in an unreviewed security advisory is provided by the maintainers of a particular repository. This data is not curated by {% data variables.product.prodname_dotcom %}. {% data reusables.security-advisory.link-browsing-advisory-db %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For more information about configuring dependency review, see "[AUTOTITLE](/code

{% data variables.product.prodname_dependabot_alerts %} will find vulnerabilities that are already in your dependencies, but it's much better to avoid introducing potential problems than to fix problems at a later date. For more information about {% data variables.product.prodname_dependabot_alerts %}, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#dependabot-alerts-for-vulnerable-dependencies)."

Dependency review supports the same languages and package management ecosystems as the dependency graph. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)."
Dependency review supports the same languages and package management ecosystems as the dependency graph. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)."

For more information on supply chain features available on {% data variables.product.product_name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)."

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ shortTitle: Dependency graph

{% data reusables.dependabot.about-the-dependency-graph %}

When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt or ghec %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below.
When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt or ghec %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %}

For information on the supported ecosystems and manifest files, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)."

{% data reusables.dependency-submission.dependency-submission-link %}

Expand Down Expand Up @@ -69,45 +71,6 @@ You can use the dependency graph to:
* View and update vulnerable dependencies for your repository. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)."
* See information about vulnerable dependencies in pull requests. For more information, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)."

## Supported package ecosystems

The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt or ghec %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.{% endif %}

| Package manager | Languages | Recommended formats | All supported formats |
| --- | --- | --- | ---|
| Cargo | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` |
| 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` |
| {% data variables.product.prodname_actions %} workflows | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` |
| Go modules | Go | `go.mod`| `go.mod` |
| 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` |
| {% ifversion dependabot-dependency-graph-pnpm %} |
| pnpm | JavaScript | `pnpm-lock.yaml` | `package.json`, `pnpm-lock.yaml` |
| {% endif %} |
| pub | Dart | `pubspec.lock` | `pubspec.yaml`, `pubspec.lock` |
| Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` |
| RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` |
| Swift Package Manager | Swift | `Package.resolved` | `Package.resolved` |
| Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` |

{% note %}

**Notes:**

* 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.

* {% 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.<job_id>.uses` will be parsed as dependencies. For more information, see "[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions)."

* {% data reusables.dependabot.dependabot-alert-actions-semver %} For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" and "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates)."

{% endnote %}

You can use the {% data variables.dependency-submission-api.name %} to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. {% data reusables.dependency-graph.dependency-submission-API-short %}

You will only get {% data variables.product.prodname_dependabot_alerts %} for dependencies that are from one of the [supported ecosystems](https://github.com/github/advisory-database#supported-ecosystems) of the {% data variables.product.prodname_advisory_database %}. For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)."

## Further reading

* "[Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph)" on Wikipedia
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: Dependency graph supported package ecosystems
shortTitle: Dependency graph ecosystem support # Max 31 characters
intro: 'Dependency graph supports a variety of ecosystems.'
allowTitleToDifferFromFilename: true
type: reference
topics:
- Dependency graph
- Dependencies
- Alerts
- Vulnerabilities
- Repositories
versions:
fpt: '*'
ghec: '*'
ghes: '*'
---

## About the dependency graph

{% data reusables.dependabot.about-the-dependency-graph %} For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)."

In this article, you can see what the supported ecosystems are.

## Supported package ecosystems

The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt or ghec %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.{% endif %}

{% data reusables.dependency-graph.supported-package-ecosystems %}

{% ifversion maven-transitive-dependencies %}

For ecosystems that resolve transitive dependencies at build-time, we recommend configuring dependency submission to automatically submit these dependencies to the dependency graph. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository)."

{% endif %}

## Package ecosystems supported via dependency submission actions

You can use the {% data variables.dependency-submission-api.name %} to add build-time dependencies to the dependency graph, or to add dependencies from package managers and ecosystems of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. Dependency information from these submitted dependencies will, in turn, flow into {% data variables.product.prodname_dependabot_updates %} and {% data variables.product.prodname_dependabot_alerts %}.

{% data reusables.dependency-graph.dependency-submission-API-short %} For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)."

You typically use the {% data variables.dependency-submission-api.name %} in a {% data variables.product.prodname_actions %} workflow to submit dependencies for your project when your project is built. {% data reusables.dependency-submission.api-premade-actions %} You can find links to the currently available actions in the table below.

{% data reusables.dependency-submission.premade-action-table %}

You can also create your own action. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api#creating-your-own-action)."
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

## Viewing the dependency graph

The dependency graph shows the dependencies{% ifversion fpt or ghec %} and dependents{% endif %} of your repository. {% ifversion dependency-graph-repository-view-update %} {% data reusables.dependency-graph.repository-view-update %}{% endif %} For information about the detection of dependencies and which ecosystems are supported, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)."
The dependency graph shows the dependencies{% ifversion fpt or ghec %} and dependents{% endif %} of your repository. {% ifversion dependency-graph-repository-view-update %} {% data reusables.dependency-graph.repository-view-update %}{% endif %} For information about the detection of dependencies and which ecosystems are supported, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems)."

{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.accessing-repository-graphs %}
Expand Down Expand Up @@ -91,7 +91,7 @@

The "Used by" section shows the number of public references to the package that were found, and displays the avatars of some of the owners of the dependent projects.

![Screenshot of the "Used by" section for a repository. To the right of the "Used by" header is "13.4m." Under the header are 8 avatars and "+13,435,819."](/assets/images/help/repository/used-by-section.png)

Check warning on line 94 in content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md

View workflow job for this annotation

GitHub Actions / lint-content

Images alternate text should be between 40-150 characters

Image alternate text is 152 characters long.

Clicking any item in this section takes you to the **Dependents** tab of the dependency graph.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ shortTitle: Understand your supply chain
children:
- /about-supply-chain-security
- /about-the-dependency-graph
- /dependency-graph-supported-package-ecosystems
- /configuring-the-dependency-graph
- /configuring-automatic-dependency-submission-for-your-repository
- /exporting-a-software-bill-of-materials-for-your-repository
Expand Down
Loading
Loading