diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8e321112858739b596ad7777b7440ebdca27a48a..9d723387222d8010595037ab33a3e8d802b8271b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ workflow: rules: - if: $CI_COMMIT_BRANCH - changes: + changes: - README.md - .gitlab-ci.yml when: never @@ -14,6 +14,7 @@ workflow: - if: $CI_COMMIT_TAG =~ /^[0-9]+[.][0-9]+([.][0-9]+)?([-a-z])*$/ stages: # List of stages for jobs, and their order of execution + - build - package - upload - release @@ -30,22 +31,33 @@ variables: GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_FORCE_HTTPS: "true" -package: +build: + stage: build + image: node:latest + script: + - npm install && npm run build + - find . -name node_modules -type d | xargs rm -rf + artifacts: + paths: + - assets + +package: image: javieraviles/zip:latest stage: package script: - - 'zip -r $ZIP * -x "*CODE_OF_CONDUCT.md" -x "*node_modules*" -x "*bin/*" -x "*tests/*" -x "*.gitignore" -x "*.gitlab-ci.yml" -x "*.gitmodules" -x "*phpunit.xml.dist" -x "*Gruntfile.js" -x "*package.json" -x "*package-lock.json" -x "*.travis.yml" -x "*.editorconfig" -x "*.distignore" -x "*src/*"' + - 'zip -r $ZIP * -x "*CODE_OF_CONDUCT.md" -x "*node_modules*" -x "*bin/*" -x "*tests/*" -x "*.gitignore" -x "*.gitlab-ci.yml" -x "*.gitmodules" -x "*.php-cs-fixer.cache" -x "*phpunit.xml.dist" -x "*Gruntfile.js" -x "*package.json" -x "*package-lock.json" -x "*.travis.yml" -x "*.editorconfig" -x "*.distignore" -x "*src/*" -x "*.husky*" -x ".lintstagedrc.js" -x ".pretierrc" -x ".prettierrc-php" -x ".prettierignore" -x "eslint.config.js" -x "*.nvimrc*"' - 'ls -lah' artifacts: paths: - $ZIP + upload: stage: upload image: curlimages/curl:latest script: - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP} ${PACKAGE_REGISTRY_URL}/${ZIP} - + release: # Caution, as of 2021-02-02 these assets links require a login, see: # https://gitlab.com/gitlab-org/gitlab/-/issues/299384