Use lasted PHP SDK #90
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish | |
on: | |
push: | |
tags: | |
- "*.*" # Push events to matching *.* tags only | |
env: | |
SVN_REPOSITORY: "https://plugins.svn.wordpress.org/moneroo-woocommerce" | |
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} | |
SVN_USERNAME: ${{ secrets.SVN_USERNAME }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-php- | |
- name: Install dependencies | |
run: composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction | |
publish: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Dependencies | |
run: composer install --prefer-dist --no-interaction --no-dev --optimize-autoloader --no-interaction | |
- name: Generate ZIP | |
id: building-zip | |
run: | | |
PLUGIN="moneroo" | |
PROJECT_ROOT=$(pwd) | |
PLUGIN_BUILDS_PATH="$PROJECT_ROOT/builds" | |
VERSION=$(sed -e "s/refs\/tags\///g" <<< $GITHUB_REF) | |
ZIP_FILE="$PLUGIN_BUILDS_PATH/$PLUGIN-$VERSION.zip" | |
PLUGIN_SLUG="moneroo-for-woocommerce" | |
echo "Building plugin file, version $VERSION" | |
# Replace the version in these 2 files. | |
sed -i -e "s/__STABLE_TAG__/$VERSION/g" ./readme.txt | |
sed -i -e "s/__STABLE_TAG__/$VERSION/g" "./$PLUGIN_SLUG.php" | |
mkdir -p $PLUGIN_BUILDS_PATH | |
zip -r $ZIP_FILE . -x "build-cfg/*" "builds/*" ".*" "wp-assets/*" "build/*" "phpunit.xml.dist" "unused-scanner.php" "composer.json" "composer.lock" "README.md" ".php-cs-fixer.dist.php" "phpstan.neon" "phpunit.xml" | |
if [ ! -f "$ZIP_FILE" ]; then | |
echo "Built zip file $ZIP_FILE does not exist" 1>&2 | |
exit 1 | |
fi | |
cp $ZIP_FILE $PLUGIN_BUILDS_PATH/moneroo.zip | |
if [ ! -f "$PLUGIN_BUILDS_PATH/moneroo.zip" ]; then | |
echo "Built zip file $PLUGIN_BUILDS_PATH/moneroo.zip does not exist" 1>&2 | |
exit 1 | |
fi | |
echo "Plugin file $PLUGIN_BUILDS_PATH/moneroo.zip successfully built" | |
echo "ZIP_FILE=$PLUGIN_BUILDS_PATH/moneroo.zip" >> $GITHUB_OUTPUT | |
echo "Successfully built $ZIP_FILE" | |
- name: Publish to CDN via S3 | |
uses: axazara/easy-s3-upload-github-action@main | |
env: | |
FILE: ${{ steps.building-zip.outputs.ZIP_FILE }} | |
S3_ENDPOINT: ${{ secrets.CLOUDFLARE_ENDPOINT }} | |
S3_BUCKET: 'plugins' | |
S3_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_ACCESS_KEY_ID }} | |
S3_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_SECRET_ACCESS_KEY }} | |
- name: Prepare plugin folder | |
id: prepare-deploy | |
run: | | |
PLUGIN="moneroo" | |
PROJECT_ROOT=$(pwd) | |
PLUGIN_BUILDS_PATH="$PROJECT_ROOT/builds" | |
VERSION=$(sed -e "s/refs\/tags\///g" <<< $GITHUB_REF) | |
ZIP_FILE="$PLUGIN_BUILDS_PATH/$PLUGIN-$VERSION.zip" | |
TMP_DIR="$PLUGIN_BUILDS_PATH/tmp" | |
PLUGIN_DIR="$TMP_DIR/$PLUGIN" | |
mkdir -p $PLUGIN_DIR | |
unzip -q $ZIP_FILE -d $TMP_DIR | |
echo "PLUGIN_TMP_DIR=$TMP_DIR" >> $GITHUB_OUTPUT | |
echo "PLUGIN_VERSION=$VERSION" >> $GITHUB_OUTPUT | |
- name: Publish to WordPress SVN | |
uses: 10up/action-wordpress-plugin-deploy@stable | |
with: | |
generate-zip: false | |
env: | |
SVN_USERNAME: ${{ secrets.SVN_USERNAME }} | |
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} | |
SLUG: moneroo | |
VERSION: ${{ steps.prepare-deploy.outputs.PLUGIN_VERSION }} | |
ASSETS_DIR: wp-assets | |
BUILD_DIR: ${{ steps.prepare-deploy.outputs.PLUGIN_TMP_DIR }} |