Keep SVG URLs remote during export #1174
Workflow file for this run
This file contains hidden or 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: Run checks | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - trunk | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version-file: '.nvmrc' | |
| cache: npm | |
| - name: Install dependencies | |
| uses: php-actions/composer@v6 | |
| with: | |
| args: --ignore-platform-reqs | |
| - name: Install Dependencies | |
| run: npm i | |
| - name: Run PHP Lint | |
| run: npm run lint:php | |
| - name: Run JS Lint | |
| if: success() || failure() | |
| run: npm run lint:js | |
| - name: Run CSS Lint | |
| if: success() || failure() | |
| run: npm run lint:css | |
| - name: Run Markdown Lint | |
| if: success() || failure() | |
| run: npm run lint:md-docs | |
| - name: Run package.json Lint | |
| if: success() || failure() | |
| run: npm run lint:pkg-json | |
| compute-previous-wordpress-version: | |
| name: Compute previous WordPress version | |
| runs-on: ubuntu-latest | |
| permissions: {} | |
| outputs: | |
| previous-wordpress-version: ${{ steps.get-previous-wordpress-version.outputs.previous-wordpress-version }} | |
| steps: | |
| - name: Get previous WordPress version | |
| id: get-previous-wordpress-version | |
| run: | | |
| curl \ | |
| -H "Accept: application/json" \ | |
| -o versions.json \ | |
| "http://api.wordpress.org/core/stable-check/1.0/" | |
| LATEST_WP_VERSION="$(jq --raw-output 'with_entries(select(.value=="latest"))|keys[]' versions.json)" | |
| # shellcheck disable=SC2034 | |
| IFS='.' read -r LATEST_WP_MAJOR LATEST_WP_MINOR LATEST_WP_PATCH <<< "${LATEST_WP_VERSION}" | |
| if [[ "${LATEST_WP_MINOR}" == "0" ]]; then | |
| PREVIOUS_WP_SERIES="$((LATEST_WP_MAJOR - 1)).9" | |
| else | |
| PREVIOUS_WP_SERIES="${LATEST_WP_MAJOR}.$((LATEST_WP_MINOR - 1))" | |
| fi | |
| PREVIOUS_WP_VERSION="$(jq --raw-output --arg series "${PREVIOUS_WP_SERIES}" 'with_entries(select(.key|startswith($series)))|keys[-1]' versions.json)" | |
| echo "previous-wordpress-version=${PREVIOUS_WP_VERSION}" >> "$GITHUB_OUTPUT" | |
| rm versions.json | |
| tests: | |
| name: PHP ${{ matrix.php }}${{ matrix.wordpress != '' && format( ' (WP {0})', matrix.wordpress ) || '' }} | |
| needs: [compute-previous-wordpress-version] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: ['7.4', '8.0', '8.1', '8.2', '8.3'] | |
| wordpress: ['', 'previous major version'] | |
| env: | |
| WP_ENV_PHP_VERSION: ${{ matrix.php }} | |
| WP_ENV_CORE: ${{ matrix.wordpress == '' && 'WordPress/WordPress' || format( 'https://wordpress.org/wordpress-{0}.zip', needs.compute-previous-wordpress-version.outputs.previous-wordpress-version ) }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version-file: '.nvmrc' | |
| cache: npm | |
| - name: Install Composer | |
| uses: php-actions/composer@v6 | |
| with: | |
| args: --ignore-platform-reqs | |
| - name: Install Node Dependencies | |
| run: npm i | |
| - name: Set up PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: '${{ matrix.php }}' | |
| ini-file: development | |
| coverage: none | |
| - name: Docker debug information | |
| run: docker -v | |
| - name: Start Docker environment | |
| run: npm run wp-env start | |
| - name: Docker container debug information | |
| run: npm run wp-env run tests-cli wp core version | |
| - name: Log running Docker containers | |
| run: docker ps -a | |
| - name: Run PHP tests | |
| run: npm run test:unit:php:base | |
| - name: Run API PHP tests in multisite | |
| run: npm run test:unit:php:multisite-api | |
| e2e: | |
| name: E2E Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version-file: '.nvmrc' | |
| cache: npm | |
| - name: Install Node Dependencies | |
| run: npm i | |
| - name: Build JavaScript | |
| run: npm run build | |
| - name: Install Playwright browsers | |
| run: npx playwright install --with-deps chromium | |
| - name: Start wp-env | |
| run: npm run test:unit:php:setup | |
| - name: Run E2E tests | |
| run: npm run test:e2e | |
| - name: Upload test artifacts on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: playwright-artifacts | |
| path: artifacts/ | |
| if-no-files-found: ignore |