-
Jonas Gröger authoredJonas Gröger authored
.gitlab-ci.yml 3.17 KiB
.pre-deploy-uber-space-setup: &pre-deploy-uber-space-setup
- apk add rsync openssh-client
- eval $(ssh-agent -s)
- echo "$CI_DEPLOYMENT_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo "$UBERSPACE_KNOWN_HOST" >> ~/.ssh/known_hosts
.doc-changelist: &doc-changelist
changes:
- docs/*
- versioned_docs/*
- versioned_sidebars/*
- src/*
- static/*
- docusaurus.config.js
- sidebars.js
- versions.json
- .gitlab-ci.yml
stages:
- lint
- build
- upload
- release
lint-job:
stage: lint
image:
name: $CI_REGISTRY/stoplight/spectral:latest
entrypoint: [ "" ]
script:
- spectral lint spec/*.yml
build:spec:
stage: build
image: $CI_REGISTRY/node:current-alpine
before_script:
- npm install -g @apidevtools/swagger-cli
- mkdir dist
script:
- cp metadata-schema/antragsmetadaten.schema.json dist/
- swagger-cli bundle -t yaml -o dist/zustelldienst.yml spec/zustelldienst.yml
artifacts:
expose_as: 'Built API spec'
paths:
- dist/
expire_in: 30 days
build:doc:
stage: build
image: $CI_REGISTRY/node:current-alpine
variables:
GIT_BRANCH: $CI_COMMIT_REF_NAME
before_script:
- apk add git
- yarn
script:
- export DOCUSAURUS_BASE_URL="/fit-connect/" && [[ "$CI_COMMIT_REF_NAME" != "main" ]] && export DOCUSAURUS_BASE_URL="/preview/fit-connect/$CI_COMMIT_REF_SLUG/"
- yarn build
artifacts:
expose_as: 'Built Documentation'
paths:
- build/
expire_in: 30 days
rules:
- *doc-changelist
upload:doc:
stage: upload