50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
audit:
|
|
runs-on: alpine
|
|
steps:
|
|
- name: Set up environment
|
|
shell: ash {0}
|
|
run: |
|
|
apk add --no-cache git bash curl build-base readline-dev openssl-dev zlib-dev libpq-dev gmp-dev
|
|
- name: Prepare system
|
|
run: |
|
|
curl --create-dirs --output-dir \
|
|
~/.ghcup/bin https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 -o ghcup
|
|
chmod +x ~/.ghcup/bin/ghcup
|
|
~/.ghcup/bin/ghcup install ghc 9.4.8
|
|
~/.ghcup/bin/ghcup install cabal 3.6.2.0
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal update
|
|
~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal install hlint --constraint="hlint ==3.6.1"
|
|
- run: ~/.cabal/bin/hlint -- src lib tests
|
|
|
|
test:
|
|
runs-on: alpine
|
|
steps:
|
|
- name: Set up environment
|
|
shell: ash {0}
|
|
run: |
|
|
apk add --no-cache git bash curl build-base readline-dev openssl-dev zlib-dev libpq-dev gmp-dev
|
|
- name: Prepare system
|
|
run: |
|
|
curl --create-dirs --output-dir \
|
|
~/.ghcup/bin https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 -o ghcup
|
|
chmod +x ~/.ghcup/bin/ghcup
|
|
~/.ghcup/bin/ghcup install ghc 9.4.8
|
|
~/.ghcup/bin/ghcup install cabal 3.6.2.0
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal update
|
|
~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal build slackbuilder-test
|
|
- run: ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal test --test-show-details=direct
|