Tom Willemse
e62e994630
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.
197 lines
3.7 KiB
YAML
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:"
|