# With \`julia-actions/setup-julia\` you can now specify \`lts\` and \`pre\` named versions

**URL:** <https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281>\
**Category:** Tooling\
**Created:** [June 27, 2024, 1:04am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281 "2024-06-27T01:04:59Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Post date:** [June 27, 2024, 1:04am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/1 "2024-06-27T01:04:59Z")

</div>

With the release of [julia-actions/setup-julia v2.2.0](https://github.com/julia-actions/setup-julia/releases/tag/v2.2.0) for GitHub actions it is now possible to use new named version specifiers:

- `'lts'` for the Long Term Support (LTS) julia version (currently v1.6.7)
- `'pre'` for the latest pre-release (currently v1.11.0-rc1)

So a typical test.yml might look like:

```julia
name: CI

on: [push, pull_request]

# needed for julia-actions/cache to delete old caches
permissions:
  actions: write
  contents: read

jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        julia-version:
          - 'lts' # long-term support release
          - '1' # latest stable 1.x release
          - 'pre' # latest stable prerelease
          # - 'nightly'
        os:
          - ubuntu-latest
        include:
          - os: windows-latest
            julia-version: '1'
          - os: macOS-latest
            julia-version: '1'
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v4
    - uses: julia-actions/setup-julia@v2
      with:
        version: ${{ matrix.julia-version }}
    - uses: julia-actions/cache@v2
    - uses: julia-actions/julia-buildpkg@v1
    - uses: julia-actions/julia-runtest@v1

```

N.B. some choose to include `nightly`, but because GitHub actions doesn’t currently support allowed failures it can be a little noisy/distracting. The new `'pre'` option serves as a less eager way to stay on top of testing with upcoming versions.

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [June 27, 2024, 11:07am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/2 "2024-06-27T11:07:20Z")

</div>

What happens when there are no pre releases?

---

<div class="post-metadata">

**Author:** ![cjdoris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cjdoris/32/213133_2.png) [@cjdoris](https://discourse.julialang.org/u/cjdoris)\
**Post date:** [June 27, 2024, 10:06pm UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/3 "2024-06-27T22:06:45Z")

</div>

What counts as a pre release? Alpha? Beta? RC?

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [June 28, 2024, 6:40am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/4 "2024-06-28T06:40:13Z")

</div>

The latest release of PkgTemplates.jl replaces `"nightly"` with `"pre"` in the default CI configuration

---

<div class="post-metadata">

**Author:** ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Post date:** [June 28, 2024, 3:06pm UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/5 "2024-06-28T15:06:47Z")

</div>

It returns the highest release including prereleases, so if there’s no prerelease beyond the current stable then you’ll get the current stable. That’s usually a relatively brief period

---

<div class="post-metadata">

**Author:** ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Post date:** [June 28, 2024, 3:06pm UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/6 "2024-06-28T15:06:57Z")

</div>

Correct

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [September 20, 2024, 9:25am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/7 "2024-09-20T09:25:23Z")

</div>

> `- '1' # latest stable 1.x release`

I would like this to be the latest **stable** release, but it [doesn’t look like it](https://github.com/JuliaFolds2/ChunkSplitters.jl/actions/runs/10956612974/job/30423024061?pr=48#step:3:12) (I get 1.11.0-rc3)? What am I missing/doing wrong?

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [September 20, 2024, 10:21am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/8 "2024-09-20T10:21:03Z")

</div>

That looks like a recent bug in the workflow, you may want to open an issue about that.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [September 20, 2024, 10:28am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/9 "2024-09-20T10:28:53Z")

</div>

> <https://github.com/julia-actions/setup-julia/issues/283>
>
> AFAIU, the version specifier '1' should give that latest \*\*stable\*\* 1.x release,… i.e. 1.10 at the point of writing this. However, it doesn't but it currently gives the pre-release 1.11-rc3, see \[here\](https://github.com/JuliaFolds2/ChunkSplitters.jl/actions/runs/10956612974/job/30423024061?pr=48#step:3:12).
> 
> Related discussion on discourse: https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/7?u=carstenbauer

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [September 20, 2024, 11:02am UTC](https://discourse.julialang.org/t/with-julia-actions-setup-julia-you-can-now-specify-lts-and-pre-named-versions/116281/10 "2024-09-20T11:02:56Z")

</div>

Nevermind, it was a mistake in my ci config.
