Visitar URL original
ci: Hash-pin GitHub Actions by konstin · Pull Request #6470 · PyO3/pyo3 · GitHub
Skip to content

ci: Hash-pin GitHub Actions - #6470

Merged
davidhewitt merged 1 commit into
mainfrom
konsti/pinact
Oct 6, 2026
Merged

davidhewitt merged 1 commit into
mainfrom
konsti/pinact

Conversation

@konstin

@konstin konstin commented Sep 29, 2026

Copy link
Copy Markdown
Member

The tags that GitHub Actions use are malleable, an attacker that has control over the action repo can change them. Using hashes prevents an attack to another repo from also taking over pyo3.

This change was made by pinact run. The actions that couldn't be pinned will be pinned in a follow-up PR.

The tags that GitHub Actions use are malleable, an attacker that has control over the action repo can change them. Using hashes prevents an attack to another repo from also taking over pyo3.

This change was made by `pinact run`. The actions that couldn't be pinned will be pinned in a follow-up PR.
@davidhewitt

Copy link
Copy Markdown
Member

Thanks, I think we should enforce this with a CI job which runs pinact run --check before merging.

@Tpt

Tpt commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

#6473 does it with zizmor that also enforces hash pinning

@davidhewitt

Copy link
Copy Markdown
Member

Right, understood. Thank you

@davidhewitt
davidhewitt added this pull request to the merge queue Oct 6, 2026
@davidhewitt

Copy link
Copy Markdown
Member

Just for due diligence sake, I locally verified the version tags were valid with pinact run --verify, let's proceed to merge this.

Merged via the queue into main with commit b337cba Oct 6, 2026
51 of 52 checks passed
@davidhewitt
davidhewitt deleted the konsti/pinact branch October 6, 2026 06:53
konstin added a commit that referenced this pull request Oct 7, 2026
On top of #6470, migrating over the remaining actions. The preinstalled `rustup` replaces the install action and `uv publish` avoids using `pypa/gh-action-pypi-publish@release/v1`.

The `CARGO_INCREMENTAL` and `CARGO_TERM_COLOR` values used to be set by the install action.
konstin added a commit that referenced this pull request Oct 7, 2026
On top of #6470, migrating over the remaining actions. The preinstalled `rustup` replaces the install action and `uv publish` avoids using `pypa/gh-action-pypi-publish@release/v1`.

The `CARGO_INCREMENTAL` and `CARGO_TERM_COLOR` values used to be set by the install action.
konstin added a commit that referenced this pull request Oct 7, 2026
On top of #6470, migrating over the remaining actions. The preinstalled `rustup` replaces the install action and `uv publish` avoids using `pypa/gh-action-pypi-publish@release/v1`.

The `CARGO_INCREMENTAL` and `CARGO_TERM_COLOR` values used to be set by the install action.
Person-93 pushed a commit to Person-93/pyo3 that referenced this pull request Oct 7, 2026
* ci: Migrate remaining GitHub Actions to Hash-pinning

On top of PyO3#6470, migrating over the remaining actions. The preinstalled `rustup` replaces the install action and `uv publish` avoids using `pypa/gh-action-pypi-publish@release/v1`.

The `CARGO_INCREMENTAL` and `CARGO_TERM_COLOR` values used to be set by the install action.

* Remove `CARGO_INCREMENTAL: 0`

Not necessary anymore, see rust-lang/cargo#17220
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants