Awesome
checkout-action
GitHub Action for checking out a repository. (Simplified actions/checkout alternative that does not depend on Node.js.)
Usage
This action currently provides a minimal subset of the features provided by actions/checkout.
The features supported as of v1.0.0 are purely based on my use cases within public repositories, but feel free to submit an issue if you see something missing in your use case. See issues for known unsupported features.
- uses: taiki-e/checkout-action@v1
Almost equivalent to (for public repositories):
- uses: actions/checkout@v4
with:
persist-credentials: false
Why not actions/checkout?
As of 2024-03-08, the latest version of actions/checkout that uses node20 doesn't work on CentOS 7.
Also, in actions/*
actions, each update of the Node.js used increments the major version (it is the correct behavior for compatibility although), so workflows that use it require maintenance on a regular basis. (Unless you have fully automated dependency updates.)
Compatibility
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Fedora, CentOS, Alma, openSUSE, Arch, Alpine, OpenWrt).
On Linux, if any required tools are missing, this action will attempt to install them from distro's package manager, so no pre-setup is usually required (except for CentOS or Debian 9 (or older) or very old distro described below, which was already EoL and needs to use vault/archive repos -- see "Install requirements" in our CI config for example of setup).
On other platforms, at least the following tools are required:
- bash 3.2+
- git 1.8+
Known environments affected by the above version requirements are CentOS 6 (EoL on 2020-11) and Ubuntu 12.04 (EoL on 2017-04) using git 1.7 (see "Install requirements" in our CI config for example of workaround).
Related Projects
- install-action: GitHub Action for installing development tools (mainly from GitHub Releases).
- create-gh-release-action: GitHub Action for creating GitHub Releases based on changelog.
- upload-rust-binary-action: GitHub Action for building and uploading Rust binary to GitHub Releases.
- setup-cross-toolchain-action: GitHub Action for setup toolchains for cross compilation and cross testing for Rust.
- cache-cargo-install-action: GitHub Action for
cargo install
with cache.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.