--- image: 0xacab.org:4567/leap/docker/ruby:latest cache: untracked: true paths: # Cache gems - tests/platform-ci/vendor/ before_script: - cd tests/platform-ci - su -c 'time ./setup.sh' cirunner stages: - syntax - deploy lint: stage: syntax script: - su -c '/usr/local/bin/bundle exec rake lint' cirunner syntax: stage: syntax script: - su -c '/usr/local/bin/bundle exec rake syntax' cirunner validate: stage: syntax script: - su -c '/usr/local/bin/bundle exec rake validate' cirunner templates: stage: syntax script: - su -c '/usr/local/bin/bundle exec rake templates' cirunner catalog: stage: syntax script: - su -c '/usr/local/bin/bundle exec rake catalog' cirunner deploy_test:master: stage: deploy except: - master script: - su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner deploy_test:staging: stage: deploy variables: COMPONENT: "staging" script: - su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner # However, sometimes it's important to have a way of triggering a deploy # from scratch manually even from the master branch, when i.e. new packages # got uploaded to the master component of the platform deb repo. deploy_test:manual: stage: deploy only: - master when: manual allow_failure: false script: - su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner # Test upgrades from the latetest release to latest HEAD upgrade_test: stage: deploy script: # Allow unpriviledged user to checkout last release of leap_platform - chown cirunner:cirunner -R ../.. - su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner # Latest job will only run on the master branch, which means all merge requests # that are created from branches don't get to deploy to the latest-ci server. # When a merge request is merged, then the latest job will deploy the code to # the latest provider, and the deployment will be recorded in an environment # named 'latest' ci.leap.se: stage: deploy environment: name: staging only: - master@leap/platform script: - > su -c '/usr/bin/unbuffer /bin/bash -o pipefail ./ci-build.sh | /usr/bin/ts' cirunner demo.bitmask.net: stage: deploy environment: name: production/demo/vpn only: - master when: manual script: - > su -c '/usr/bin/unbuffer /bin/bash -o pipefail ./ci-build.sh | /usr/bin/ts' cirunner mail.bitmask.net: stage: deploy environment: name: production/demo/mail only: - master when: manual script: - > su -c '/usr/bin/unbuffer /bin/bash -o pipefail ./ci-build.sh | /usr/bin/ts' cirunner