denoland / denoland/setup-deno

Support pr N and other deno upgrade-supported specs in deno-version

Open
#135 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
330
Forks
58
PR merge metrics
No merged PRs in 30d

Description

## Summary

`denoland/setup-deno`'s `deno-version` input only accepts release channels (`latest`, `lts`, `rc`, `canary`), semver ranges, or commit hashes. It does **not** accept the same specs the `deno upgrade` CLI supports, most notably `pr N` (install a specific GitHub PR build).

## Motivation

`deno upgrade` gained a `pr` positional (and `--pr` flag) that installs the CI build of a specific denoland/deno pull request, e.g.:

```
deno upgrade pr 36606
```

This is very useful for validating an unmerged deno fix in your own CI (here: fount, which runs `fount test` / server / shell verification). Without setup-deno support, workflows must work around it by installing `canary` and then running `deno upgrade pr N` as a separate step — the pin then can't be applied at install time.

## Request

Make `deno-version` accept the full set of specs that `deno upgrade` understands, or add a dedicated input (e.g. `deno-upgrade` / `deno-pr`) for these. Concretely, support values like:

- `pr 36606` (PR build)
- any other spec `deno upgrade` accepts

so that:

```yaml
- uses: denoland/setup-deno@v2
with:
deno-version: pr 36606
```

works and installs the PR build directly.

## Additional context

- `deno upgrade` usage: `deno upgrade [OPTIONS] [PR-NUMBER-POSITIONAL]`, plus `--pr `

Thanks for considering it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the deno-version input handling and compare its accepted values with the specs supported by deno upgrade, especially `pr N` and `--pr`. Check how the installer receives and resolves the selected version. Done means a workflow using `deno-version: pr 36606` installs that PR build, while existing channels, ranges, and hashes continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ci-cd, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.