diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 374 |
1 files changed, 12 insertions, 362 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1816d24..e87ce5b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,369 +1,19 @@ image: registry.gitlab.com/ryuslash/emacs-config stages: - - pre-package-multifile - - package - - unit-test - - integration-test - - deploy + - generate + - run -package-oni-conf: - stage: pre-package-multifile - before_script: - - rm -rf oni-conf/dist - script: - - cask --path oni-conf package +generate-config: + stage: generate + script: emacs -batch -load generate.el -funcall generate artifacts: paths: - - oni-conf/dist/ + - generated-config.yml -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-lua: - stage: integration-test - dependencies: - - package - script: make integration-test-oni-lua 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:" +child-pipeline: + stage: run + trigger: + include: + - artifact: generated-config.yml + job: generate-config |