From e62e9946302d05bdc6a77f93131be6dd8346bac8 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Wed, 11 Dec 2019 00:31:28 -0800 Subject: [PATCH] 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. --- .gitlab-ci.yml | 94 ++++++++++++++++++++++++----------------------- GNUmakefile | 99 +------------------------------------------------- 2 files changed, 51 insertions(+), 142 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,50 +116,6 @@ package-oni-twig: paths: - oni-twig/dist/ -test-oni-alert: - stage: test - script: make test-oni-alert - -test-oni-bookmark: - stage: test - script: make test-oni-bookmark - -test-oni-conf: - stage: test - dependencies: - - package-oni-conf - needs: [package-oni-conf] - script: make test-oni-conf - -test-oni-css: - stage: test - dependencies: - - package-oni-css - needs: [package-oni-css] - script: make test-oni-css - -test-oni-elisp: - stage: test - dependencies: - - package-oni-elisp - needs: [package-oni-elisp] - script: make test-oni-elisp - -test-oni-grep: - stage: test - script: make test-oni-grep - -test-oni-highlight-indent-guides: - stage: test - script: make test-oni-highlight-indent-guides - -test-oni-php: - stage: test - dependencies: - - package-oni-php - needs: [package-oni-php] - script: make test-oni-php - package: stage: package dependencies: @@ -182,6 +138,54 @@ package: paths: - bin/ +test-oni-alert: + stage: test + dependencies: + - package + script: make test-oni-alert TEST_ARCHIVE=$(realpath bin/) + +test-oni-bookmark: + stage: test + dependencies: + - package + script: make test-oni-bookmark TEST_ARCHIVE=$(realpath bin/) + +test-oni-conf: + stage: test + dependencies: + - package + script: make test-oni-conf TEST_ARCHIVE=$(realpath bin/) + +test-oni-css: + stage: test + dependencies: + - package + script: make test-oni-css TEST_ARCHIVE=$(realpath bin/) + +test-oni-elisp: + stage: test + dependencies: + - package + script: make test-oni-elisp TEST_ARCHIVE=$(realpath bin/) + +test-oni-grep: + stage: test + dependencies: + - package + script: make test-oni-grep TEST_ARCHIVE=$(realpath bin/) + +test-oni-highlight-indent-guides: + stage: test + dependencies: + - package + script: make test-oni-highlight-indent-guides TEST_ARCHIVE=$(realpath bin/) + +test-oni-php: + stage: test + dependencies: + - package + script: make test-oni-php TEST_ARCHIVE=$(realpath bin/) + deploy: stage: deploy image: instrumentisto/rsync-ssh 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)