.gitlab-ci.yml 1.59 KB
Newer Older
canterafonsj's avatar
canterafonsj committed

before_script:
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  - docker info
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  - prepare
Stefan Wiedemann's avatar
Stefan Wiedemann committed
build:
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  stage: prepare
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  image: docker:19.03.12
  script:
    - scripts/setBasePath.sh https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master http://localhost:8080
    - docker build -t ngsi-local -f docker/Dockerfile .
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  allow_failure: false
Stefan Wiedemann's avatar
Stefan Wiedemann committed

Stefan Wiedemann's avatar
Stefan Wiedemann committed
test:
  stage: test
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  image: docker:19.03.12
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  services:
Stefan Wiedemann's avatar
Stefan Wiedemann committed
    - ngsi-local
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  before_script:
    - 'which ssh-agent || ( apt-get update -qy && apt-get install openssh-client -qqy )'
    - eval `ssh-agent -s`
    - echo "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null # add ssh ke
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - echo "$SSH_PUBLIC_KEY" >> ~/.ssh/id_rsa.pub
    - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
canterafonsj's avatar
canterafonsj committed
  script:
Stefan Wiedemann's avatar
Stefan Wiedemann committed
    - scripts/setBasePath.sh https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master http://localhost:9090
Stefan Wiedemann's avatar
Stefan Wiedemann committed
    - docker run --network host -i -v ${PWD}/:/data wistefan/redocly-openapi-cli bundle /data/spec/updated/ngsi-ld-spec-open-api.json -o /data/spec/updated/generated/full_api.json
    - docker run --network host --rm -v ${PWD}/:/local openapitools/openapi-generator-cli validate -i /local/spec/updated/generated/full_api.json
    - git config --global user.email "${CI_EMAIL}"
    - git config --global user.name "${CI_USERNAME}"
    - git add -f /spec/updated/generated/full_api.json
    - git commit -m "Update bundled spec." || echo "No changes, nothing to commit!"
    - git remote rm origin && git remote add origin git@gitlab.com:$CI_PROJECT_PATH.git
    - git push origin HEAD:$CI_COMMIT_REF_NAME
Stefan Wiedemann's avatar
Stefan Wiedemann committed
  allow_failure: false
canterafonsj's avatar
canterafonsj committed