Skip to content

Commit 03bbacf

Browse files
authored
Add "fast" setup action (#54)
1 parent 99d2992 commit 03bbacf

File tree

3 files changed

+168
-0
lines changed

3 files changed

+168
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: dist-macos-latest
2+
3+
permissions:
4+
contents: write
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
on:
11+
workflow_dispatch:
12+
pull_request:
13+
14+
jobs:
15+
build:
16+
name: ${{ matrix.os }} / GHC ${{ matrix.ghc }}
17+
runs-on: ${{ matrix.os }}
18+
steps:
19+
- run: brew install ghcup
20+
- run: ghcup install ghc ${{ matrix.ghc }} --set
21+
- run: ghcup install cabal latest
22+
- run: echo "$HOME/.ghcup/bin" >> "$GITHUB_PATH"
23+
- run: ghc --version
24+
- run: cabal update
25+
- run: cabal install --package-env=. --lib hspec
26+
- uses: actions/checkout@v4
27+
- name: publish
28+
run: |
29+
dst=$RUNNER_OS-$ImageOS-$RUNNER_ARCH-ghc-${{ matrix.ghc }}.tar.gz
30+
tar -czpf "$dst" ~/.ghcup ~/.local/state/cabal/store
31+
gh release create nightly --prerelease || (git tag nightly -f && git push --tags -f)
32+
gh release upload nightly "$dst" --clobber
33+
# if: github.ref == 'refs/heads/main'
34+
env:
35+
GH_TOKEN: ${{ github.token }}
36+
37+
strategy:
38+
fail-fast: false
39+
matrix:
40+
os:
41+
- macos-latest
42+
ghc:
43+
- 9.12.2
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: dist-ubuntu-22.04
2+
3+
permissions:
4+
contents: write
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
on:
11+
workflow_dispatch:
12+
pull_request:
13+
14+
jobs:
15+
build:
16+
name: ${{ matrix.os }} / GHC ${{ matrix.ghc }}
17+
runs-on: ${{ matrix.os }}
18+
steps:
19+
- run: ghcup rm ghc 9.12.2
20+
- run: ghcup rm ghc 9.10.3
21+
- run: du -hs /usr/local/.ghcup
22+
- run: ghcup list
23+
- run: sudo apt-get install libncurses5
24+
- run: ghcup install ghc ${{ matrix.ghc }} --set
25+
- run: ghc --version
26+
- run: cabal update
27+
- run: cabal install --package-env=. --lib hspec
28+
- uses: actions/checkout@v4
29+
- name: publish
30+
run: |
31+
dst=$RUNNER_OS-$ImageOS-$RUNNER_ARCH-ghc-${{ matrix.ghc }}.tar.gz
32+
tar -czpf "$dst" /usr/local/.ghcup ~/.local/state/cabal/store
33+
gh release create nightly --prerelease || (git tag nightly -f && git push --tags -f)
34+
gh release upload nightly "$dst" --clobber
35+
# if: github.ref == 'refs/heads/main'
36+
env:
37+
GH_TOKEN: ${{ github.token }}
38+
39+
strategy:
40+
fail-fast: false
41+
matrix:
42+
os:
43+
- ubuntu-22.04
44+
ghc:
45+
- 8.0.2
46+
- 8.2.2
47+
- 8.4.1
48+
- 8.4.2
49+
- 8.4.3
50+
- 8.4.4
51+
- 8.6.1
52+
- 8.6.2
53+
- 8.6.3
54+
- 8.6.4
55+
- 8.6.5
56+
- 8.8.1
57+
- 8.8.2
58+
- 8.8.3
59+
- 8.8.4
60+
- 8.10.1
61+
- 8.10.2
62+
- 8.10.3
63+
- 8.10.4
64+
- 8.10.5
65+
- 8.10.6
66+
- 8.10.7
67+
- 9.0.1
68+
- 9.0.2
69+
- 9.2.1
70+
- 9.2.2
71+
- 9.2.3
72+
- 9.2.4
73+
- 9.2.5
74+
- 9.2.6
75+
- 9.2.7
76+
- 9.2.8
77+
- 9.4.1
78+
- 9.4.2
79+
- 9.4.3
80+
- 9.4.4
81+
- 9.4.5
82+
- 9.4.6
83+
- 9.4.7
84+
- 9.4.8
85+
- 9.6.1
86+
- 9.6.2
87+
- 9.6.3
88+
- 9.6.4
89+
- 9.6.5
90+
- 9.6.6
91+
- 9.6.7
92+
- 9.8.1
93+
- 9.8.2
94+
- 9.8.4
95+
- 9.10.1
96+
- 9.10.2
97+
- 9.10.3
98+
- 9.12.1
99+
- 9.12.2

fast/action.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Setup Haskell
2+
author: Simon Hengel
3+
4+
inputs:
5+
ghc-version:
6+
required: true
7+
8+
runs:
9+
using: composite
10+
steps:
11+
- shell: bash
12+
run: echo "$HOME/.ghcup/bin" >> "$GITHUB_PATH"
13+
if: runner.os == 'macOS'
14+
- shell: bash
15+
run: echo "ImageOS=$ImageOS" >> $GITHUB_ENV
16+
- shell: bash
17+
run: sudo apt-get update && sudo apt-get install -y libncurses5
18+
if: env.ImageOS == 'ubuntu22' && (inputs.ghc-version == '8.0.2' || inputs.ghc-version == '8.2.2')
19+
- shell: bash
20+
run: rm -rf /usr/local/.ghcup/*
21+
- shell: bash
22+
run: |
23+
dst=$RUNNER_OS-$ImageOS-$RUNNER_ARCH-ghc-${{ inputs.ghc-version }}.tar.gz
24+
gh release download nightly --repo hspec/setup-haskell -p "$dst" -O - | sudo tar -xzp -C /
25+
env:
26+
GH_TOKEN: ${{ github.token }}

0 commit comments

Comments
 (0)