1
0
Fork 0
emacs-config/.gitlab-ci.yml
Tom Willemse 26a2597a64 Change the default container used
The container in this repository is based on the same one initially specified,
but contains some extra things needed for running and testing my configuration.
2020-07-19 13:31:09 -07:00

363 lines
8 KiB
YAML

image: registry.gitlab.com/ryuslash/emacs-config
stages:
- pre-package-multifile
- package
- unit-test
- integration-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-oni-csharp:
stage: pre-package-multifile
before_script:
- rm -rf oni-csharp/dist
script:
- cask --path oni-csharp package
artifacts:
paths:
- oni-csharp/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
- package-oni-csharp
before_script:
- rm -rf bin/
- mkdir bin/
script: make package
artifacts:
paths:
- bin/
unit-test-oni-alert:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-alert TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-bookmark:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-bookmark TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-conf:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-conf TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-core:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-core TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-elisp:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-elisp TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-grep:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-grep TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-highlight-indent-guides:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-highlight-indent-guides TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-org:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-org TEST_ARCHIVE=$(realpath bin/)
unit-test-oni-php:
stage: unit-test
dependencies:
- package
script: make unit-test-oni-php TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-alert:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-alert TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-autohotkey:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-autohotkey TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-bat:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-bat TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-bats:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-bats TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-company:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-company TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-conf:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-conf TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-counsel:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-counsel TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-csharp:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-csharp TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-css:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-css TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-bookmark:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-bookmark TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-browse-url:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-browse-url TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-core:
stage: integration-test
dependencies:
- package
before_script:
- mkdir -p ~/.emacs.d/data/
script: make integration-test-oni-core TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-cpp:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-cpp TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-docker:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-docker TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-fish:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-fish TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-gui:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-gui TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-haskell:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-haskell TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-ivy:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-ivy TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-json:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-json TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-org:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-org TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-paredit:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-paredit TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-prescient:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-prescient TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-scheme:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-scheme TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-yasnippet:
stage: integration-test
dependencies:
- package
script: make integration-test-oni-yasnippet TEST_ARCHIVE=$(realpath bin/)
deploy:
only:
- master
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:"