From 2284f202070aa2e49156cc52b3b1596a7d5aadec Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 29 Jul 2019 11:59:29 +0200 Subject: Add gitlab ci support --- .gitlab-ci.yml | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 .gitlab-ci.yml (limited to '.gitlab-ci.yml') diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..2f69eb1d2 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,100 @@ +image: chocobozzz/peertube-ci:10 + +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 + +cache: + key: yarn + paths: + - .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-nightly: + stage: nightly + only: + - schedules + script: + - yarn install --pure-lockfile --cache-folder .yarn-cache + - npm run nightly + - mkdir "${HOME}/.ssh" + - chmod 700 "${HOME}/.ssh" + - if [ ! -z ${DEPLOYEMENT_KNOWN_HOSTS+x} ]; then echo -e "${DEPLOYEMENT_KNOWN_HOSTS}" > ${HOME}/.ssh/known_hosts; fi + - eval `ssh-agent -s` + - 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 + -- cgit v1.2.3