Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 5.72 KiB
stages:
  - formatter
  - generator
  - test-containers
  - test-required
  - documentation
  - test-additional-v1.5
  - test-additional-v1.6

variables:
    GIT_STRATEGY: clone
    DOCKER_DRIVER: overlay2
    DOCKER_TLS_CERTDIR: ""

.global_settings: &global_settings
  rules:
   - if: $CI_PIPELINE_SOURCE == "external_pull_request_event"

.global_settings: &global_settings_master
  rules:
   - if: $CI_COMMIT_BRANCH == "master"

.global_testing_v15: &global_testing_v15
  variables:
    JULIA_VER: "v1.5.3"

.global_testing_v16: &global_testing_v16
  variables:
    JULIA_VER: "v1.6.0"

# platform-specific test settings
# --------------------------------------

.global_testing_linux: &global_testing_linux
  tags:
   - slave01
  script:
    - $ARTENOLIS_SOFT_PATH/julia/$JULIA_VER/bin/julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'

.global_testing_win8: &global_testing_win8
  tags:
    - windows8

.global_testing_win10: &global_testing_win10
  tags:
    - windows10

.global_testing_win: &global_testing_win
  script:
    - $global:LASTEXITCODE = 0 # Note the global prefix.
    - Invoke-Expression $Env:ARTENOLIS_SOFT_PATH"\julia\"$Env:JULIA_VER"\bin\julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'"
    - exit $LASTEXITCODE

.global_testing_mac: &global_testing_mac
  tags:
    - mac
  script:
    - $ARTENOLIS_SOFT_PATH/julia/$JULIA_VER/Contents/Resources/julia/bin/julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'

# Check the format of the code
# --------------------------------------

format:
  stage: formatter
  image: $CI_REGISTRY/r3/docker/julia-custom
  script:
    - julia --project=@. -e 'using JuliaFormatter; format(".", verbose=true);'
    - git status
    - git remote set-url origin "https://$CI_USER_NAME:$GITHUB_ACCESS_TOKEN@github.com/$GITHUB_REPOSITORY"
    - git config --global user.name $CI_USER_NAME