# 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")' # 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/