Test a Clojure application with GitLab CI/CD

This example will guide you how to run tests in your Clojure application.

You can checkout the example source and check CI status.

Configure the project

This is what the .gitlab-ci.yml file looks like for this project:

variables:
  POSTGRES_DB: sample-test
  DATABASE_URL: "postgresql://postgres@postgres:5432/sample-test"

before_script:
  - apt-get update -y
  - apt-get install default-jre postgresql-client -y
  - wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
  - chmod a+x lein
  - export LEIN_ROOT=1
  - PATH=$PATH:.
  - lein deps
  - lein migratus migrate

test:
  script:
    - lein test

In before script we install JRE and Leiningen. Sample project uses migratus library to manage database migrations. So we added database migration as last step of before_script section

You can use public runners available on gitlab.com for testing your application with such configuration.