# This is 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 # # You can copy and paste this template into a new `.gitlab-ci.yml` file. # You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword. # # To contribute improvements to CI/CD templates, please follow the Development guide at: # https://docs.gitlab.com/ee/development/cicd/templates.html # This specific template is located at: # https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Julia.gitlab-ci.yml # Below is the template to run your tests in Julia .test_template: &test_definition # Uncomment below (and adjust as needed) to run the tests for specific references # only, such as the default branch, a `development` branch, and so on: # rules: # - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # - if: $CI_COMMIT_BRANCH == "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("MyPackage"); Pkg.test("MyPackage"; coverage = true)' # Comment out below if you do not want coverage results. - julia -e 'using Pkg; Pkg.add("Coverage"); import MyPackage; cd(joinpath(dirname(pathof(MyPackage)), "..")); 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 # Maybe you would like to test your package against the development branch: # test:1.1-dev (not sure there is such an image in docker, so not tested yet): # image: julia:v1.1-dev # # ... allowing for failures, since we are testing against the development # # branch: # allow_failure: true # <<: *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("MyPackage");' # rebuild Julia (can be put somewhere else I'm sure - julia -e 'using Pkg; import MyPackage; 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 rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # 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/