diff --git a/.circleci/config.yml b/.circleci/config.yml index 11f9014..2fcce05 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,6 +27,8 @@ commands: archlinux-run: description: execute command steps in the archlinux container from the CI user parameters: + _name: + type: string command: type: string working_directory: @@ -34,21 +36,11 @@ commands: default: /home/ci steps: - run: + name: << parameters._name >> working_directory: << parameters.working_directory >> command: su ci -c '<< parameters.command >>' custom: - generic: - require-semver-tag: - - &generic_require_semver_tag - run: - name: check CIRCLE_TAG for full semantic version - command: | - : \ - && [ $CIRCLE_TAG ] \ - && [[ $CIRCLE_TAG =~ ^v[0-9]*.[0-9]*.[0-9]*$ ]] \ - ; - archlinux: prepare: - &archlinux_prepare @@ -62,11 +54,13 @@ custom: clone-aur: - &archlinux_clone_aur archlinux-run: + _name: clone aur/scwrypts command: git clone https://aur.archlinux.org/scwrypts.git aur clone-scwrypts: - &archlinux_clone_scwrypts run: + _name: clone wrynegade/scwrypts working_directory: /home/ci command: | GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git clone -b "yage/circle-ci/aur-automation" "$CIRCLE_REPOSITORY_URL" scwrypts @@ -74,6 +68,17 @@ custom: #command: git clone -b "$CIRCLE_BRANCH" "$CIRCLE_REPOSITORY_URL" scwrypts jobs: + require-full-semver: + executor: nodejs + steps: + - run: + name: check CIRCLE_TAG for full semantic version + command: | + : \ + && [ $CIRCLE_TAG ] \ + && [[ $CIRCLE_TAG =~ ^v[0-9]*.[0-9]*.[0-9]*$ ]] \ + ; + aur-test: executor: archlinux steps: @@ -81,6 +86,7 @@ jobs: - *archlinux_clone_aur - *archlinux_clone_scwrypts - archlinux-run: + name: test aur build on current source working_directory: /home/ci/aur command: >- : @@ -101,7 +107,6 @@ jobs: aur-publish: executor: archlinux steps: - - *generic_require_semver_tag - *archlinux_prepare - *archlinux_clone_aur - archlinux-run: @@ -222,59 +227,47 @@ jobs: - run: pip install build && python -m build - run: pip install twine && twine upload dist/* + workflows: - aur-dev: + dev: jobs: - aur-test: + context: [aur-yage] + + #- python-test: *dev_filters + - python-test: + &dev_filters filters: branches: ignore: /^main$/ + - nodejs-test: *dev_filters - - python-dev: + publish: jobs: - - python-test: - filters: - branches: - ignore: /^main$/ - - python: - jobs: - - python-test: + - require-full-semver: filters: tags: only: /^v\d+\.\d+\.\d+.*$/ branches: ignore: /^.*$/ + + - aur-test: + requires: [require_full_semver] + - aur-publish: + context: [aur-yage] + requires: + - aur-test + - python-publish + - nodejs-publish + + - python-test: + requires: [require_full_semver] - python-publish: - requires: [python-test] - context: [pypi-yage] - filters: - tags: - only: /^v\d+\.\d+\.\d+.*$/ - branches: - ignore: /^.*$/ + requires: + - python-test - nodejs-dev: - jobs: - nodejs-test: - filters: - branches: - ignore: /^main$/ - - nodejs: - jobs: - - nodejs-test: - filters: - tags: - only: /^v\d+\.\d+\.\d+.*$/ - branches: - ignore: /^.*$/ + requires: [require_full_semver] - nodejs-publish: - requires: [nodejs-test] - context: [npm-wrynegade] - filters: - tags: - only: /^v\d+\.\d+\.\d+.*$/ - branches: - ignore: /^.*$/ + requires: + - nodejs-test