diff --git a/.github/actions/test/action.yml b/.github/actions/test/action.yml index 45e6a36..7469627 100644 --- a/.github/actions/test/action.yml +++ b/.github/actions/test/action.yml @@ -33,17 +33,16 @@ runs: path: ${{ inputs.path }} token: ${{ inputs.token }} - - name: Verify executables in PATH on Bash + - name: Verify executables in PATH on bash run: | - if ! hash selene stylua rojo 2>/dev/null; then - exit 1; - fi + command -v selene + command -v stylua + command -v rojo shell: bash - - name: Verify executables in PATH on PowerShell for Windows - if: runner.os == 'Windows' + - name: Verify executables in PATH on pwsh run: | Get-Command "selene" Get-Command "stylua" Get-Command "rojo" - shell: powershell + shell: pwsh diff --git a/.github/workflows/CI.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/CI.yml rename to .github/workflows/test.yml index 50d3625..6b2dc74 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: CI +name: test on: workflow_dispatch: push: diff --git a/CHANGELOG.md b/CHANGELOG.md index ef73443..4cf7c88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## Added +- Add `cache` parameter and cache by default ## [0.3.0] - 2022-09-27 ## Added diff --git a/README.md b/README.md index 84c7fed..3f03e58 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ GitHub action to install and run [aftman](https://github.com/LPGhatguy/aftman); a toolchain manager. ## Usage -This is the most common case and automatically provides all the parameters using the latest released version of `aftman`. +Use the latest released version of `aftman` with default parameters: ```yaml steps: - uses: ok-nick/setup-aftman@v0.3.0 @@ -23,7 +23,8 @@ steps: - uses: ok-nick/setup-aftman@v0.3.0 with: version: v1.0.0 # name of git tag in aftman (uses latest by default) - path: some_directory/my_project # path to project directory containing `aftman.toml` + path: some_dir/my_project # path to project dir containing `aftman.toml` (uses current dir by default) + cache: true # whether to enable binary caching between runs (true by default) token: ${{ github.token }} # GitHub token to bypass rate limit (passed by default) ``` diff --git a/action.yml b/action.yml index fa7e901..d85d7d7 100644 --- a/action.yml +++ b/action.yml @@ -4,23 +4,18 @@ author: ok-nick inputs: version: - description: "`aftman` version in the form `vx.x.x`" - required: false - trust-check: - description: "Whether to check trusts" - deprecationMessage: "Input `trust-check` is no longer used in `setup-aftman`, consider removing it from your configuration" - default: "true" - required: false - trusts: - description: "List of trusted tools separated by spaces" - deprecationMessage: "Input `trusts` is no longer used in `setup-aftman`, consider removing it from your configuration" + description: "`aftman` git tag (usually in the form vx.x.x)" required: false path: description: "Path to the `aftman.toml` directory" default: "." required: false + cache: + description: "Whether to enable caching" + default: "true" + required: false token: - description: "Github token from `github.token`" + description: "GitHub token via `github.token`" default: "${{ github.token }}" required: false @@ -36,9 +31,9 @@ runs: esac gh release download ${{ inputs.version }} --repo LPGhatguy/aftman --pattern $pattern - shell: bash env: GITHUB_TOKEN: ${{ inputs.token }} + shell: bash - name: Install aftman run: | @@ -63,16 +58,23 @@ runs: - name: Set environment variable if: runner.os != 'Windows' - run: echo "$HOME/.aftman/bin" >> $GITHUB_PATH + run: echo "~/.aftman/bin" >> $GITHUB_PATH shell: bash - name: Create auth file run: | - cat > $HOME/.aftman/auth.toml << EOF + cat > ~/.aftman/auth.toml << EOF github = "${{ inputs.token }}" EOF shell: bash + - name: Cache binaries + if: ${{ inputs.cache == 'true' }} + uses: actions/cache@v3 + with: + path: ~/.aftman/bin + key: ${{ runner.os }}-aftman-${{hashFiles(inputs.path)}} + - name: Install tools run: | cd ${{ inputs.path }}