freechat/.gitlab-ci.yml
2021-02-13 18:14:42 -08:00

74 lines
1.1 KiB
YAML

image: shockrah/freechat:0.4
stages:
- docs
- build
- test
workflow:
rules:
- if: '$CI_COMMIT_BRANCH'
variables:
CARGO_HOME: $CI_PROJECT_DIR/.cargo
before_script:
- export PATH="$CARGO_HOME/bin:$PATH"
build-json-api:
# Literally so expensive that I realy just don't wanna deal with it
stage: build
when: manual
only: [ "master" ]
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/
expire_in: 15 mins
test-json-api:
stage: test
needs:
- build-json-api
only: [ "master" ]
dependencies:
- build-json-api
script:
- cd json-api/
- cargo test --release
artifacts:
paths:
- json-api/target/release/json-api
expire_in: 1 week
name: json-api
build-wiki:
# Cheap as hell so we run on master basically everytime
image: registry.gitlab.com/pages/hugo:latest
only: [ "master" ]
stage: docs
script:
- cd docs/
- hugo
- cp -r public/ ../
artifacts:
paths:
- public