.gitlab-ci.yml 3.06 KB
Newer Older
roshii's avatar
roshii committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 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
# This file is a template, and might need editing before it works on your project.
# 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

# 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("BitConverter"); Pkg.test("BitConverter"; coverage = true)'
    # Comment out below if you do not want coverage results.
    - julia -e 'using Pkg; Pkg.add("Coverage");
      import BitConverter; cd(joinpath(dirname(pathof(BitConverter)), ".."));
      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:1.0
  stage: deploy
  script:
    - apt-get update -qq && apt-get install -y git # needed by Documenter
    - julia -e 'using Pkg; Pkg.clone(pwd()); Pkg.build("BitConverter");' # rebuild Julia (can be put somewhere else I'm sure
    - julia -e 'using Pkg; import BitConverter; 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:
  - master


# 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/