Skip to content

feat: update .mo files action & update translations #107

feat: update .mo files action & update translations

feat: update .mo files action & update translations #107

Workflow file for this run

name: Tests
on:
push:
branches: [dev, production]
tags:
- '*.*.*'
pull_request:
branches: [dev, production]
jobs:
tests:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
php: [8.1, 8.2]
os: [ubuntu-20.04]
wordpress: [6.4.3, latest]
include:
- experimental: true
- experimental: false
php: 8.1
wordpress: 6.4.3
name: Tests - PHP ${{ matrix.php }} - WP ${{ matrix.wordpress }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Remove MySQL
run: sudo apt remove mysql-server-8.0 mysql-common
- name: Update apt
run: sudo apt-get update
- name: Install MariaDB
run: |
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
echo "deb http://downloads.mariadb.com/MariaDB/mariadb-10.5/repo/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/mariadb.list
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/mariadb.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
sudo apt-get install mariadb-server-10.5 mariadb-client-10.5
sudo mysqladmin -p'' password 'root'
- name: Start required services
run: sudo systemctl start mysql && mysql --version
- name: Cache composer packages
uses: actions/cache@v3
with:
path: vendor
key: ${{ matrix.php }}-php-${{ hashFiles('**/composer.lock') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer
coverage: pcov
- name: Install dependencies
env:
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{secrets.PAT_FOR_GITHUB_ACTIONS}}"} }'
run: composer install --no-interaction --no-progress
- name: Install WP tests
run: bash bin/install-wp-tests.sh wordpress_test root root localhost ${{ matrix.wordpress }}
- name: Run tests
run: composer test
if: matrix.experimental == true
- name: Run tests with coverage
run: composer test-coverage
if: matrix.experimental == false
- name: Save code coverage to artifact
uses: actions/upload-artifact@v3
if: matrix.experimental == false
with:
name: code-coverage
path: "coverage.xml"
retention-days: 5
- name: Prepare Build
if: startsWith(github.ref, 'refs/tags/') && matrix.experimental == false
run: |
export COMPOSER_MEMORY_LIMIT=-1
export GITHUB_BUILD_PATH=${{github.workspace}}
export GITHUB_REPO_SLUG="$(basename ${{github.workspace}})"
export GITHUB_TAG="$(basename ${{github.ref}})"
echo "File to be created : $GITHUB_BUILD_PATH/$GITHUB_REPO_SLUG-$GITHUB_TAG.zip"
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
wp package install wp-cli/dist-archive-command
npm install
npm run build
composer install --no-dev --optimize-autoloader
cd ..
wp dist-archive $GITHUB_REPO_SLUG $GITHUB_BUILD_PATH/$GITHUB_REPO_SLUG-$GITHUB_TAG.zip
cd $GITHUB_BUILD_PATH
ls $GITHUB_BUILD_PATH
- name: Deploy
if: startsWith(github.ref, 'refs/tags/') && matrix.experimental == false
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.PAT_FOR_GITHUB_ACTIONS }}
with:
files:
${{github.workspace}}/*.zip
- name: Trigger Bedrock Update
if: (github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/production') && matrix.experimental == false
uses: pressbooks/composer-autoupdate-bedrock@v2
with:
triggered-by: ${{ github.repository }}
token: ${{ secrets.PAT_COMPOSER_UPDATE }}
branch: ${{ github.ref }}
coverage:
runs-on: ubuntu-latest
needs:
- tests
name: Upload coverage
if: needs.tests.outputs.coverage
steps:
- uses: actions/checkout@v4
- name: Fetch code coverage artifact
uses: actions/download-artifact@v3
with:
name: code-coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}