stages:
- build-and-lint
- test
+ - clients
- docker-nightly
+ - external-plugins
#before_script:
# - 'sed -i -z "s/database:\n hostname: ''localhost''/database:\n hostname: ''postgres''/" config/test.yaml'
# script:
# - NODE_PENDING_JOB_WAIT=1000 npm run ci -- api-$CI_NODE_INDEX
+build-openapi-clients:
+ stage: clients
+ only:
+ refs:
+ - master
+ - schedules
+ changes:
+ - support/doc/api/openapi.yaml
+ script:
+ - apt-get update -qq
+ - apt-get -yqqq install openjdk-8-jre
+ - yarn install --pure-lockfile
+ - scripts/openapi-peertube-version.sh
+ - scripts/openapi-clients.sh
+
build-nightly:
stage: docker-nightly
only:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
before_script:
+ - mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json
script:
- - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/support/docker/production/Dockerfile.stretch --destination $DOCKER_IMAGE_NAME
+ - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster --destination $DOCKER_IMAGE_NAME
build-docker-develop:
<<: *docker
only:
- schedules
variables:
- DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-stretch
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-buster
build-docker-tag:
<<: *docker
only:
- tags
variables:
- DOCKER_IMAGE_NAME: chocobozzz/peertube:$CI_COMMIT_TAG-stretch
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:$CI_COMMIT_TAG-buster
build-docker-master:
<<: *docker
only:
- master
variables:
- DOCKER_IMAGE_NAME: chocobozzz/peertube:production-stretch
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:production-buster
+
+test-external-plugins:
+ stage: external-plugins
+ only:
+ - schedules
+ services:
+ - name: postgres:9.6
+ alias: postgres
+ - name: redis:latest
+ alias: redis
+ - name: rroemhild/test-openldap
+ alias: ldap
+ variables:
+ POSTGRES_USER: peertube
+ POSTGRES_HOST_AUTH_METHOD: trust
+ REDIS_HOST: redis
+ artifacts:
+ expire_in: 1 day
+ paths:
+ - test*/logs
+ when: always
+ before_script:
+ - 'sed -i -z "s/database:\n hostname: ''localhost''/database:\n hostname: ''postgres''/" config/test.yaml'
+ - 'sed -i -z "s/redis:\n hostname: ''localhost''/redis:\n hostname: ''redis''/" config/test.yaml'
+ - NOCLIENT=1 yarn install --pure-lockfile --cache-folder .yarn-cache
+ script:
+ - PGHOST=postgres PGUSER=peertube npm run ci -- "external-plugins"