Skip to content

GitHub Action for resolving and installing a specific version of detekt on a GitHub Actions Runner.

License

Notifications You must be signed in to change notification settings

peter-murray/setup-detekt

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Implementation

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.

Change in command line v0.17+

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.

Parameters

  • detekt_version: The version of detekt to download, defaults to 1.18, will be changed match the the latest version in the future
  • add_to_path: A boolean flag indicating whether or not to add detekt to the PATH, defaults to true

Outputs

  • detekt: The path to the detekt executable that was resolved, downloaded and installed into the tool cache

Examples

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

About

GitHub Action for resolving and installing a specific version of detekt on a GitHub Actions Runner.

Resources

License

Stars

Watchers

Forks

Packages

No packages published