Merge pull request #15 from haskell-CI/releases/v1.1

Update documentation to v1.1
This commit is contained in:
Timothy Clem
2020-05-04 06:57:46 -07:00
committed by GitHub
5 changed files with 21 additions and 21 deletions

View File

@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest # or macOS-latest, or windows-latest runs-on: ubuntu-latest # or macOS-latest, or windows-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-haskell@v1 - uses: actions/setup-haskell@v1.1
- run: runhaskell Hello.hs - run: runhaskell Hello.hs
``` ```
@@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-latest # or macOS-latest, or windows-latest runs-on: ubuntu-latest # or macOS-latest, or windows-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-haskell@v1 - uses: actions/setup-haskell@v1.1
with: with:
ghc-version: '8.8' # Resolves to the latest point release of GHC 8.8 ghc-version: '8.8' # Resolves to the latest point release of GHC 8.8
cabal-version: '3.0.0.0' # Exact version of Cabal cabal-version: '3.0.0.0' # Exact version of Cabal
@@ -59,7 +59,7 @@ jobs:
runs-on: ubuntu-latest # or macOS-latest, or windows-latest runs-on: ubuntu-latest # or macOS-latest, or windows-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-haskell@v1 - uses: actions/setup-haskell@v1.1
with: with:
ghc-version: '8.8.3' # Exact version of ghc to use ghc-version: '8.8.3' # Exact version of ghc to use
# cabal-version: 'latest'. Omitted, but defalts to 'latest' # cabal-version: 'latest'. Omitted, but defalts to 'latest'
@@ -88,7 +88,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Setup Haskell - name: Setup Haskell
uses: actions/setup-haskell@v1 uses: actions/setup-haskell@v1.1
with: with:
ghc-version: ${{ matrix.ghc }} ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }} cabal-version: ${{ matrix.cabal }}
@@ -156,6 +156,7 @@ Recommendation: Use the latest available version if possible.
**Stack:** **Stack:**
- `latest` (recommended) -- follows the latest release automatically. - `latest` (recommended) -- follows the latest release automatically.
- `2.3.1` `2.3`
- `2.1.3` `2.1` - `2.1.3` `2.1`
- `2.1.1` - `2.1.1`
- `1.9.3.1` `1.9` - `1.9.3.1` `1.9`

View File

