1
0
Fork 0
emacs-config/.gitlab-ci.yml
2020-04-09 11:32:52 -07:00

380 lines
9 KiB
YAML

image: silex/emacs:26.3-alpine-dev
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
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-alert TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-autohotkey:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-autohotkey TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-bats:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-bats TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-company:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-company TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-conf:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-conf TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-counsel:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-counsel TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-csharp:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-csharp TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-css:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-css TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-bookmark:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-bookmark TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-browse-url:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-browse-url TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-core:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
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
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-cpp TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-docker:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-docker TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-fish:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-fish TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-gui:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-gui TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-haskell:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-haskell TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-ivy:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-ivy TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-json:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-json TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-org:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-org TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-paredit:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-paredit TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-prescient:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-prescient TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-scheme:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
dependencies:
- package
script: make integration-test-oni-scheme TEST_ARCHIVE=$(realpath bin/)
integration-test-oni-yasnippet:
stage: integration-test
image: registry.gitlab.com/ryuslash/emacs-config
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:"