diff options
| author | Eugene Wissner <belka@caraus.de> | 2020-06-24 09:45:25 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2020-06-24 10:12:22 +0200 |
| commit | 175268b422c20ec01bb0dc3d36a53a394931b289 (patch) | |
| tree | 988863f54a95f207edfab1a915fde0d966708116 /.github | |
| parent | aef6030a8ee577f98a718a394ca97f20673f6d5c (diff) | |
| download | graphql-175268b422c20ec01bb0dc3d36a53a394931b289.tar.gz | |
Add a github actions workflow
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/haskell.yml | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml new file mode 100644 index 0000000..e2f4eac --- /dev/null +++ b/.github/workflows/haskell.yml @@ -0,0 +1,65 @@ +name: Haskell CI + +on: + push: ~ + pull_request: + branches: [master] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-haskell@v1 + with: + enable-stack: true + stack-no-global: true + stack-version: 'latest' + + - name: Cache + uses: actions/cache@v2 + with: + path: | + ~/.stack + graphql.cabal + stack.yaml.lock + key: ${{ runner.os }}-build-${{ hashFiles('**/stack.yaml') }} + restore-keys: '${{ runner.os }}-build-' + + - name: Install dependencies + run: stack --no-terminal test --only-snapshot + - name: Run tests + run: stack --no-terminal test --pedantic + - name: Build the documentation + run: | + stack --no-terminal ghc -- -Wall -Werror -fno-code docs/tutorial/tutorial.lhs + stack --no-terminal haddock --no-haddock-deps + + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-haskell@v1 + with: + enable-stack: true + stack-no-global: true + stack-version: 'latest' + + - name: Cache + uses: actions/cache@v2 + with: + path: | + ~/.stack + graphql.cabal + stack.yaml.lock + key: ${{ runner.os }}-build-${{ hashFiles('**/stack.yaml') }} + restore-keys: '${{ runner.os }}-build-' + + - name: Build HLint + run: stack --no-terminal build hlint + - name: Install HLint + run: stack --no-terminal install hlint + - name: Lint + run: stack --no-terminal exec hlint -- src tests docs |
