Skip to content

Update VERSION for 3.0.0-alpha.13 #1

Update VERSION for 3.0.0-alpha.13

Update VERSION for 3.0.0-alpha.13 #1

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:
- 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: 20
- uses: pnpm/action-setup@v3
with:
version: 8
- 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 "@fortawesome:registry" https://npm.fontawesome.com/
- 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
- 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 [email protected]
# 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
# keep this folders (Free):
# - Gutenberg
# - Elementor
# - Timber
# - Builderius (Planned)
# - LiveCanvas (Planned)
# else, remove the premium version
- run: rm -rf src/Integration/{Blockstudio,Builderius,Breakdance,Beaver,Blocksy,Bricks,Cwicly,Divi,GreenShift,Kadence,LiveCanvas,Oxygen}
- run: rm -rf assets/integration/{breakdance,bricks,builderius,livecanvas,oxygen}
# remove custom update library
- run: composer remove rosua/edd-sl-plugin-updater --ansi
# 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
# remove the $NESTED_DIRECTORY directory, then
# copy files to $NESTED_DIRECTORY directory Exclude the scoped/nested directories to prevent rsync from copying in a loop
- run: rm -rf windpress-deploy
- 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.TAG_NAME }}