Newer
Older
David Schwarzmann
committed
stages:
David Schwarzmann
committed
lint-job:
stage: lint
David Schwarzmann
committed
name: stoplight/spectral:latest
David Schwarzmann
committed
script:
- spectral lint spec/*.yml
build:
stage: build
image: node:current-alpine
before_script:
- npm install -g @apidevtools/swagger-cli
- mkdir dist
script: swagger-cli bundle -t yaml -o dist/zustelldienst.yml spec/combined.yml
# find ./spec -type f -name "*.yml" -exec sh -c 'swagger-cli bundle -t yaml -o dist/$(basename {}) {}' \;
artifacts:
expose_as: 'Built API spec'
paths:
- dist/
upload:
stage: upload
image: alpine:latest
only:
refs:
- tags
variables:
- $CI_COMMIT_TAG
before_script:
- 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
script: >
rsync -rLvz --size-only --checksum --ipv4 --progress ./dist/. --temp-dir=~/tmp/ fitko@dorado.uberspace.de:html/$CI_COMMIT_TAG/
release-new-api-version:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
needs:
- job: build
artifacts: true
only:
refs:
- master
- tags
variables:
- $CI_COMMIT_TAG
script:
- release-cli -v
- echo "Releasing new API version"
- release-cli create --name "v$CI_COMMIT_TAG" --description './CHANGELOG.md'
--tag-name $CI_COMMIT_TAG
--assets-link '{"name":"combined-$CI_COMMIT_TAG","url":"https://fitko.uber.space/$CI_COMMIT_TAG/zustelldienst.yml"}'