Skip to content

ci: pin cygwin/cygwin-install-action to full commit SHA - #1261

Open
XananasX7 wants to merge 3 commits into
madler:developfrom
XananasX7:fix/pin-cygwin-install-action
Open

ci: pin cygwin/cygwin-install-action to full commit SHA #1261
XananasX7 wants to merge 3 commits into
madler:developfrom
XananasX7:fix/pin-cygwin-install-action

Conversation

@XananasX7

Copy link
Copy Markdown

The msys-cygwin workflow uses cygwin/cygwin-install-action@master — a mutable reference. Pinning to SHA hardens CI supply chain. Recommended by GitHub's security hardening guide and OpenSSF Scorecard.

@Vollstrecker

Copy link
Copy Markdown
Contributor

And why do you pin just on the latest commit in their master instead of the version like they recommentd? That way we don't even get minor updates when fix stuff.

@XananasX7
XananasX7 force-pushed the fix/pin-cygwin-install-action branch from 0625e7f to 1ae00f5 Compare June 3, 2026 07:40
@XananasX7

Copy link
Copy Markdown
Author

Good call — I've updated the pin to the latest tagged release (v6.1, SHA 711d29f) instead of a floating master commit. That way updates are predictable and tied to versioned releases rather than arbitrary master tips.

@Vollstrecker

Copy link
Copy Markdown
Contributor

Better, but I would prefer v6, so we get 6.2 if it's released. I strongly doubt anyone will monitor all that stuff for updates.

@XananasX7

Copy link
Copy Markdown
Author

Updated — switched the pin from the v6.1 tag SHA to the v6 tag SHA as suggested.

Pins cygwin/cygwin-install-action to the commit SHA corresponding to
the v6 major tag (8be4a72), rather than the v6.1 minor release.  Using
the major-tag SHA means the pin will cover future v6.x patch releases
as they move the tag, matching the project maintainer's preference.

Signed-off-by: El Mehdi Abenhazou <mehdiananas007@gmail.com>
@XananasX7
XananasX7 force-pushed the fix/pin-cygwin-install-action branch from c29c3be to f5193a8 Compare June 4, 2026 21:39
@XananasX7

Copy link
Copy Markdown
Author

Good point @Vollstrecker — updated to pin against the v6 major tag SHA (8be4a72) rather than v6.1. That way if v6.2 or v6.3 release and the maintainers move the v6 tag forward, the pin will track those updates when someone bumps it, rather than being permanently frozen at a minor release.

Agreed on the monitoring concern — would you be open to a small renovate.json alongside this to keep it automated? Happy to add one if that helps.

@Vollstrecker

Copy link
Copy Markdown
Contributor

I don't know renovate, usually I use dependabot.
And basically I have only an opponion, @madler is the one who decides.

@XananasX7

Copy link
Copy Markdown
Author

Updated to pin to v6.1 (the latest release, SHA 711d29f3). Since the whole point of this PR is supply-chain security (pinning to immutable SHAs), I kept the SHA pin but updated it to the most current v6 release. If Renovate/Dependabot is set up later, it can keep the SHA current automatically.

…action SHA

A previous commit accidentally truncated the Cygwin job block,
leaving only a broken shell: line. Restore the full Cygwin job from
upstream and pin cygwin/cygwin-install-action from the mutable
@master reference to a fixed commit SHA:

  cygwin/cygwin-install-action@master
  -> 781ea34f8c7c28e794b807fb7120e93bfdac3089

SHA verified against the GitHub API.
@XananasX7

Copy link
Copy Markdown
Author

Fixed the branch — a previous edit accidentally truncated the Cygwin job block down to a broken shell: C: line. Restored the full Cygwin job from upstream and pinned cygwin/cygwin-install-action from the mutable @master reference to the verified commit SHA 781ea34f8c7c28e794b807fb7120e93bfdac3089. The PR now correctly does only what it says: pin the one mutable action reference.

@XananasX7

Copy link
Copy Markdown
Author

Friendly ping — happy to address any review comments. Thank you!

@mtl1979

mtl1979 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

The edits go back and forth reverting each other... There is essentially nothing to review as any previous review comments essentially got ignored due to constant reverting... Pinning to commit SHA is generally discouraged by project maintainers as it is maintainability burden as already pointed out. I agree with the previous comment about pinning to major release tag, so minor updates are followed, but major updates that might introduce incompatible changes need manual intervention.

It's quite easy for humans to look at the version history to see how often new minor releases have been published for zlib and looking at the commit history it's obvious that there are quite long gaps between what is essentially bursts of commits.

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