[js] Update tinymce 6.8.2 → 6.8.3 (patch) #3
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 & Test | |
on: | |
push: | |
branches: | |
- main | |
- 7.1-stable | |
- 7.0-stable | |
- 6.1-stable | |
pull_request: | |
jobs: | |
check_yarn_lock: | |
runs-on: ubuntu-latest | |
name: Check yarn.lock | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get changed files | |
id: changed-yarn-lock | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: yarn.lock | |
outputs: | |
yarn_lock_changed: ${{ steps.changed-yarn-lock.outputs.any_changed }} | |
update_js_packages: | |
runs-on: ubuntu-latest | |
name: Update JS packages | |
needs: check_yarn_lock | |
if: ${{ needs.check_yarn_lock.outputs.yarn_lock_changed }} | |
permissions: | |
contents: write | |
pull-requests: read | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
persist-credentials: false | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
cache: "yarn" | |
- name: Restore node_modules cache | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-node-modules | |
- name: Install dependencies | |
run: yarn install | |
- name: YARN build | |
run: yarn build | |
- name: Check git status | |
id: git-status | |
run: git diff --quiet || echo "changed=true" >> $GITHUB_OUTPUT | |
- name: git commit | |
if: steps.git-status.outputs.changed == 'true' | |
run: | | |
git config --local user.name 'AlchemyCMS - CI Bot' | |
git config --local user.email 'alchemy@blish.cloud' | |
git add vendor/javascript | |
git commit -m "Update JS packages" -m "Rebuilt packages due to updated dependencies." | |
- name: Push changes | |
if: steps.git-status.outputs.changed == 'true' | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.ALCHEMY_CI_BOT_ACCESS_TOKEN }} | |
branch: ${{ github.head_ref }} | |
RSpec: | |
runs-on: ubuntu-latest | |
needs: update_js_packages | |
if: ${{ !success('update_js_packages') }} | |
strategy: | |
fail-fast: false | |
matrix: | |
rails: | |
- "7.0" | |
- "7.1" | |
ruby: | |
- "3.0" | |
- "3.1" | |
- "3.2" | |
- "3.3" | |
database: | |
- mysql | |
- postgresql | |
- mariadb | |
env: | |
DB: ${{ matrix.database }} | |
DB_USER: alchemy_user | |
DB_PASSWORD: password | |
DB_HOST: "127.0.0.1" | |
RAILS_ENV: test | |
RAILS_VERSION: ${{ matrix.rails }} | |
RUBY_YJIT_ENABLE: "1" | |
services: | |
postgres: | |
image: postgres:11 | |
env: | |
POSTGRES_USER: alchemy_user | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: alchemy_cms_dummy_test | |
ports: ["5432:5432"] | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
mysql: | |
image: mysql:latest | |
ports: ["3306:3306"] | |
env: | |
MYSQL_USER: alchemy_user | |
MYSQL_PASSWORD: password | |
MYSQL_DATABASE: alchemy_cms_dummy_test | |
MYSQL_ROOT_PASSWORD: password | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5 | |
mariadb: | |
image: mariadb:latest | |
ports: ["3307:3306"] | |
env: | |
MARIADB_USER: alchemy_user | |
MARIADB_PASSWORD: password | |
MARIADB_DATABASE: alchemy_cms_dummy_test | |
MARIADB_ROOT_PASSWORD: password | |
options: --health-cmd="mariadb-admin ping" --health-interval=10s --health-timeout=5s --health-retries=5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Restore apt cache | |
id: apt-cache | |
uses: actions/cache@v4 | |
with: | |
path: /home/runner/apt/cache | |
key: ${{ runner.os }}-apt-${{ matrix.database }} | |
restore-keys: | | |
${{ runner.os }}-apt- | |
- name: Install Postgres headers | |
if: matrix.database == 'postgresql' | |
run: | | |
mkdir -p /home/runner/apt/cache | |
sudo apt update -qq | |
sudo apt install -qq --fix-missing libpq-dev -o dir::cache::archives="/home/runner/apt/cache" | |
sudo chown -R runner /home/runner/apt/cache | |
- name: Install MySQL headers | |
if: matrix.database == 'mysql' || matrix.database == 'mariadb' | |
run: | | |
mkdir -p /home/runner/apt/cache | |
sudo apt update -qq | |
sudo apt install -qq --fix-missing libmysqlclient-dev -o dir::cache::archives="/home/runner/apt/cache" | |
sudo chown -R runner /home/runner/apt/cache | |
- name: Prepare database | |
run: | | |
bundle exec rake alchemy:spec:prepare | |
- name: Run tests & publish code coverage | |
uses: paambaati/codeclimate-action@v3.2.0 | |
env: | |
CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22 | |
with: | |
coverageCommand: bundle exec rspec | |
- uses: actions/upload-artifact@main | |
if: failure() | |
with: | |
name: Screenshots | |
path: spec/dummy/tmp/screenshots | |
Jest: | |
runs-on: ubuntu-latest | |
needs: update_js_packages | |
if: ${{ !success('update_js_packages') }} | |
env: | |
NODE_ENV: test | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Restore node modules cache | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('./package.json') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install yarn | |
run: yarn install | |
- name: Run jest | |
run: yarn jest --verbose |