diff options
author | Tom Willemse | 2019-12-11 00:31:28 -0800 |
---|---|---|
committer | Tom Willemse | 2019-12-11 21:55:20 -0800 |
commit | e62e9946302d05bdc6a77f93131be6dd8346bac8 (patch) | |
tree | 27668c40323a524172dba92485b42465fdabe1fd | |
parent | 977f795e0304204b6d4a397dab426009ec3957f9 (diff) | |
download | emacs-config-e62e9946302d05bdc6a77f93131be6dd8346bac8.tar.gz emacs-config-e62e9946302d05bdc6a77f93131be6dd8346bac8.zip |
Switch the Test and Package stages
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.
-rw-r--r-- | .gitlab-ci.yml | 82 | ||||
-rw-r--r-- | GNUmakefile | 99 |
2 files changed, 45 insertions, 136 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 613980f..d5151b6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,8 +2,8 @@ image: silex/emacs:26.3-alpine-dev stages: - pre-package-multifile - - test - package + - test - deploy package-oni-conf: @@ -116,71 +116,75 @@ package-oni-twig: 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 - script: make test-oni-alert + dependencies: + - package + script: make test-oni-alert TEST_ARCHIVE=$(realpath bin/) test-oni-bookmark: stage: test - script: make test-oni-bookmark + dependencies: + - package + script: make test-oni-bookmark TEST_ARCHIVE=$(realpath bin/) test-oni-conf: stage: test dependencies: - - package-oni-conf - needs: [package-oni-conf] - script: make test-oni-conf + - package + script: make test-oni-conf TEST_ARCHIVE=$(realpath bin/) test-oni-css: stage: test dependencies: - - package-oni-css - needs: [package-oni-css] - script: make test-oni-css + - package + script: make test-oni-css TEST_ARCHIVE=$(realpath bin/) test-oni-elisp: stage: test dependencies: - - package-oni-elisp - needs: [package-oni-elisp] - script: make test-oni-elisp + - package + script: make test-oni-elisp TEST_ARCHIVE=$(realpath bin/) test-oni-grep: stage: test - script: make test-oni-grep + dependencies: + - package + script: make test-oni-grep TEST_ARCHIVE=$(realpath bin/) test-oni-highlight-indent-guides: stage: test - script: make test-oni-highlight-indent-guides + dependencies: + - package + script: make test-oni-highlight-indent-guides TEST_ARCHIVE=$(realpath bin/) test-oni-php: stage: test dependencies: - - package-oni-php - needs: [package-oni-php] - script: make test-oni-php - -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/ + - package + script: make test-oni-php TEST_ARCHIVE=$(realpath bin/) deploy: stage: deploy diff --git a/GNUmakefile b/GNUmakefile index 342a533..ee727b4 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -58,97 +58,9 @@ install-%: emacs --batch \ --load oni-package.el \ --funcall package-initialize \ + --eval "(add-to-list 'package-archives '(\"test\" . \"$(TEST_ARCHIVE)\"))" \ --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file \"$*.el\")" - -install-oni-conf: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-conf/dist/*.tar\") #'string>)))" - -install-oni-css: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-css/dist/*.tar\") #'string>)))" - -install-oni-elisp: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-elisp/dist/*.tar\") #'string>)))" - -install-oni-haml: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-haml/dist/*.tar\") #'string>)))" - -install-oni-html: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-html/dist/*.tar\") #'string>)))" - -install-oni-nxml: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-nxml/dist/*.tar\") #'string>)))" - -install-oni-org: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-org/dist/*.tar\") #'string>)))" - -install-oni-php: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-php/dist/*.tar\") #'string>)))" - -install-oni-python: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-python/dist/*.tar\") #'string>)))" - -install-oni-ruby: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-ruby/dist/*.tar\") #'string>)))" - -install-oni-twig: - emacs --batch \ - --load oni-package.el \ - --funcall package-initialize \ - --eval '(package-refresh-contents)' \ - $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ - --eval "(package-install-file (car (sort (file-expand-wildcards \"oni-twig/dist/*.tar\") #'string>)))" + --eval "(package-install '$*)" test-%: install-% emacs --batch \ @@ -159,12 +71,5 @@ test-%: install-% --eval "(setq ert-batch-backtrace-right-margin nil)" \ --funcall ert-run-tests-batch-and-exit -test-oni-bookmark: DEPS := oni-data-dir -test-oni-conf: DEPS := oni-yasnippet -test-oni-css: DEPS := oni-company oni-fci -test-oni-php: DEPS := oni-flycheck oni-company oni-fci -test-oni-elisp: DEPS := oni-company oni-flycheck oni-paredit oni-fci \ - oni-yasnippet - clean: rm -fv $(FILES) |