Commit 3d766b34 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Merge branch 'ci-scala-example' into 'master'

Ci scala example

## What does this MR do?

Add a scala CI example.

## Why was this MR needed?

Supersedes https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2984

See merge request !4774
parents 00906b5b 56777e89
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
- [Test and deploy a Ruby application to Heroku](test-and-deploy-ruby-application-to-heroku.md) - [Test and deploy a Ruby application to Heroku](test-and-deploy-ruby-application-to-heroku.md)
- [Test and deploy a Python application to Heroku](test-and-deploy-python-application-to-heroku.md) - [Test and deploy a Python application to Heroku](test-and-deploy-python-application-to-heroku.md)
- [Test a Clojure application](test-clojure-application.md) - [Test a Clojure application](test-clojure-application.md)
- [Using `dpl` as deployment tool](../deployment/README.md) - [Test a Scala application](test-scala-application.md)
- [Using `dpl` as deployment tool](deployment/README.md)
- Help your favorite programming language and GitLab by sending a merge request - Help your favorite programming language and GitLab by sending a merge request
with a guide for that language. with a guide for that language.
......
## Test a Scala application
This example demonstrates the integration of Gitlab CI with Scala
applications using SBT. Checkout the example
[project](https://gitlab.com/gitlab-examples/scala-sbt) and
[build status](https://gitlab.com/gitlab-examples/scala-sbt/builds).
### Add `.gitlab-ci.yml` file to project
The following `.gitlab-ci.yml` should be added in the root of your
repository to trigger CI:
``` yaml
image: java:8
before_script:
- apt-get update -y
- apt-get install apt-transport-https -y
# Install SBT
- echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
- apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
- apt-get update -y
- apt-get install sbt -y
- sbt sbt-version
test:
script:
- sbt clean coverage test coverageReport
```
The `before_script` installs [SBT](http://www.scala-sbt.org/) and
displays the version that is being used. The `test` stage executes SBT
to compile and test the project.
[scoverage](https://github.com/scoverage/sbt-scoverage) is used as an SBT
plugin to measure test coverage.
You can use other versions of Scala and SBT by defining them in
`build.sbt`.
### Display test coverage in build
Add the `Coverage was \[\d+.\d+\%\]` regular expression in the
**Settings > Edit Project > Test coverage parsing** project setting to
retrieve the test coverage rate from the build trace and have it
displayed with your builds.
**Builds** must be enabled for this option to appear.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment