瀏覽代碼

Added a dotorg deploy script (#4926)

Jason Crist 3 年之前
父節點
當前提交
08718fd7f4
共有 2 個文件被更改,包括 76 次插入0 次删除
  1. 1 0
      .gitignore
  2. 75 0
      deploy-dotorg.sh

+ 1 - 0
.gitignore

@@ -1,4 +1,5 @@
 node_modules
 node_modules
+deploy/
 twentynineteen/
 twentynineteen/
 theme-dev-utils/
 theme-dev-utils/
 theme-dev-utils
 theme-dev-utils

+ 75 - 0
deploy-dotorg.sh

@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# Make sure SVN credentials and project slug are set
+if [[ -z "$SVN_USERNAME" ]]; then
+	echo "Set the SVN_USERNAME secret"
+	exit 1
+fi
+
+if [[ -z "$SVN_PASSWORD" ]]; then
+	echo "Set the SVN_PASSWORD secret"
+	exit 1
+fi
+
+rm -rf ./deploy
+
+# Look into all the themes we expect to deploy
+
+declare -a THEMES_TO_DEPLOY=(
+	"blockbase" 
+	"zoologist"
+	"geologist"
+	"mayland-blocks"
+	"quadrat"
+	"skatepark"
+	"seedlet-blocks"
+)
+
+for THEME_SLUG in ${THEMES_TO_DEPLOY[@]} ; do
+
+	THEME_VERSION=$(cat ./${THEME_SLUG}/style.css \
+	  | grep Version \
+	  | head -1 \
+	  | awk -F: '{ print $2 }' \
+	  | sed 's/[",]//g' \
+	  | sed 's/-wpcom//g' \
+	  | tr -d '[[:space:]]')
+
+	# TODO: This does take into account the -wpcom appended to some theme versions.
+	# Ideally that can be removed from all of the themes versioning in this repository.
+	# I'm not convinced it's helpful...
+
+	printf "\n\nAttempting to deploy theme ${THEME_SLUG} version ${THEME_VERSION}\n"
+
+	SVN_URL="https://themes.svn.wordpress.org/${THEME_SLUG}/"
+	SVN_DIR="$PWD/deploy/${THEME_SLUG}"
+
+	svn checkout --depth immediates "$SVN_URL" "$SVN_DIR" --no-auth-cache --non-interactive > /dev/null
+
+	if [ ! -d "$SVN_DIR" ]; then
+		echo "No theme by that slug to be checked out. Probably not a theme.  Moving on."
+		continue;
+	fi
+
+	if [ -d "$SVN_DIR/$THEME_VERSION" ]; then
+		rm -rf $SVN_DIR
+		echo "Release already exists.  Moving on."
+		continue;
+	fi
+
+	echo "➤ Copying theme '${THEME_SLUG}' version '${THEME_VERSION}' to svn repository... "
+	rsync -rc --include=theme.json --exclude-from './dotorg-exclude.txt' ./$THEME_SLUG/ $SVN_DIR/$THEME_VERSION
+
+	# Remove -wpcom from versoning
+	find $SVN_DIR/$THEME_VERSION/style.css -type f -exec sed -i '' 's/-wpcom//g' {} \; 
+
+	# Remove the wpcom-specific tags used in some themes
+	find $SVN_DIR/$THEME_VERSION/style.css -type f -exec sed -i '' 's/, auto-loading-homepage//g' {} \; 
+	find $SVN_DIR/$THEME_VERSION/style.css -type f -exec sed -i '' 's/, jetpack-global-styles//g' {} \; 
+
+	# Add the version to SVN
+	svn add $SVN_DIR --force > /dev/null
+
+	echo "➤ Committing files..."
+	svn commit $SVN_DIR -m "Update to version ${THEME_VERSION} from GitHub" --no-auth-cache --non-interactive  --username ${SVN_USERNAME} --password ${SVN_PASSWORD}
+done