Home

Awesome

setup-deno

Set up your GitHub Actions workflow with a specific version of Deno.

Usage

Latest stable for a major

- uses: denoland/setup-deno@v2
  with:
    deno-version: v2.x

Latest stable for any major

Targets the latest major, minor and patch version of Deno.

- uses: denoland/setup-deno@v2
  with:
    deno-version: vx.x.x

Specific stable

- uses: denoland/setup-deno@v2
  with:
    deno-version: "1.8.2"

Semver range

- uses: denoland/setup-deno@v2
  with:
    deno-version: "~1.7"

Latest canary

- uses: denoland/setup-deno@v2
  with:
    deno-version: canary

Specific canary

- uses: denoland/setup-deno@v2
  with:
    deno-version: e7b7129b7a92b7500ded88f8f5baa25a7f59e56e

Latest release candidate

- uses: denoland/setup-deno@v2
  with:
    deno-version: rc

Specific release candidate

- uses: denoland/setup-deno@v2
  with:
    deno-version: 2.0.0-rc.1

Version from file

The extension can also automatically read the version file from .tool-versions

- uses: denoland/setup-deno@v2
  with:
    deno-version-file: .tool-versions

The extension can also automatically read the file from dvm.

- uses: denoland/setup-deno@v2
  with:
    deno-version-file: .dvmrc

Specifying binary name

This is useful when you want to install different versions of Deno side by side.

- uses: denoland/setup-deno@v2
  with:
    deno-version: canary
    deno-binary-name: deno_canary

Determining the release channel

You can determine the release channel reading back the release-channel output.

Valid values are stable, canary and rc.

- uses: denoland/setup-deno@v2
  id: deno
  with:
    deno-version: canary

- run: echo "Deno release channel is ${{ steps.deno.outputs.release-channel }}"

Determining the installed version

You can determine the installed version reading back the deno-version output.

For canary versions, the output will be in the form 0.0.0-GIT_HASH.

For stable and rc versions, the output will be the regular semver version number.

- uses: denoland/setup-deno@v2
  id: deno
  with:
    deno-version: canary

- run: echo "Deno version is ${{ steps.deno.outputs.deno-version }}"