2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-14 17:24:04 +00:00
bench/.github/workflows/ci.yml

137 lines
4.0 KiB
YAML
Raw Normal View History

2022-08-01 08:55:04 +00:00
name: 'CI'
on:
pull_request:
workflow_dispatch:
push:
branches: [ develop ]
2022-12-15 11:20:19 +00:00
concurrency:
group: ci-develop-${{ github.event_name }}-${{ github.event.number }}
cancel-in-progress: true
2022-08-01 08:55:04 +00:00
permissions:
contents: read
jobs:
base_setup:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
2022-08-01 08:55:04 +00:00
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
2022-08-01 08:55:04 +00:00
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 }}
2023-08-07 06:57:02 +00:00
2022-08-01 08:55:04 +00:00
- uses: actions/setup-node@v3
2023-08-07 06:57:02 +00:00
if: ${{ matrix.python-version == '3.10' }}
with:
node-version: 18
- uses: actions/setup-node@v3
if: ${{ matrix.python-version == '3.7' }}
2022-08-01 08:55:04 +00:00
with:
node-version: 14
2023-08-07 06:57:02 +00:00
2022-08-01 08:55:04 +00:00
- 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