From e62e9946302d05bdc6a77f93131be6dd8346bac8 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Wed, 11 Dec 2019 00:31:28 -0800 Subject: 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 | 82 +++++++++++++++++++++++++----------------------- 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) -- cgit v1.3-2-g0d8e