Newer
Older
# Taken an adapted from gitlab's example repos:
# https://gitlab.com/gitlab-examples/julia
# An example .gitlab-ci.yml file to test (and optionally report the
# coverage results of) your [Julia][1] packages. Please refer to the
# [documentation][2] for more information about package development in
# Julia.
#
# Here, it is assumed that your Julia package is named
# `MyPackage`. Change it to whatever name you have given to your
# package.
#
# [1]: http://julialang.org/
# [2]: https://docs.julialang.org/en/v1/manual/documentation/index.html
# Below is the template to run your tests in Julia
.test_template: &test_definition
# Uncomment below if you would like to run the tests on specific
# references only, such as the branches `master`, `development`,
# etc.
# only:
# - master
# - development
script:
# Let's run the tests. Substitute `coverage = false` below, if you
# do not want coverage results.
- julia -e 'using Pkg; Pkg.clone(pwd());
Pkg.build("CaosDB");
Pkg.test("CaosDB"; coverage = true)'
# Comment out below if you do not want coverage results.
- julia -e 'using Pkg; Pkg.add("Coverage");
import CaosDB;
cd(joinpath(dirname(pathof(CaosDB)), ".."));
using Coverage; cl, tl = get_summary(process_folder());
println("(", cl/tl*100, "%) covered")'
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Name a test and select an appropriate image.
# images comes from Docker hub
test:0.7:
image: julia:0.7
<<: *test_definition
test:1.0:
image: julia:1.0
<<: *test_definition
test:1.6:
image: julia:1.6
<<: *test_definition
# REMARK: Do not forget to enable the coverage feature for your
# project, if you are using code coverage reporting above. This can be
# done by
#
# - Navigating to the `CI/CD Pipelines` settings of your project,
# - Copying and pasting the default `Simplecov` regex example
# provided, i.e., `\(\d+.\d+\%\) covered` in the `test coverage
# parsing` textfield.
# Example documentation deployment
pages:
image: julia:0.7
stage: deploy
script:
- apt-get update -qq && apt-get install -y git # needed by Documenter
- julia -e 'using Pkg; Pkg.clone(pwd()); Pkg.build("CaosDB");' # rebuild Julia (can be put somewhere else I'm sure)
- julia -e 'using Pkg; import CaosDB; Pkg.add("Documenter")' # install Documenter
- julia --color=yes docs/make.jl # make documentation
- mv docs/build public # move to the directory picked up by Gitlab pages
artifacts:
paths:
- public
only:
- main
# WARNING: This template is using the `julia` images from [Docker
# Hub][3]. One can use custom Julia images and/or the official ones
# found in the same place. However, care must be taken to correctly
# locate the binary file (`/opt/julia/bin/julia` above), which is
# usually given on the image's description page.
#
# [3]: https://hub.docker.com/_/julia/