Forked from
FAST / SpeechDatasets.jl
24 commits ahead of the upstream repository.
-
Nicolas Denier authoredNicolas Denier authored
.gitlab-ci.yml 6.52 KiB
image: julia:1.9
stages:
- test
- build-docs
- deploy
- build-badges
- deploy-badges
variables:
FAILED: "echo \"failed\" > .status"
PASSED: "echo \"passed\" > .status"
WRITE_ENV: "echo \"$${PREFIX}_STATUS=$$(cat .status)\" >> .env"
# Rule to run a job only on merge request on main
.only-on-merge-request:
rules:
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"
# Run a job only when a version tag is pushed on main branch
.only-vtag-on-main:
rules:
- if: $CI_COMMIT_TAG =~ /^v\d+.\d+.\d+-?.*$/ # ensure it corresponds to a version
# $CI_COMMIT_BRANCH == "main"
# Run unit tests if provided on merge request
tests:
stage: test
variables:
SDL_VIDEODRIVER: "dummy"
SDL_AUDIODRIVER: "disk"
PREFIX: "TEST" # badge prefix
extends:
- .dotenv # share job status in .env
- .only-on-merge-request
before_script:
- eval "$FAILED" # set status to failed by default
- apt update -y
- apt install -y libasound2-dev
- |
julia -e '
using Pkg
pkg"registry add https://github.com/JuliaRegistries/General"
pkg"registry add https://gitlab.lisn.upsaclay.fr/PTAL/Registry"
Pkg.activate(; temp = true)
Pkg.resolve()
Pkg.precompile()'
script:
- |
if [ -f test/runtests.jl ]; then
julia --project=./ -e 'using Pkg; Pkg.test()'
else
echo "[warning] no tests provided"
fi
- eval "$PASSED" # set status to passed
# Build documentation on merge request
build-docs:
stage: build-docs
extends:
- .dotenv # share job status in .env
- .only-on-merge-request
variables:
SDL_VIDEODRIVER: "dummy"
SDL_AUDIODRIVER: "disk"
PREFIX: "BUILD_DOCS" # badge prefix
before_script:
- eval "$FAILED" # set status to failed by default
- apt update -y
- apt install -y libasound2-dev