oas_gen 0.4.2

An ergonomic, opinionated, builder pattern based api to build simple Open Api v3 specs in json for REST apis.
Documentation
image: rust:1.40

variables:
  GIT_SUBMODULE_STRATEGY: normal
  CARGO_HOME: /tmp/.cargo
  CARGO_TARGET_DIR: /tmp/.cargo/target
  DIST_TAG: $CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA

stages:
  - test
  # - build
  # - dist_dev
  # - dist_prod

# add /tmp/.cargo to runners.docker.volumes in runner config to share compiled deps between runs
test_and_clippy:
  stage: test
  tags: [rust]
  script:
    - rustup component add rustfmt
    - rustup component add clippy
    - CARGO_TARGET_DIR=/tmp/.cargo/target CARGO_HOME=/tmp/.cargo cargo fmt
    - CARGO_TARGET_DIR=/tmp/.cargo/target CARGO_HOME=/tmp/.cargo CARGO_INCREMENTAL=1 RUST_BACKTRACE=1 cargo test -- --nocapture
    - CARGO_TARGET_DIR=/tmp/.cargo/target CARGO_HOME=/tmp/.cargo CARGO_INCREMENTAL=1 RUST_BACKTRACE=1 cargo clippy --tests

# compile:
#   stage: build
#   only:
#     - tags
#     - master
#   tags: [rust]
#   script:
#     - CARGO_TARGET_DIR=/tmp/.cargo/target CARGO_HOME=/tmp/.cargo cargo build --release
#     - mkdir dist
#     - cp /tmp/.cargo/target/release/templates dist/
#     - cp /tmp/.cargo/target/release/services dist/
#     - cp evt_core.nomad dist/
#     - cp krakend_conf.json dist/
#     # - cp -r evt_design/static/* dist/
#     # - cp -r evt_design/templates/* dist/
#   artifacts:
#     paths:
#       - dist/

# dist_dev:
#   stage: dist_dev
#   script:
#     - echo "Setup known_hosts and ssh key to be able to deploy" && echo $DIST_TAG
#     - eval $(ssh-agent -s)
#     - echo "$DEV_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
#     - mkdir -p ~/.ssh
#     - chmod 700 ~/.ssh
#     - ssh-keyscan $DEV_HOST >> ~/.ssh/known_hosts
#     - chmod 644 ~/.ssh/known_hosts
#     - echo "Deploy to dev server"
#     - ssh $DEV_USER@$DEV_HOST -C "mkdir -p /srv/rw/$CI_PROJECT_NAME/$DIST_TAG/"
#     - scp -r dist/* $DEV_USER@$DEV_HOST:/srv/rw/$CI_PROJECT_NAME/$DIST_TAG/
#   environment:
#     name: dev
#     url: $DEV_URL
#   dependencies:
#     - compile
#   only:
#     - tags
#     - master
#     - dev
#   when: manual
#   tags:
#     - rust

# dist_prod:
#   stage: dist_prod
#   script:
#     - echo "Setup known_hosts and ssh key to be able to deploy" && echo $DIST_TAG
#     - eval $(ssh-agent -s)
#     - echo "$PROD_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
#     - mkdir -p ~/.ssh
#     - chmod 700 ~/.ssh
#     - ssh-keyscan $PROD_HOST >> ~/.ssh/known_hosts
#     - chmod 644 ~/.ssh/known_hosts
#     - echo "Deploy to prod server"
#     - ssh $PROD_USER@$PROD_HOST -C "mkdir -p /srv/rw/$CI_PROJECT_NAME/$DIST_TAG/"
#     - scp -r dist/* $PROD_USER@$PROD_HOST:/srv/rw/$CI_PROJECT_NAME/$DIST_TAG/
#   environment:
#     name: prod
#     url: $PROD_URL
#   dependencies:
#     - compile
#   only:
#     - tags
#   tags:
#     - rust