-
David Trattnig authoredDavid Trattnig authored
.gitlab-ci.yml 1.03 KiB
image: python:3.7-buster
stages:
- bundle
- test
- deploy
variables:
API_ROOT_FILE: ./src/rest/swagger/swagger.yaml
BUNDLED_JSON_FILE: ./public/api.json
cache:
paths:
- ./node_modules
bundle_and_test:
stage: bundle
before_script:
- apt install -y curl
- curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
- apt install -y nodejs npm
- npm install -g @apidevtools/swagger-cli
script:
- mkdir public
- swagger-cli bundle -t json $API_ROOT_FILE > $BUNDLED_JSON_FILE
- swagger-cli validate $BUNDLED_JSON_FILE
artifacts:
paths:
- public
expire_in: 2 days
only:
- master
test_api:
stage: test
script:
- pip3 install tox
- tox
pages:
stage: deploy
before_script:
# - apt install -y nodejs npm
- npm install swagger-ui-dist@3.22.1
script:
- cp -rp node_modules/swagger-ui-dist/* ./public
- 'sed -i "s@.*url.*@url: \"api.json\",@" ./public/index.html'
artifacts:
paths:
- public
expire_in: 2 days
only:
- master