Build Bluehost Plugin For Testing #158
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: Build Bluehost Plugin For Testing | |
on: | |
workflow_dispatch: | |
workflow_call: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build Plugin Zip | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.1" | |
coverage: none | |
tools: composer, cs2pr | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout plugin | |
uses: actions/checkout@v4 | |
with: | |
repository: bluehost/bluehost-wordpress-plugin | |
ref: 'develop' | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Checkout module | |
uses: actions/checkout@v4 | |
with: | |
path: ./modules/${{ github.repository }} | |
- name: Get Composer cache directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer vendor directory | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Show versions | |
run: | | |
php --version | |
composer --version | |
node --version | |
npm --version | |
- name: Modify composer.json | |
run: | | |
node ./modules/newfold-labs/wp-module-ecommerce/scripts/update-plugin-composer.mjs ${PWD}/composer.json ${PWD}/modules | |
- name: Update lockfile | |
run: composer update | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Install PHP Dependencies | |
run: composer install --no-progress --no-dev --optimize-autoloader --prefer-dist | |
- name: Setup Registry on Plugin | |
run: printf "\n//npm.pkg.github.com/:_authToken=${{ secrets.NEWFOLD_ACCESS_TOKEN }}" >> .npmrc | |
- name: NPM Install | |
run: npm ci --legacy-peer-deps | |
- name: Setup Registry on Module | |
working-directory: ./modules/${{ github.repository }} | |
run: printf "\n//npm.pkg.github.com/:_authToken=${{ secrets.NEWFOLD_ACCESS_TOKEN }}" >> .npmrc | |
- name: Setup module | |
working-directory: ./modules/${{ github.repository }} | |
run: npm ci --legacy-peer-deps | |
- name: NPM Install module | |
run: npm install ./modules/newfold-labs/wp-module-ecommerce --legacy-peer-deps --force | |
- name: View modified files | |
run: cat package.json composer.json | |
- name: Build JavaScript in module | |
working-directory: ./modules/${{ github.repository }} | |
run: npm run build | |
- name: Build JavaScript in plugin | |
run: npm run build | |
- name: Setup workflow context | |
id: workflow | |
working-directory: ${{ runner.temp }} | |
env: | |
REPO: "bluehost-wordpress-plugin" | |
run: | | |
mkdir dist | |
echo "DIST=${PWD}/dist" >> $GITHUB_OUTPUT | |
echo "PACKAGE=${REPO##*/}" >> $GITHUB_OUTPUT | |
- name: Prepare files | |
run: rsync -r --exclude-from=.distignore . ${{ steps.workflow.outputs.DIST }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ steps.workflow.outputs.PACKAGE }} | |
path: ${{ steps.workflow.outputs.DIST }} |