2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-14 17:24:04 +00:00
bench/.github/workflows/ci.yml
2023-08-07 12:27:02 +05:30

137 lines
4.0 KiB
YAML

name: 'CI'
on:
pull_request:
workflow_dispatch:
push:
branches: [ develop ]
concurrency:
group: ci-develop-${{ github.event_name }}-${{ github.event.number }}
cancel-in-progress: true
permissions:
contents: read
jobs:
base_setup:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
python-version: [ '3.7', '3.8', '3.9', '3.10' ]
name: Base (${{ matrix.python-version }})
services:
mariadb:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: travis
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/setup-node@v3
with:
node-version: 14
- run: |
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install redis-server
python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip;
python -m pip install -U -e ${GITHUB_WORKSPACE};
- run: python ${GITHUB_WORKSPACE}/bench/tests/test_init.py TestBenchInit.basic
production_setup:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
matrix:
python-version: [ '3.7', '3.10' ]
name: Production (${{ matrix.python-version }})
services:
mariadb:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: travis
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/setup-node@v3
with:
node-version: 14
- run: |
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install redis-server
python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip;
python -m pip install -U -e ${GITHUB_WORKSPACE};
- run: python bench/tests/test_setup_production.py TestSetupProduction.production
tests:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
python-version: [ '3.7', '3.10' ]
name: Tests (${{ matrix.python-version }})
services:
mariadb:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: travis
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/setup-node@v3
if: ${{ matrix.python-version == '3.10' }}
with:
node-version: 18
- uses: actions/setup-node@v3
if: ${{ matrix.python-version == '3.7' }}
with:
node-version: 14
- run: |
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb;
sudo apt install redis-server
python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip;
python -m pip install -U -e ${GITHUB_WORKSPACE};
- run: python -m unittest -v bench.tests.test_utils && python -m unittest -v bench.tests.test_init