freechat/.gitlab-ci.yml

53 lines
874 B
YAML

stages:
- build
- test
variables:
CARGO_HOME: $CI_PROJECT_DIR/.cargo
build-json-api:
image: rust:slim-buster
stage: build
when: manual
only: [ "master" ]
before_script:
- apt-get install default-libmysqlclient-dev # required to build/test mysql
script:
- cd json-api/
- cargo build --release
# primarily used to cache between jobs
# expirey time overwritten later for weekly builds
artifacts:
paths:
- json-api/target/release/json-api
expire_in: 15 mins
test-json-api:
image: rust:slim-buster
stage: test
needs:
- build-json-api
before_script:
- apt-get install default-libmysqlclient-dev # required to build/test mysql
script:
- cd json-api/
- cargo test --release
artifacts:
paths:
- json-api/target/release/json-api
expire_in: 1 week
name: json-api