For reference, I come from a Gitlab CI background and all I want is to specify a container, and the CI system should clone my repo in it and run some tests; perhaps optionally allow me to write stuff in a text file that can be displayed on the pull request or the commit (although Gitlab CI doesn't do that AFAIK). Is there something I'm missing due to which GHA architecture is so complicated?
gjtorikian/gh-actions-lockfile@v1
Presumably since it has to run first it must run unpinned?
We use commit hashes to pin actions, have the version as a comment (e.g # v4) and renovate will keep both up to date in the PRs.
And there is a more or less recently added repository setting to require actions to be pinned to hashes.
Pin by hash.
Verify that the actions themselves aren't pulling in unpinned dependencies from Actions, NPM, or elsewhere.
Have a CI job or bot create PRs for new versions. Verify those PRs before merging.
If any particular action becomes a recurring chore or risk, consider if you should keep depending on it.
If you do these things, the "we need a package manager" is moot and most if not all of the concerns in that blog post don't affect you.
Just pin your actions to shasum
They even closed the immutable action issue as a "wont fix" cause you know when it's too hard we all know the best way is to give up. Not like there wasany major security incident this year due to this /s