web-remote/.gitlab-ci.yml

98 lines
2.8 KiB
YAML
Raw Permalink Normal View History

image: $CI_REGISTRY/openlp/runners/angular
2018-08-23 06:36:44 +00:00
stages:
- test
- build
- deploy
audit:
stage: test
script:
- yarn install
- yarn audit
rules:
- when: always
allow_failure: true
lint:
stage: test
script:
- yarn install
- yarn lint
rules:
- when: always
test:
2018-08-23 06:36:44 +00:00
stage: test
script:
- yarn install
- yarn test --no-progress --no-watch --browsers=ChromiumHeadlessCI
rules:
- when: always
push-i18n-source:
stage: build
script:
- apk add npm
- npm install @transifex/api
- npm run tx push
rules:
- changes:
- src/assets/en.json
build-branch:
stage: build
script:
# Temporarily install npm manually until we get it added to the runner image
- apk add npm
- yarn install --production
- npm install @angular/cli
- yarn build --no-progress --configuration production --aot
- export APP_VERSION=`git describe --dirty --tags --long --match '*[0-9]*'`
- 'echo "window.appVersion = \"$APP_VERSION\";" > dist/web-remote/assets/version.js'
artifacts:
paths:
- dist/
rules:
- if: $CI_COMMIT_BRANCH != "master"
build-tag:
stage: build
script:
# Temporarily install npm manually until we get it added to the runner image
- apk add npm
- yarn install --production
- npm install @angular/cli
- yarn build --no-progress --configuration production --aot
- 'echo "window.appVersion = \"$CI_COMMIT_TAG\";" > dist/web-remote/assets/version.js'
artifacts:
paths:
- dist/
rules:
- if: $CI_COMMIT_TAG
deploy:
stage: deploy
variables:
OPENLP_HOST: "new.openlp.io"
script:
- cd dist/web-remote
- zip -r ../../remote-$CI_COMMIT_TAG.zip *
- cd ../../
- export CHECK_SUM=`sha256sum remote-$CI_COMMIT_TAG.zip | cut -d' ' -f1`
- export FILE_SIZE=`stat -c '%s' remote-$CI_COMMIT_TAG.zip`
- 'echo -e "{\"latest\": {\"version\": \"$CI_COMMIT_TAG\", \"sha256\": \"$CHECK_SUM\", \"filename\": \"remote-$CI_COMMIT_TAG.zip\", \"size\": $FILE_SIZE}}" > version-$CI_COMMIT_TAG.json'
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- eval $(ssh-agent -s)
- ssh-add ~/.ssh/id_rsa
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ssh openlp@$OPENLP_HOST "mkdir -p /home/openlp/sites/get.openlp.org/www/remote/$CI_COMMIT_TAG"
- scp remote-$CI_COMMIT_TAG.zip openlp@$OPENLP_HOST:/home/openlp/sites/get.openlp.org/www/remote/$CI_COMMIT_TAG/
- scp version-$CI_COMMIT_TAG.json openlp@$OPENLP_HOST:/home/openlp/sites/get.openlp.org/www/remote/
- ssh openlp@$OPENLP_HOST "rm /home/openlp/sites/get.openlp.org/www/remote/version.json"
- scp version-$CI_COMMIT_TAG.json openlp@$OPENLP_HOST:/home/openlp/sites/get.openlp.org/www/remote/version.json
rules:
- if: $CI_COMMIT_TAG