]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - .gitlab-ci.yml
Update translations
[github/Chocobozzz/PeerTube.git] / .gitlab-ci.yml
index 2f69eb1d2e3cf1021407731882b6ed0b59b81bb8..9dca22e680e188c22753de0cf5d333f855b25cb4 100644 (file)
@@ -1,15 +1,8 @@
-image: chocobozzz/peertube-ci:10
+image: chocobozzz/peertube-ci:14
 
 stages:
-  - build-and-lint
-  - test
-  - 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
+  - clients
+  - docker-nightly
 
 cache:
   key: yarn
@@ -17,75 +10,23 @@ cache:
     - .yarn-cache
     - cached-fixtures
 
-###
-## Jobs templates
-#
-#.build-and-lint: &build-and-lint
-#  stage: build-and-lint
-#
-#.tests: &tests
-#  stage: test
-#  dependencies:
-#    - build-server
-#  services:
-#    - name: postgres:9.6
-#      alias: postgres
-#    - name: redis:latest
-#      alias: redis
-#  variables:
-#    PGHOST: postgres
-#    PGUSER: postgres
-#    REDIS_HOST: redis
-#  artifacts:
-#    expire_in: 1 day
-#    paths:
-#      - test*/logs
-#    when: always
-#
-####
-### Build and lint
-##
-#build-server:
-#  <<: *build-and-lint
-#  artifacts:
-#    expire_in: 5h
-#    paths:
-#      - dist/
-#  script:
-#    - npm run build:server
-#
-#lint:
-#  <<: *build-and-lint
-#  script:
-#    - yarn install --pure-lockfile --cache-folder .yarn-cache
-#    - npm run ci -- "lint"
-#
-####
-### Tests
-#
-#test-misc:
-#  <<: *tests
-#  script:
-#    - yarn install --pure-lockfile --cache-folder .yarn-cache
-#    - npm run ci -- "misc"
-#
-#test-cli:
-#  <<: *tests
-#  retry:
-#    max: 1
-#  script:
-#    - npm run ci -- "cli"
-#
-#api:
-#  <<: *tests
-#  parallel: 4
-#  retry:
-#    max: 1
-#  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:
@@ -98,3 +39,46 @@ build-nightly:
     - 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:
+    - 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 $DOCKERFILE --destination $DOCKER_IMAGE_NAME
+
+build-docker-develop:
+  <<: *docker
+  only:
+    - schedules
+  variables:
+    DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-buster
+    DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster
+
+build-docker-webserver:
+  <<: *docker
+  only:
+    - schedules
+  variables:
+    DOCKER_IMAGE_NAME: chocobozzz/peertube-webserver
+    DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.nginx
+
+build-docker-tag:
+  <<: *docker
+  only:
+    - tags
+  variables:
+    DOCKER_IMAGE_NAME: chocobozzz/peertube:$CI_COMMIT_TAG-buster
+    DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster
+
+build-docker-master:
+  <<: *docker
+  only:
+    - master
+  variables:
+    DOCKER_IMAGE_NAME: chocobozzz/peertube:production-buster
+    DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster