1
0
Fork 0
emacs-config/.gitlab-ci.yml
Tom Willemse e62e994630 Switch the Test and Package stages
In order to simplify the testing of each package, do the packaging step first so
that when it gets to the testing stage it can load the packaged files from the
local repository and manage the interdependencies that way.
2019-12-11 21:55:20 -08:00

197 lines
3.7 KiB
YAML

image: silex/emacs:26.3-alpine-dev
stages:
- pre-package-multifile
- package
- test
- deploy
package-oni-conf:
stage: pre-package-multifile
before_script:
- rm -rf oni-conf/dist
script:
- cask --path oni-conf package
artifacts:
paths:
- oni-conf/dist/
package-oni-css:
stage: pre-package-multifile
before_script:
- rm -rf oni-css/dist
script:
- cask --path oni-css package
artifacts:
paths:
- oni-css/dist/
package-oni-elisp:
stage: pre-package-multifile
before_script:
- rm -rf oni-elisp/dist
script:
- cask --path oni-elisp package
artifacts:
paths:
- oni-elisp/dist/
package-oni-haml:
stage: pre-package-multifile
before_script:
- rm -rf oni-haml/dist
script:
- cask --path oni-haml package
artifacts:
paths:
- oni-haml/dist/
package-oni-html:
stage: pre-package-multifile
before_script:
- rm -rf oni-html/dist
script:
- cask --path oni-html package
artifacts:
paths:
- oni-html/dist/
package-oni-nxml:
stage: pre-package-multifile
before_script:
- rm -rf oni-nxml/dist
script:
- cask --path oni-nxml package
artifacts:
paths:
- oni-nxml/dist/
package-oni-org:
stage: pre-package-multifile
before_script:
- rm -rf oni-org/dist
script:
- cask --path oni-org package
artifacts:
paths:
- oni-org/dist/
package-oni-php:
stage: pre-package-multifile
before_script:
- rm -rf oni-php/dist
script:
- cask --path oni-php package
artifacts:
paths:
- oni-php/dist/
package-oni-python:
stage: pre-package-multifile
before_script:
- rm -rf oni-python/dist
script:
- cask --path oni-python package
artifacts:
paths:
- oni-python/dist/
package-oni-ruby:
stage: pre-package-multifile
before_script:
- rm -rf oni-ruby/dist
script:
- cask --path oni-ruby package
artifacts:
paths:
- oni-ruby/dist/
package-oni-twig:
stage: pre-package-multifile
before_script:
- rm -rf oni-twig/dist
script:
- cask --path oni-twig package
artifacts:
paths:
- oni-twig/dist/
package:
stage: package
dependencies:
- package-oni-conf
- package-oni-css
- package-oni-elisp
- package-oni-haml
- package-oni-html
- package-oni-nxml
- package-oni-org
- package-oni-php
- package-oni-python
- package-oni-ruby
- package-oni-twig
before_script:
- rm -rf bin/
- mkdir bin/
script: make package
artifacts:
paths:
- bin/
test-oni-alert:
stage: test
dependencies:
- package
script: make test-oni-alert TEST_ARCHIVE=$(realpath bin/)
test-oni-bookmark:
stage: test
dependencies:
- package
script: make test-oni-bookmark TEST_ARCHIVE=$(realpath bin/)
test-oni-conf:
stage: test
dependencies:
- package
script: make test-oni-conf TEST_ARCHIVE=$(realpath bin/)
test-oni-css:
stage: test
dependencies:
- package
script: make test-oni-css TEST_ARCHIVE=$(realpath bin/)
test-oni-elisp:
stage: test
dependencies:
- package
script: make test-oni-elisp TEST_ARCHIVE=$(realpath bin/)
test-oni-grep:
stage: test
dependencies:
- package
script: make test-oni-grep TEST_ARCHIVE=$(realpath bin/)
test-oni-highlight-indent-guides:
stage: test
dependencies:
- package
script: make test-oni-highlight-indent-guides TEST_ARCHIVE=$(realpath bin/)
test-oni-php:
stage: test
dependencies:
- package
script: make test-oni-php TEST_ARCHIVE=$(realpath bin/)
deploy:
stage: deploy
image: instrumentisto/rsync-ssh
dependencies:
- package
before_script:
- chmod 600 "$DEPLOY_KEY"
script:
- rsync -e "ssh -o \"UserKnownHostsFile $KNOWN_HOSTS\" -p 4511 -i $DEPLOY_KEY" -v -c -r --delete bin/ "elpa@ryuslash.org:"