Set up your GitHub Actions workflow with a specific version of Deno.
The installed version is v2.x by default.
- uses: denoland/setup-deno@v2To pick the latest version of specific release channel, set deno-version to
one of the following:
| Channel | Description |
|---|---|
stable |
Latest Stable release version |
lts |
Latest Long-Term-Support version |
rc |
Latest Release-Candidate version |
canary |
Latest Canary release version |
- uses: denoland/setup-deno@v2
with:
deno-version: ltsA version can also be selected by providing a valid Semver range or commit hash.
Examples
- Specific versions:
"1.8.2",2.0.0-rc.1 - Semver range:
"^2","~1.7",v2.1.x,vx.x.x - Commit hash:
e7b7129b7a92b7500ded88f8f5baa25a7f59e56e
- uses: denoland/setup-deno@v2
with:
deno-version: v2.1.xThe extension can also automatically read the version file from
.tool-versions
- uses: denoland/setup-deno@v2
with:
deno-version-file: .tool-versionsThe extension can also automatically read the file from
dvm.
- uses: denoland/setup-deno@v2
with:
deno-version-file: .dvmrcThis 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_canaryYou can determine the release channel reading back the release-channel output.
Valid values are stable, lts, 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 }}"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 }}"Dependencies installed by Deno can be cached automatically between workflow runs. This helps make your GH action run faster by not repeating caching work and network requests done by a previous run.
To enable the cache, use cache: true.
- uses: denoland/setup-deno@v2
with:
cache: trueWarning
If an environment variable DENO_DIR is set for steps that run/download
dependencies, then DENO_DIR must also be set for the denoland/setup-deno
action, for the caching to work as intended.
By default, the cache is automatically keyed by:
- the github job_id
- the runner os and architecture
- a hash of the
deno.lockfiles in the project
It is possible to customize the default hash
(${{ hashFiles('**/deno.lock') }}) used as part of the cache key via the
cache-hash input.
- uses: denoland/setup-deno@v2
with:
# setting `cache-hash` implies `cache: true` and will replace
# the default cache-hash of `${{ hashFiles('**/deno.lock') }}`
cache-hash: ${{ hashFiles('**/deno.json') }}