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-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-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-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-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-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/) 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:"