This GitLab CI configuration is valid. Learn more
.gitlab-ci.yml 1.36 KB
# Thanks to:
# https://vadosware.io/post/zero-to-continuous-integrated-testing-a-haskell-project-with-gitlab/
#
#
image: cgenie/stack-build:lts-17.13-garg

variables:
  STACK_ROOT: "${CI_PROJECT_DIR}/.stack-root"
  STACK_OPTS: "--system-ghc"

#before_script:
  #- apt-get update
  #- apt-get install make xz-utils

stages:
  - docs
  - test

docs:
  cache:
    # cache per branch name
    # key: ${CI_COMMIT_REF_SLUG}
    paths:
      - .stack-root/
      - .stack-work/
  script:
    - stack build --no-terminal --haddock --no-haddock-deps --fast
    - cp -R "$(stack path --local-install-root)"/doc ./output
  artifacts:
    paths:
      - ./output
    expire_in: 1 week

test:
  cache:
    # cache per branch name
    # key: ${CI_COMMIT_REF_SLUG}
    paths:
      - .stack-root/
      - .stack-work/
  script:
    - stack test --no-terminal --fast

      # TOOO
#unit-test:
#  stage: test
#  script:
#    - make test-unit
#
#int-test:
#  stage: test
#  script:
#    - make test-int
#
#e2e-test:
#  stage: test
#  script:
#    - make test-e2e
#

# If you find yourself with a non-sensical build error when you know your project should be building just fine, this fragment should help:
#
#build:
#  stage: build
#  script:
#    # Clear out cache files
#    - rm -rf .stack
#    - rm -rf .stack-work
#    - stack setup --system-ghc
#    - stack install --local-bin-path target --system-ghc