mirror of
https://github.com/10h30/genesis-simple-sidebars.git
synced 2026-07-11 18:46:05 +09:00
76472f6623
ci: working_directory during svn push ci: working_directory during svn push ci: working_directory during svn push ci: svn_add_changes bug ci: double check env vars and context is working ci: svn_setup bug fixed
174 lines
4.0 KiB
YAML
174 lines
4.0 KiB
YAML
version: 2.1
|
|
|
|
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/plugin.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=$(grep '@package' /tmp/src/plugin.php | awk -F ' ' '{print $3}' | sed 's/^\s//')" >> ${BASH_ENV}
|
|
- run: svn co https://plugins.svn.wordpress.org/${SLUG} --depth=empty .
|
|
- run: svn up trunk
|
|
- 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: svn st | grep ^! | awk '{print " --force "$2}' | xargs svn rm &>/dev/null
|
|
- run: svn add --force .
|
|
|
|
svn_create_tag:
|
|
description: "Create a SVN tag"
|
|
steps:
|
|
- set_verision_variable
|
|
- run: svn up tags --depth=empty
|
|
- 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: circleci/buildpack-deps:latest
|
|
working_directory: /tmp
|
|
php_node:
|
|
docker:
|
|
- image: circleci/php:7.3.3-stretch-node-browsers
|
|
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_branch:
|
|
executor: base
|
|
working_directory: /tmp/artifacts
|
|
steps:
|
|
- attach_workspace:
|
|
at: /tmp
|
|
- svn_setup
|
|
- svn_add_changes
|
|
- svn_commit
|
|
|
|
deploy_svn_tag:
|
|
executor: base
|
|
working_directory: /tmp/artifacts
|
|
steps:
|
|
- attach_workspace:
|
|
at: /tmp
|
|
- svn_setup
|
|
- svn_add_changes
|
|
- svn_create_tag
|
|
- svn_commit
|
|
|
|
workflows:
|
|
version: 2
|
|
checks:
|
|
jobs:
|
|
- checkout:
|
|
filters:
|
|
branches:
|
|
ignore:
|
|
- master
|
|
- checks:
|
|
requires:
|
|
- checkout
|
|
filters:
|
|
branches:
|
|
ignore:
|
|
- master
|
|
|
|
branch_deploy:
|
|
jobs:
|
|
- checkout:
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|
|
- checks:
|
|
requires:
|
|
- checkout
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|
|
- deploy_svn_branch:
|
|
context: genesis-svn
|
|
requires:
|
|
- checks
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
tag_deploy:
|
|
jobs:
|
|
- checkout:
|
|
filters:
|
|
tags:
|
|
only: /^\d+\.\d+\.\d+$/
|
|
branches:
|
|
ignore: /.*/
|
|
- checks:
|
|
requires:
|
|
- checkout
|
|
filters:
|
|
tags:
|
|
only: /^\d+\.\d+\.\d+$/
|
|
branches:
|
|
ignore: /.*/
|
|
- deploy_svn_tag:
|
|
context: genesis-svn
|
|
requires:
|
|
- checks
|
|
filters:
|
|
tags:
|
|
only: /^\d+\.\d+\.\d+$/
|
|
branches:
|
|
ignore: /.*/
|