#github-action #step #resolve #sha #version #checkout #git-ref

app actions-digest

Resolve GitHub Action steps from git-ref to commit-sha

5 releases

0.2.2 Mar 2, 2022
0.2.1 Dec 22, 2021
0.2.0 Dec 19, 2021
0.1.1 Dec 18, 2021
0.1.0 Dec 17, 2021

#1444 in Cryptography

MIT license

22KB
251 lines

actions-digest

A command-line utility to resolve GitHub Action steps from git-ref actions/checkout@v2 to commit-sha actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579, written in Rust.

Using the commit SHA of a released action version is the safest for stability and security.

Source: GitHub Documentation

Usage

Please mind that actions-digest is in its infancy and very limited. Once run, it can currently not update the workflow files with newer versions of the steps it first digested.

By default, actions-digest will write the data to stdout and its logs to stderr:

actions-digest workflow.yaml

To replace the workflow file in-place:

actions-digest workflow.yaml | sponge workflow.yaml

sponge is part of moreutils. It soaks up standard input to write it to a file.

If you want to keep a resolve log, write stderr to a file like so:

actions-digest workflow.yaml 2> workflow.yaml.log | sponge workflow.yaml

To avoid running into GitHub API rate-limiting quickly, use a Personal Access Token (PAT):

export GITHUB_TOKEN=<PAT>

# or use -t|--github-token

actions-digest --github-token <PAT> workflow.yaml

Installation

From Source

Actions digest is written in Rust. If you have its toolchain installed, you can run this command to install:

Latest Release

cargo install actions-digest

Latest Development Release

cargo install --git 'https://github.com/hendrikmaus/actions-digest' --branch main

To uninstall, use cargo uninstall <name>.

License

This project is released under the terms of the MIT license.

Dependencies

~10–25MB
~410K SLoC