Skip to content

Update VERSION for 3.2.2 #27

Update VERSION for 3.2.2

Update VERSION for 3.2.2 #27

Workflow file for this run

# builds the content of http://github.com/wind-press/windpress
# inspiration from https://github.com/rectorphp/rector-src/blob/main/.github/workflows/build_scoped_rector.yaml
# TODO: trigger the FREE build only when the PRO build is successful. reference: https://github.blog/changelog/2022-09-08-github-actions-use-github_token-with-workflow_dispatch-and-repository_dispatch/
name: Deploy the Plugin
on:
push:
tags:
- '*'
env:
# see https://github.com/composer/composer/issues/9368#issuecomment-718112361
COMPOSER_ROOT_VERSION: "dev-main"
jobs:
build_scoped_windpress:
# Don't run on forks.
if: github.repository == 'wind-press/windpress'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
# # sometime, when 2 or more consecutive PRs merged, the checkout wind-press/windpress is overlapped
# # and reverting other commit change
# # this should not happen on create a tag, so wait first
# - name: "Wait before checkout wind-press/windpress on create a tag"
# if: "startsWith(github.ref, 'refs/tags/')"
# run: sleep 20
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Use pnpm to install dependencies and build the assets.
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@v4
with:
version: 9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
# Font Awesome Pro. https://fontawesome.com/docs/web/setup/packages
- run: npm config set "//npm.fontawesome.com/:_authToken" ${{ secrets.FONTAWESOME_NPM_AUTH_TOKEN }}
# install dependencies and build the assets
- run: pnpm install
- run: pnpm build
# clean up the dev files
- run: rm -rf assets node_modules package.json pnpm-lock.yaml vite.config.js .npmrc
- run: rm -rf ecs.php rector.php
# scoped using php-scoper.phar which require #[\ReturnTypeWillChange] inside so use php 8.0 for scoping
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
coverage: none
# fixes https://github.com/rectorphp/rector/pull/4559/checks?check_run_id=1359814403, see https://github.com/shivammathur/setup-php#composer-github-oauth
env:
COMPOSER_TOKEN: ${{ secrets.ORG_DEV_PAT }}
# install only prod dependencies
- run: composer install --no-dev --classmap-authoritative --ansi
# copy files to $NESTED_DIRECTORY directory Exclude the scoped/nested directories to prevent rsync from copying in a loop
- run: rsync --exclude windpress-deploy -av * windpress-deploy --quiet
# humbug/php-scoper requires php ^8.2
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
# prefix the namespaces
- run: sh deploy/deploy-scoped.sh windpress-deploy windpress-prefixed
# clone remote repository, so we can push it
- uses: actions/checkout@v4
with:
repository: wind-press/windpress-deployed
ref: main
path: remote-repository
token: ${{ secrets.ORG_DEV_PAT }}
# remove remote files, to avoid piling up dead code in remote repository
- working-directory: remote-repository
run: |
git rm -rf .
git clean -fxd
# copy files to remote repository
- run: cp -a windpress-prefixed/. remote-repository
# clean up the .wordpress-org directory as it is not needed
- run: rm -rf remote-repository/.wordpress-org
# setup git
- working-directory: remote-repository
run: |
git config user.name "Joshua Gugun Siagian"
git config user.email suabahasa@gmail.com
# commit metadata
- name: "Get Git log"
id: git-log
run: |
echo "log<<EOF" >> $GITHUB_OUTPUT
echo "$(git log ${{ github.event.before }}..${{ github.event.after }} --reverse --pretty='https://github.com/wind-press/windpress/commit/%H %s')" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
# publish it to remote repository with tag
- name: "Commit Prefixed - tag"
working-directory: remote-repository
if: "startsWith(github.ref, 'refs/tags/')"
env:
INPUT_LOG: ${{ steps.git-log.outputs.log }}
run: |
git add --all
git commit -m "WindPress ${GITHUB_REF#refs/tags/}" -m "$INPUT_LOG"
git push --quiet origin main
git tag ${GITHUB_REF#refs/tags/} -m "${GITHUB_REF#refs/tags/}"
git push --quiet origin ${GITHUB_REF#refs/tags/}
# WordPress.org build
# Get the current tag from github.ref, where the tag name is the version number.
# tag name pattern: X.Y.Z, where X, Y, Z are integers
# reduce the Y by 1, then build the tag name
# save the tag name as `WP_ORG_VERSION` variable to file $GITHUB_ENV
# Note, set-output is deprecated, so use alternative instead of ::set-output
- run: |
echo "WP_ORG_VERSION=$(echo ${GITHUB_REF#refs/tags/} | awk -F. '{print $1"."$2-1"."$3}')" >> $GITHUB_ENV
- run: ls -la
# remove the $NESTED_DIRECTORY directory
- run: rm -rf windpress-deploy remote-repository windpress-prefixed
# remove the vendor directory
- run: rm -rf vendor
# keep this folders (Free):
# - Gutenberg
# - Elementor
# - GreenShift
# - Kadence
# - Timber
# - Builderius (Planned)
# - LiveCanvas (Planned)
# else, remove the premium version
- run: rm -rf src/Integration/{Blockstudio,Builderius,Breakdance,Beaver,Blocksy,Bricks,Cwicly,Divi,LiveCanvas,Oxygen}
- run: rm -rf assets/integration/{breakdance,bricks,builderius,livecanvas,oxygen}
- run: ls -la
# scoped using php-scoper.phar which require #[\ReturnTypeWillChange] inside so use php 8.0 for scoping
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
coverage: none
# fixes https://github.com/rectorphp/rector/pull/4559/checks?check_run_id=1359814403, see https://github.com/shivammathur/setup-php#composer-github-oauth
env:
COMPOSER_TOKEN: ${{ secrets.ORG_DEV_PAT }}
# remove custom update library
- run: composer remove rosua/edd-sl-plugin-updater --ansi
# decrease the version
- run: php ./deploy/decrease-version.php
# cleanup the decrease-version.php to avoid scanned by humbug/php-scoper
- run: rm deploy/decrease-version.php
# install only prod dependencies
- run: composer install --no-dev --classmap-authoritative --ansi
# copy files to $NESTED_DIRECTORY directory Exclude the scoped/nested directories to prevent rsync from copying in a loop
- run: rsync --exclude windpress-deploy -av * windpress-deploy --quiet
# humbug/php-scoper requires php ^8.2
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
# prefix the namespaces
- run: sh deploy/deploy-scoped.sh windpress-deploy windpress-prefixed
# deploy to WordPress.org SVN repository
- name: WordPress Plugin Deploy
uses: 10up/action-wordpress-plugin-deploy@stable
env:
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SLUG: windpress
BUILD_DIR: windpress-prefixed
VERSION: ${{ env.WP_ORG_VERSION }}