GitHub Action
Setup detekt
This is a GitHub Action that will resolve and install a specific version of detekt on to a GitHub Actions Runner if not already present in the tool cache.
It will provide an output of the path to the tool, as well as optionally add it to the PATH for you.
The action supports and is tested on Windows, Ubuntu and MacOS.
This action utilizes the GitHub Actions tool cache functionality so that when downloading version of detekt from https://github.com/detekt/detekt they are cached for re-use to prevent unnecessary downloading if already retrieved in another job.
The Action will process the releases from the https://github.com/detekt/detekt repository, showing only versions that provide
the detekt
file asset in the releases.
Since version 0.17 and greater the release bundles for detekt were changed to move to a CLI provided zip file instead of a completely self-contained binary.
When using versions 0.17+
of detekt, this action will download and wire the CLI bundle in to the PATH via the GitHub Actions tool-cache and as such the
executable that you need to call is detekt-cli
and not detekt
as is was in previous versions.
detekt_version
: The version of detekt to download, defaults to1.18
, will be changed match the the latest version in the futureadd_to_path
: A boolean flag indicating whether or not to add detekt to the PATH, defaults totrue
detekt
: The path to the detekt executable that was resolved, downloaded and installed into the tool cache
Setup detekt version 1.20
and then invoke it.
name: Install detekt
on:
workflow_dispatch:
jobs:
detekt:
runs-on: ubuntu-latest
steps:
- name: Setup detekt
uses: peter-murray/setup-detekt@v2
with:
detekt_version: 1.20
- name: Run detekt
run: detekt-cli --version
Setup detekt version 1.18
but not put it on the PATH, and then invoke it.
name: Install detekt
on:
workflow_dispatch:
jobs:
detekt:
runs-on: ubuntu-latest
steps:
- name: Setup detekt
uses: peter-murray/setup-detekt@v2
with:
detekt_version: 1.18
add_to_path: false
- name: Run detekt
run: ${{ steps.setup_detekt.outputs.detekt }}/detekt-cli --version
Note, on Windows runners you would need to use detekt-cli.bat
instead of detekt-cli
above.
Setup detekt version 1.15
, not installing it on the PATH and then invoking it via reference (this is an executable release version)
name: Install detekt
on:
workflow_dispatch:
jobs:
detekt:
runs-on: ubuntu-latest
steps:
- name: Setup detekt
id: setup_detekt
uses: peter-murray/setup-detekt@v2
with:
detekt_version: v0.15
add_to_path: false
- name: Run detekt
run: ${{ steps.setup_detekt.outputs.detekt }} --version