image: silex/emacs:26.3-alpine-dev stages: - pre-package - package - deploy pre-package: stage: pre-package before_script: - rm -rf dist - make clean script: - make after_script: - mkdir -p dist - mv *.tar dist artifacts: paths: - dist/*.tar package: stage: package dependencies: - pre-package before_script: - rm -rf bin/ - mkdir bin/ script: > emacs --batch --load package --funcall package-initialize --eval "(let ((package-archive-upload-base \"public/\")) (package-upload-file (car (sort (file-expand-wildcards \"*.tar\") \#'string>))))" artifacts: paths: - public/ deploy: stage: deploy only: - master dependencies: - package script: echo "Done" artifacts: paths: - public