@@ -3,6 +3,11 @@ import {getInput} from '@actions/core';
import * as supported_versions from '../src/versions.json'; import * as supported_versions from '../src/versions.json';
const def = getDefaults(); const def = getDefaults();
const latestVersions = {
ghc: supported_versions.ghc[0],
cabal: supported_versions.cabal[0],
stack: supported_versions.stack[0]
};
const mkName = (s: string): string => const mkName = (s: string): string =>
`INPUT_${s.replace(/ /g, '_').toUpperCase()}`; `INPUT_${s.replace(/ /g, '_').toUpperCase()}`;
@@ -25,8 +30,7 @@ describe('actions/setup-haskell', () => {
afterEach(() => (process.env = OLD_ENV)); afterEach(() => (process.env = OLD_ENV));
it('Parses action.yml to get correct default versions', () => { it('Parses action.yml to get correct default versions', () => {
const defs = {ghc: '8.10.1', cabal: '3.2.0.0', stack: '2.1.3'}; forAll(t => expect(def[t].version).toBe(latestVersions[t]));
forAll(t => expect(def[t].version).toBe(defs[t]));
}); });
it('Supported versions are parsed from JSON correctly', () => it('Supported versions are parsed from JSON correctly', () =>
@@ -56,14 +60,13 @@ describe('actions/setup-haskell', () => {
}); });
it('"latest" Versions resolve correctly', () => { it('"latest" Versions resolve correctly', () => {
const v = {ghc: '8.6.5', cabal: '2.4.1.0', stack: '2.1.3'};
setupEnv({ setupEnv({
'stack-version': '2.1', 'stack-version': 'latest',
'ghc-version': '8.6', 'ghc-version': 'latest',
'cabal-version': '2.4' 'cabal-version': 'latest'
}); });
const options = getOpts(def); const options = getOpts(def);
forAll(t => expect(options[t].resolved).toBe(v[t])); forAll(t => expect(options[t].resolved).toBe(latestVersions[t]));
}); });
it('Enabling stack does not disable GHC or Cabal', () => { it('Enabling stack does not disable GHC or Cabal', () => {

8
dist/index.js vendored
View File

@@ -2584,7 +2584,7 @@ function escapeProperty(s) {
/***/ 447: /***/ 447:
/***/ (function(module) { /***/ (function(module) {
module.exports = {"ghc":["8.10.1","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.2.0.0","3.0.0.0","2.4.1.0","2.4.0.0","2.2.0.0"],"stack":["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"]}; module.exports = {"ghc":["8.10.1","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.2.0.0","3.0.0.0","2.4.1.0","2.4.0.0","2.2.0.0"],"stack":["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"]};
/***/ }), /***/ }),
@@ -10721,13 +10721,11 @@ exports.installTool = installTool;
async function stack(version, os) { async function stack(version, os) {
core.info(`Attempting to install stack ${version}`); core.info(`Attempting to install stack ${version}`);
const build = { const build = {
linux: 'linux-x86_64-static', linux: `linux-x86_64${version >= '2.3.1' ? '' : '-static'}`,
darwin: 'osx-x86_64', darwin: 'osx-x86_64',
win32: 'windows-x86_64' win32: 'windows-x86_64'
}[os]; }[os];
const url = version === 'latest' const url = `https://github.com/commercialhaskell/stack/releases/download/v${version}/stack-${version}-${build}.tar.gz`;
? `https://get.haskellstack.org/stable/${build}.tar.gz`
: `https://github.com/commercialhaskell/stack/releases/download/v${version}/stack-${version}-${build}.tar.gz`;
const p = await tc.downloadTool(`${url}`).then(tc.extractTar); const p = await tc.downloadTool(`${url}`).then(tc.extractTar);
const [stackPath] = await glob_1.create(`${p}/stack*`, { const [stackPath] = await glob_1.create(`${p}/stack*`, {
implicitDescendants: false implicitDescendants: false

View File

@@ -135,15 +135,12 @@ export async function installTool(
async function stack(version: string, os: OS): Promise<void> { async function stack(version: string, os: OS): Promise<void> {
core.info(`Attempting to install stack ${version}`); core.info(`Attempting to install stack ${version}`);
const build = { const build = {
linux: 'linux-x86_64-static', linux: `linux-x86_64${version >= '2.3.1' ? '' : '-static'}`,
darwin: 'osx-x86_64', darwin: 'osx-x86_64',
win32: 'windows-x86_64' win32: 'windows-x86_64'
}[os]; }[os];
const url = const url = `https://github.com/commercialhaskell/stack/releases/download/v${version}/stack-${version}-${build}.tar.gz`;
version === 'latest'
? `https://get.haskellstack.org/stable/${build}.tar.gz`
: `https://github.com/commercialhaskell/stack/releases/download/v${version}/stack-${version}-${build}.tar.gz`;
const p = await tc.downloadTool(`${url}`).then(tc.extractTar); const p = await tc.downloadTool(`${url}`).then(tc.extractTar);
const [stackPath] = await glob(`${p}/stack*`, { const [stackPath] = await glob(`${p}/stack*`, {
implicitDescendants: false implicitDescendants: false

View File

@@ -19,6 +19,7 @@
], ],
"cabal": ["3.2.0.0", "3.0.0.0", "2.4.1.0", "2.4.0.0", "2.2.0.0"], "cabal": ["3.2.0.0", "3.0.0.0", "2.4.1.0", "2.4.0.0", "2.2.0.0"],
"stack": [ "stack": [
"2.3.1",
"2.1.3", "2.1.3",
"2.1.1", "2.1.1",
"1.9.3", "1.9.3",