PRESS4-479 | Install/Activate Yith Payment plugins with WooCommerce Installation #1011
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: Cypress Tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- trunk | |
paths-ignore: | |
- '.github/**' | |
- '.gitignore' | |
- '**.md' | |
pull_request: | |
types: [ opened, edited, synchronize, reopened, ready_for_review ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
Tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout plugin | |
uses: actions/checkout@v4 | |
with: | |
repository: bluehost/bluehost-wordpress-plugin | |
ref: 'develop' | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.1" | |
coverage: none | |
tools: composer, cs2pr | |
- 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: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Checkout module | |
uses: actions/checkout@v4 | |
with: | |
path: ./vendor/${{ 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 ./vendor/newfold-labs/wp-module-ecommerce/scripts/update-plugin-composer.mjs ${PWD}/composer.json ${PWD}/vendor | |
- 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: ./vendor/${{ github.repository }} | |
run: printf "\n//npm.pkg.github.com/:_authToken=${{ secrets.NEWFOLD_ACCESS_TOKEN }}" >> .npmrc | |
- name: Setup module | |
working-directory: ./vendor/${{ github.repository }} | |
run: npm ci --legacy-peer-deps | |
- name: NPM Install module | |
run: npm install ./vendor/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: ./vendor/${{ github.repository }} | |
run: npm run build | |
- name: Build JavaScript in plugin | |
run: npm run build | |
- name: Prepare files | |
run: rsync -r --include-from=.distinclude --exclude-from=.distignore . ${{ steps.workflow.outputs.DIST }}/${{ steps.workflow.outputs.PACKAGE }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ steps.workflow.outputs.PACKAGE }} | |
path: ${{ steps.workflow.outputs.DIST }} | |
- name: Configure WordPress | |
run: echo '{"config":{"WP_DEBUG_DISPLAY":false},"plugins":["${{ steps.workflow.outputs.DIST }}/${{ steps.workflow.outputs.PACKAGE }}"]}' > .wp-env.override.json | |
- name: Install WordPress | |
run: npx wp-env start --debug | |
- name: Run Cypress Tests | |
run: npx cypress run | |
- name: Store screenshots of test failures | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: screenshots | |
path: ./tests/cypress/screenshots | |
- name: Output debug.log file contents | |
if: ${{ always() }} | |
continue-on-error: true | |
run: npx wp-env run wordpress "cat /var/www/html/wp-content/debug.log" | |
- name: Store debug.log file | |
if: ${{ steps.hasErrors.outputs.failure }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: logs | |
path: ./debug.log |