setup-deno icon indicating copy to clipboard operation
setup-deno copied to clipboard

Support Deno canary channel

Open zhmushan opened this issue 3 years ago • 8 comments

From https://github.com/denolib/setup-deno/issues/47#issuecomment-736301440

steps:
  - uses: denolib/setup-deno@v3
    with:
      deno-version: 973af61d8bb03c1709f61e456581d58386ed4952
      deno-canary: true

zhmushan avatar Dec 02 '20 07:12 zhmushan

It seems that deno-canary is redundant

We can check whether it is a hash from deno-version

steps:
  - uses: denolib/setup-deno@v3
    with:
      deno-version: 973af61d8bb03c1709f61e456581d58386ed4952
-      deno-canary: true

axetroy avatar Dec 02 '20 08:12 axetroy

If deno-canary is set, users can omit deno-version to get the latest canary release

zhmushan avatar Dec 02 '20 08:12 zhmushan

you can also do: set deno-version to canary to get latest canary. similar to nightly.

edit: typo

maximousblk avatar Dec 03 '20 12:12 maximousblk

I would prefer that actually.

steps:
  - uses: denolib/setup-deno@v3
    with:
      deno-version: canary
steps:
  - uses: denolib/setup-deno@v3
    with:
      deno-version: 973af61d8bb03c1709f61e456581d58386ed4952

lucacasonato avatar Dec 08 '20 14:12 lucacasonato

I personally prefer not to bring any BREAKING CHANGES.

I want users to always use v2.

Especially this PR(https://github.com/actions/starter-workflows/pull/604) have been merged.

steps:
  - uses: denolib/setup-deno@v2
    with:
      deno-version: canary
      # canary = nightly
      # deno-version: nightly
      # deno-version: <HASH>

Just need to do two things

  1. Support HASH
  2. Use nightly as an alias for canary, and it is no longer recommended in the document, and output a warning when using.

axetroy avatar Dec 10 '20 14:12 axetroy

I don't think keeping the version at v2 would help with https://github.com/actions/starter-workflows/pull/604 as it is locked to a commit hash rather than a tag.

I'd suggest go forward with the breaking change and even phase out nightly altogether as it was a temporary solution until there was an official solution, which there is now - canaries. My nightly solution is prone to breaking and has some builds missing because of refactors in Deno's code that I didn't catch in time. the reason setup-deno didn't break was that I had a latest tag which would always have the latest available build even if the workflow breaks.

imo v3 should be:


# Latest version
- uses: denolib/setup-deno@v3

# Latest version in a range
- uses: denolib/setup-deno@v3
  with:
    version: 1.5 # (resolve to 1.5.4)

# Locked version
- uses: denolib/setup-deno@v3
  with:
    version: 1.5.4

# Latest canary
- uses: denolib/setup-deno@v3
  with:
    version: canary

# Locked canary
- uses: denolib/setup-deno@v3
  with:
    version: 5f05e1783e9f08d1be4b71f2099601458da78dcd

maximousblk avatar Dec 10 '20 15:12 maximousblk

I agree with Axetroy's view that nightly will be an alias for canary. In addition, we also need to update the version of setup-deno in starter-workflows to prevent the unofficial nightly mirror breaking

zhmushan avatar Dec 10 '20 15:12 zhmushan

starter-workflows is not accepting changes and won't for a while.

Ref: https://github.com/actions/starter-workflows/issues/631

maximousblk avatar Dec 10 '20 15:12 maximousblk