image: shockrah/freechat:0.4 stages: - build - test workflow: rules: - if: '$CI_COMMIT_BRANCH' variables: CARGO_HOME: $CI_PROJECT_DIR/.cargo GIT_SUBMODULE_STRATEGY: recursive 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 only: refs: - master changes: - json-api/ 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: build script: - cd docs/ - hugo - cp -r public/ ../ artifacts: paths: - public