Skip to content

Frappe Compatibility Matrix #145

Frappe Compatibility Matrix

Frappe Compatibility Matrix #145

Workflow file for this run

name: Frappe Compatibility Matrix
on:
schedule:
# Daily at 02:00 AM UTC
- cron: '0 2 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
install-matrix:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
insights_branch: [main, version-3, develop]
frappe_branch: [version-15, version-16]
name: Install (Insights=${{ matrix.insights_branch }}, Frappe=${{ matrix.frappe_branch }})
services:
mariadb:
image: mariadb:10.6
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=5s
--health-timeout=2s
--health-retries=3
env:
BENCH_PATH: /home/runner/frappe-bench
SITE_NAME: test_site
DB_ROOT_PASSWORD: root
ADMIN_PASSWORD: admin
steps:
- name: Checkout Insights
uses: actions/checkout@v4
with:
ref: ${{ matrix.insights_branch }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.frappe_branch == 'version-16' && '3.14' || '3.10' }}
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.frappe_branch == 'version-16' && '24' || '18' }}
- name: Install bench
run: |
pip install frappe-bench
- name: Init bench with Frappe ${{ matrix.frappe_branch }}
run: |
bench init \
--frappe-branch ${{ matrix.frappe_branch }} \
--skip-redis-config-generation \
--skip-assets \
--python "$(which python)" \
"$BENCH_PATH"
mysql --host 127.0.0.1 --port 3306 -u root -p"$DB_ROOT_PASSWORD" -e "SET GLOBAL character_set_server = 'utf8mb4'"
mysql --host 127.0.0.1 --port 3306 -u root -p"$DB_ROOT_PASSWORD" -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"
- name: Create Site, Install Insights, and Run Tests
working-directory: ${{ env.BENCH_PATH }}
env:
CI: "Yes"
run: |
# Install the checked-out Insights code into the bench
bench get-app insights "$GITHUB_WORKSPACE"
# Install requirements
bench setup requirements
# Create site and install Insights
bench new-site "$SITE_NAME" \
--db-root-password "$DB_ROOT_PASSWORD" \
--admin-password "$ADMIN_PASSWORD"
bench --site "$SITE_NAME" install-app insights
bench --site "$SITE_NAME" run-tests --app insights --module insights.tests.test_basic_workflow