Newer
Older
default:
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/rust/tags/
image: "rust:latest"
# Optional: Pick zero or more services to be used on all builds.
# Only needed when using a docker container to run your tests in.
# Check out: https://docs.gitlab.com/ee/ci/services/index.html
# services:
# - mysql:latest
# - redis:latest
# - postgres:latest
# Optional: Install a C compiler, cmake and git into the container.
# You will often need this when you (or any of your dependencies) depends on C code.
#before_script:
# - apt-get update -yqq
# - apt-get install -yqq --no-install-recommends build-essential
# Test the project for linux environment
#test_linux:
# stage: test
# tags:
# - opossum
# script:
# - export HTTPS_PROXY=lxproxy01.gsi.de:3128
# - export HTTP_PROXY=lxproxy01.gsi.de:3128
# - export https_proxy=lxproxy01.gsi.de:3128
# - export http_proxy=lxproxy01.gsi.de:3128
# - rustup default nightly
# - cargo install junitify
# - rustc --version && cargo --version # Print version info for debugging
# # - cargo test --workspace
# - cargo test -- --format=json -Z unstable-options --report-time | junitify --out $CI_PROJECT_DIR/tests/
# artifacts:
# when: always
# reports:
# junit: $CI_PROJECT_DIR/tests/*.xml
- $Env:CARGO_HOME="C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo"
- $Env:CARGO_TARGET_DIR="C:\Users\ueisenb\Appdata\Local\0_gsi_executables\gitlab-runner\target"
- $Env:Path += ";C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo\bin"
- cargo install junitify
- cargo test -- --format=json -Z unstable-options --report-time | junitify --out $CI_PROJECT_DIR/tests/
artifacts:
when: always
reports:
junit: $CI_PROJECT_DIR/tests/*.xml
- $Env:CARGO_HOME="C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo"
- $Env:CARGO_TARGET_DIR="C:\Users\ueisenb\Appdata\Local\0_gsi_executables\gitlab-runner\target"
- $Env:Path += ";C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo\bin"
- test_windows
# Build the main application (currently mostly useless)
build-windows:
stage: build
- $Env:CARGO_HOME="C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo"
- $Env:CARGO_TARGET_DIR="C:\Users\ueisenb\Appdata\Local\0_gsi_executables\gitlab-runner\target"
- $Env:Path += ";C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo\bin"
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
- cargo build
dependencies:
- test_windows
# Build the main application for linux
#build-linux:
# stage: build
# tags:
# - opossum
# script:
# - export HTTPS_PROXY=lxproxy01.gsi.de:3128
# - export HTTP_PROXY=lxproxy01.gsi.de:3128
# - export https_proxy=lxproxy01.gsi.de:3128
# - export http_proxy=lxproxy01.gsi.de:3128
# - cargo build
# dependencies:
# - test:cargo
# Build API documentation
build-doc:
stage: build
tags:
- windows
script:
- $Env:CARGO_HOME="C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo"
- $Env:CARGO_TARGET_DIR="C:\Users\ueisenb\Appdata\Local\0_gsi_executables\gitlab-runner\target"
- $Env:Path += ";C:\Users\ueisenb\AppData\Local\0_gsi_executables\.cargo\bin"
- cargo doc --no-deps
dependencies:
- test_windows
#deploy:
# stage: deploy
# script: echo "Define your deployment script!"
# environment: production