Skip to content

Commit

Permalink
Merge pull request #66 from studiopress/fix/svn-deployment
Browse files Browse the repository at this point in the history
Fix svn deployment
  • Loading branch information
kienstra committed Aug 2, 2023
2 parents 19561eb + d013735 commit 7bb416b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 119 deletions.
130 changes: 11 additions & 119 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,124 +1,24 @@
version: 2.1

orbs:
wp-svn: studiopress/wp-svn@0.1
wp-svn: studiopress/wp-svn@0.2

commands:
install_dependencies:
description: "Install development dependencies."
steps:
- run: composer install

mkdir_artifacts:
description: "Make Artifacts directory"
steps:
- run:
command: |
[ ! -d "/tmp/artifacts" ] && mkdir /tmp/artifacts &>/dev/null
set_verision_variable:
description: "Set the VERSION environment variable"
steps:
- run:
command: |
echo "export VERSION=$(grep 'Version:' /tmp/src/genesis-connect-woocommerce.php | awk -F: '{print $2}' | sed 's/^\s//')" >> ${BASH_ENV}
show_pwd_info:
description: "Show information about the current directory"
steps:
- run: pwd
- run: ls -lash

svn_setup:
description: "Setup SVN"
steps:
- run: echo "export SLUG=genesis-connect-woocommerce" >> ${BASH_ENV}
- run: svn co https://plugins.svn.wordpress.org/${SLUG} --depth=empty .
- run: svn up trunk
- run: svn up tags --depth=empty
- run: find ./trunk -not -path "./trunk" -delete
- run: cp -r /tmp/src/. ./trunk
- run: svn propset svn:ignore -F ./trunk/.svnignore ./trunk

svn_add_changes:
description: "Add changes to SVN"
steps:
- run:
command: if [[ ! -z $(svn st | grep ^\!) ]]; then svn st | grep ^! | awk '{print " --force "$2}' | xargs -0r svn rm; fi
- run: svn add --force .

svn_create_tag:
description: "Create a SVN tag"
steps:
- set_verision_variable
- run: svn cp trunk tags/${VERSION}

svn_commit:
description: "Commit changes to SVN"
steps:
- set_verision_variable
- run: svn ci -m "Tagging ${VERSION} from Github" --no-auth-cache --non-interactive --username "${SVN_USERNAME}" --password "${SVN_PASSWORD}"

executors:
base:
docker:
- image: cimg/base:current
working_directory: /tmp
php_node:
jobs:
lint:
docker:
- image: cimg/php:7.3-node
working_directory: /tmp/src

jobs:
checkout:
executor: base
steps:
- mkdir_artifacts
- checkout:
path: src
- persist_to_workspace:
root: /tmp
paths:
- src

checks:
executor: php_node
steps:
- attach_workspace:
at: /tmp
- install_dependencies
- run: composer phpcs

deploy_svn_tag:
executor: base
working_directory: /tmp/artifacts
steps:
- attach_workspace:
at: /tmp
- svn_setup
- svn_create_tag
- svn_add_changes
- svn_commit
- checkout
- run: composer i && composer phpcs

workflows:
test-deploy:
jobs:
- checkout:
filters:
branches:
ignore:
- master
- checks:
requires:
- checkout
filters:
branches:
ignore:
- master
- lint
- approval-for-deploy-tested-up-to-bump:
type: approval
requires:
- checks
- lint
filters:
tags:
ignore: /.*/
Expand All @@ -129,26 +29,18 @@ workflows:
requires:
- approval-for-deploy-tested-up-to-bump

tag_deploy:
tag-deploy:
jobs:
- checkout:
filters:
tags:
only: /^\d+\.\d+\.\d+$/
branches:
ignore: /.*/
- checks:
requires:
- checkout
- lint:
filters:
tags:
only: /^\d+\.\d+\.\d+$/
branches:
ignore: /.*/
- deploy_svn_tag:
- wp-svn/deploy:
context: genesis-svn
requires:
- checks
- lint
filters:
tags:
only: /^\d+\.\d+\.\d+$/
Expand Down
1 change: 1 addition & 0 deletions .svnignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.gitignore
.gitattributes
.svnignore
.circleci
composer.json
composer.lock
node_modules
Expand Down

0 comments on commit 7bb416b

Please sign in to comment.