stages:
- build-and-lint
- test
- - nightly
+ - clients
+ - docker-nightly
-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'
- - if [[ $CI_JOB_STAGE == "test" ]]; then psql -c "create user peertube with password 'peertube';"; fi
- - NOCLIENT=1 yarn install --pure-lockfile --cache-folder .yarn-cache
+#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'
+# - if [[ $CI_JOB_STAGE == "test" ]]; then psql -c "create user peertube with password 'peertube';"; fi
+# - NOCLIENT=1 yarn install --pure-lockfile --cache-folder .yarn-cache
cache:
key: yarn
# 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: nightly
+ stage: docker-nightly
only:
- schedules
script:
- if [ ! -z ${DEPLOYEMENT_KEY+x} ]; then ssh-add <(echo "${DEPLOYEMENT_KEY}"); fi
- if [ ! -z ${DEPLOYEMENT_KEY+x} ]; then scp ./peertube-nightly-* ${DEPLOYEMENT_USER}@${DEPLOYEMENT_HOST}:../../web/nightly; fi
+.docker: &docker
+ stage: docker-nightly
+ cache: {}
+ image:
+ name: gcr.io/kaniko-project/executor:debug
+ entrypoint: [""]
+ before_script:
+ - 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.buster --destination $DOCKER_IMAGE_NAME
+
+build-docker-develop:
+ <<: *docker
+ only:
+ - schedules
+ variables:
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-buster
+
+build-docker-tag:
+ <<: *docker
+ only:
+ - tags
+ variables:
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:$CI_COMMIT_TAG-buster
+
+build-docker-master:
+ <<: *docker
+ only:
+ - master
+ variables:
+ DOCKER_IMAGE_NAME: chocobozzz/peertube:production-buster