From ca45ec3f5855d88df81d141f6bbe87cf96aa7ede Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Fri, 2 Jan 2026 12:18:35 +0100 Subject: [PATCH 1/2] Remove broken GHC 9.12.3 --- README.md | 3 +-- dist/index.js | 2 +- lib/versions.json | 1 - src/versions.json | 1 - 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1b31d63..6a41d4e 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,7 @@ E.g., `8.10` will be resolved to `8.10.7`, and so will `8`. - `latest-nightly` (requires the resp. `ghcup-release-channel`, e.g. `https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml`) - `latest` (default) - `9.14.1` `9.14` -- `9.12.3` `9.12` -- `9.12.2` +- `9.12.2` `9.12` - `9.12.1` - `9.10.3` `9.10` - `9.10.2` diff --git a/dist/index.js b/dist/index.js index 8668052..4203269 100644 --- a/dist/index.js +++ b/dist/index.js @@ -37745,7 +37745,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"win32":{"ghc":[{"from":"9.4.3","to": /***/ ((module) => { "use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"ghc":["9.14.1","9.12.3","9.12.2","9.12.1","9.10.3","9.10.2","9.10.1","9.8.4","9.8.2","9.8.1","9.6.7","9.6.6","9.6.5","9.6.4","9.6.3","9.6.2","9.6.1","9.4.8","9.4.7","9.4.6","9.4.5","9.4.4","9.4.3","9.4.2","9.4.1","9.2.8","9.2.7","9.2.6","9.2.5","9.2.4","9.2.3","9.2.2","9.2.1","9.0.2","9.0.1","8.10.7","8.10.6","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.8.4","8.8.3","8.8.2","8.8.1","8.6.5","8.6.4","8.6.3","8.6.2","8.6.1","8.4.4","8.4.3","8.4.2","8.4.1","8.2.2","8.0.2","7.10.3"],"cabal":["3.16.1.0","3.16.0.0","3.14.2.0","3.14.1.1","3.14.1.0","3.12.1.0","3.10.3.0","3.10.2.1","3.10.2.0","3.10.1.0","3.8.1.0","3.6.2.0","3.6.0.0","3.4.1.0","3.4.0.0","3.2.0.0","3.0.0.0","2.4.1.0"],"stack":["3.7.1","3.5.1","3.3.1","3.1.1","2.15.7","2.15.5","2.15.3","2.15.1","2.13.1","2.11.1","2.9.3","2.9.1","2.7.5","2.7.3","2.7.1","2.5.1","2.3.3","2.3.1","2.1.3","2.1.1","1.9.3","1.9.1","1.7.1","1.6.5","1.6.3","1.6.1","1.5.1","1.5.0","1.4.0","1.3.2","1.3.0","1.2.0"],"ghcup":["0.1.50.2"]}'); +module.exports = /*#__PURE__*/JSON.parse('{"ghc":["9.14.1","9.12.2","9.12.1","9.10.3","9.10.2","9.10.1","9.8.4","9.8.2","9.8.1","9.6.7","9.6.6","9.6.5","9.6.4","9.6.3","9.6.2","9.6.1","9.4.8","9.4.7","9.4.6","9.4.5","9.4.4","9.4.3","9.4.2","9.4.1","9.2.8","9.2.7","9.2.6","9.2.5","9.2.4","9.2.3","9.2.2","9.2.1","9.0.2","9.0.1","8.10.7","8.10.6","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.8.4","8.8.3","8.8.2","8.8.1","8.6.5","8.6.4","8.6.3","8.6.2","8.6.1","8.4.4","8.4.3","8.4.2","8.4.1","8.2.2","8.0.2","7.10.3"],"cabal":["3.16.1.0","3.16.0.0","3.14.2.0","3.14.1.1","3.14.1.0","3.12.1.0","3.10.3.0","3.10.2.1","3.10.2.0","3.10.1.0","3.8.1.0","3.6.2.0","3.6.0.0","3.4.1.0","3.4.0.0","3.2.0.0","3.0.0.0","2.4.1.0"],"stack":["3.7.1","3.5.1","3.3.1","3.1.1","2.15.7","2.15.5","2.15.3","2.15.1","2.13.1","2.11.1","2.9.3","2.9.1","2.7.5","2.7.3","2.7.1","2.5.1","2.3.3","2.3.1","2.1.3","2.1.1","1.9.3","1.9.1","1.7.1","1.6.5","1.6.3","1.6.1","1.5.1","1.5.0","1.4.0","1.3.2","1.3.0","1.2.0"],"ghcup":["0.1.50.2"]}'); /***/ }) diff --git a/lib/versions.json b/lib/versions.json index e8a0894..0bc4113 100644 --- a/lib/versions.json +++ b/lib/versions.json @@ -1,7 +1,6 @@ { "ghc": [ "9.14.1", - "9.12.3", "9.12.2", "9.12.1", "9.10.3", diff --git a/src/versions.json b/src/versions.json index 07a3093..c7838bb 100644 --- a/src/versions.json +++ b/src/versions.json @@ -1,7 +1,6 @@ { "ghc": [ "9.14.1", - "9.12.3", "9.12.2", "9.12.1", "9.10.3", From 57571745c639e06be44b0a6a5874b874eb8ba392 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Fri, 2 Jan 2026 12:27:40 +0100 Subject: [PATCH 2/2] Move all ghcup-add-channel commands into same group --- dist/index.js | 15 ++++++++------- lib/setup-haskell.js | 15 ++++++++------- src/setup-haskell.ts | 18 ++++++++---------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/dist/index.js b/dist/index.js index 4203269..9f6fbdb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -35715,13 +35715,14 @@ async function run(inputs) { core.debug(`run: inputs = ${JSON.stringify(inputs)}`); core.debug(`run: os = ${JSON.stringify(os)}`); core.debug(`run: opts = ${JSON.stringify(opts)}`); - // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 - // Add ghcup vanilla and prereleases channels by default. - (0, installer_1.addGhcupReleaseChannel)('vanilla', os, arch); - (0, installer_1.addGhcupReleaseChannel)('prereleases', os, arch); - if (opts.ghcup.releaseChannel) { - await core.group(`Preparing ghcup environment`, async () => (0, installer_1.addGhcupReleaseChannel)(opts.ghcup.releaseChannel.toString(), os, arch)); - } + await core.group(`Preparing ghcup environment`, async () => { + // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 + // Add ghcup vanilla and prereleases channels by default. + (0, installer_1.addGhcupReleaseChannel)('vanilla', os, arch); + (0, installer_1.addGhcupReleaseChannel)('prereleases', os, arch); + if (opts.ghcup.releaseChannel) + (0, installer_1.addGhcupReleaseChannel)(opts.ghcup.releaseChannel.toString(), os, arch); + }); for (const [t, { resolved }] of Object.entries(opts).filter(o => o[1].enable)) { await core.group(`Preparing ${t} environment`, async () => (0, installer_1.resetTool)(t, resolved, os, arch)); await core.group(`Installing ${t} version ${resolved}`, async () => (0, installer_1.installTool)(t, resolved, os, arch)); diff --git a/lib/setup-haskell.js b/lib/setup-haskell.js index 48a6b43..432afb6 100644 --- a/lib/setup-haskell.js +++ b/lib/setup-haskell.js @@ -73,13 +73,14 @@ async function run(inputs) { core.debug(`run: inputs = ${JSON.stringify(inputs)}`); core.debug(`run: os = ${JSON.stringify(os)}`); core.debug(`run: opts = ${JSON.stringify(opts)}`); - // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 - // Add ghcup vanilla and prereleases channels by default. - (0, installer_1.addGhcupReleaseChannel)('vanilla', os, arch); - (0, installer_1.addGhcupReleaseChannel)('prereleases', os, arch); - if (opts.ghcup.releaseChannel) { - await core.group(`Preparing ghcup environment`, async () => (0, installer_1.addGhcupReleaseChannel)(opts.ghcup.releaseChannel.toString(), os, arch)); - } + await core.group(`Preparing ghcup environment`, async () => { + // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 + // Add ghcup vanilla and prereleases channels by default. + (0, installer_1.addGhcupReleaseChannel)('vanilla', os, arch); + (0, installer_1.addGhcupReleaseChannel)('prereleases', os, arch); + if (opts.ghcup.releaseChannel) + (0, installer_1.addGhcupReleaseChannel)(opts.ghcup.releaseChannel.toString(), os, arch); + }); for (const [t, { resolved }] of Object.entries(opts).filter(o => o[1].enable)) { await core.group(`Preparing ${t} environment`, async () => (0, installer_1.resetTool)(t, resolved, os, arch)); await core.group(`Installing ${t} version ${resolved}`, async () => (0, installer_1.installTool)(t, resolved, os, arch)); diff --git a/src/setup-haskell.ts b/src/setup-haskell.ts index 84734d9..30559d1 100644 --- a/src/setup-haskell.ts +++ b/src/setup-haskell.ts @@ -40,16 +40,14 @@ export default async function run( core.debug(`run: os = ${JSON.stringify(os)}`); core.debug(`run: opts = ${JSON.stringify(opts)}`); - // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 - // Add ghcup vanilla and prereleases channels by default. - addGhcupReleaseChannel('vanilla', os, arch); - addGhcupReleaseChannel('prereleases', os, arch); - - if (opts.ghcup.releaseChannel) { - await core.group(`Preparing ghcup environment`, async () => - addGhcupReleaseChannel(opts.ghcup.releaseChannel!.toString(), os, arch) - ); - } + await core.group(`Preparing ghcup environment`, async () => { + // Andreas Abel, 2026-01-01, https://github.com/haskell-actions/setup/issues/78 + // Add ghcup vanilla and prereleases channels by default. + addGhcupReleaseChannel('vanilla', os, arch); + addGhcupReleaseChannel('prereleases', os, arch); + if (opts.ghcup.releaseChannel) + addGhcupReleaseChannel(opts.ghcup.releaseChannel.toString(), os, arch); + }); for (const [t, {resolved}] of Object.entries(opts).filter( o => o[1].enable