only run macOS job on merge (#4139)
* update workflow * skip more in unit tests * try something else to prevent adding macos job to pool * exclude too much * fix units-text with macOS excluded * also drop macOS job in integration tests * readd macos job separately to only run on merge
This commit is contained in:
parent
f3b8b2e336
commit
60b6d4e7f2
47
.github/workflows/integration_tests.yml
vendored
47
.github/workflows/integration_tests.yml
vendored
@ -42,7 +42,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# Show OS combos first in GUI
|
# Show OS combos first in GUI
|
||||||
os: [ubuntu-latest, windows-latest, macos-12]
|
os: [ubuntu-latest, windows-latest]
|
||||||
python-version: ['3.9.18', '3.10.13', '3.11.5', '3.12.0']
|
python-version: ['3.9.18', '3.10.13', '3.11.5', '3.12.0']
|
||||||
exclude:
|
exclude:
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
@ -122,7 +122,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# Show OS combos first in GUI
|
# Show OS combos first in GUI
|
||||||
os: [ubuntu-latest, windows-latest, macos-12]
|
os: [ubuntu-latest, windows-latest]
|
||||||
python-version: ['3.10.11', '3.11.4']
|
python-version: ['3.10.11', '3.11.4']
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@ -161,4 +161,45 @@ jobs:
|
|||||||
poetry run python benchmarks/benchmark_web_size.py --os "${{ matrix.os }}"
|
poetry run python benchmarks/benchmark_web_size.py --os "${{ matrix.os }}"
|
||||||
--python-version "${{ matrix.python-version }}" --commit-sha "${{ github.sha }}"
|
--python-version "${{ matrix.python-version }}" --commit-sha "${{ github.sha }}"
|
||||||
--pr-id "${{ github.event.pull_request.id }}" --branch-name "${{ github.head_ref || github.ref_name }}"
|
--pr-id "${{ github.event.pull_request.id }}" --branch-name "${{ github.head_ref || github.ref_name }}"
|
||||||
--app-name "reflex-web" --path ./reflex-web/.web
|
--app-name "reflex-web" --path ./reflex-web/.web
|
||||||
|
|
||||||
|
reflex-web-macos:
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
python-version: ['3.11.5', '3.12.0']
|
||||||
|
runs-on: macos-12
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/setup_build_env
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
run-poetry-install: true
|
||||||
|
create-venv-at-path: .venv
|
||||||
|
- name: Clone Reflex Website Repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: reflex-dev/reflex-web
|
||||||
|
ref: main
|
||||||
|
path: reflex-web
|
||||||
|
- name: Install Requirements for reflex-web
|
||||||
|
working-directory: ./reflex-web
|
||||||
|
run: poetry run uv pip install -r requirements.txt
|
||||||
|
- name: Install additional dependencies for DB access
|
||||||
|
run: poetry run uv pip install psycopg2-binary
|
||||||
|
- name: Init Website for reflex-web
|
||||||
|
working-directory: ./reflex-web
|
||||||
|
run: poetry run reflex init
|
||||||
|
- name: Run Website and Check for errors
|
||||||
|
run: |
|
||||||
|
# Check that npm is home
|
||||||
|
npm -v
|
||||||
|
poetry run bash scripts/integration.sh ./reflex-web prod
|
||||||
|
- name: Measure and upload .web size
|
||||||
|
run:
|
||||||
|
poetry run python benchmarks/benchmark_web_size.py --os "${{ matrix.os }}"
|
||||||
|
--python-version "${{ matrix.python-version }}" --commit-sha "${{ github.sha }}"
|
||||||
|
--pr-id "${{ github.event.pull_request.id }}" --branch-name "${{ github.head_ref || github.ref_name }}"
|
||||||
|
--app-name "reflex-web" --path ./reflex-web/.web
|
||||||
|
|
31
.github/workflows/unit_tests.yml
vendored
31
.github/workflows/unit_tests.yml
vendored
@ -27,7 +27,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-12]
|
os: [ubuntu-latest, windows-latest]
|
||||||
python-version: ['3.9.18', '3.10.13', '3.11.5', '3.12.0']
|
python-version: ['3.9.18', '3.10.13', '3.11.5', '3.12.0']
|
||||||
# Windows is a bit behind on Python version availability in Github
|
# Windows is a bit behind on Python version availability in Github
|
||||||
exclude:
|
exclude:
|
||||||
@ -41,6 +41,7 @@ jobs:
|
|||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: '3.9.13'
|
python-version: '3.9.13'
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
# Service containers to run with `runner-job`
|
# Service containers to run with `runner-job`
|
||||||
services:
|
services:
|
||||||
# Label used to access the service container
|
# Label used to access the service container
|
||||||
@ -78,4 +79,30 @@ jobs:
|
|||||||
export PYTHONUNBUFFERED=1
|
export PYTHONUNBUFFERED=1
|
||||||
poetry run uv pip install "pydantic~=1.10"
|
poetry run uv pip install "pydantic~=1.10"
|
||||||
poetry run pytest tests/units --cov --no-cov-on-fail --cov-report=
|
poetry run pytest tests/units --cov --no-cov-on-fail --cov-report=
|
||||||
- run: poetry run coverage html
|
- name: Generate coverage report
|
||||||
|
run: poetry run coverage html
|
||||||
|
|
||||||
|
unit-tests-macos:
|
||||||
|
timeout-minutes: 30
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
python-version: ['3.9.18', '3.10.13', '3.11.5', '3.12.0']
|
||||||
|
runs-on: macos-12
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/setup_build_env
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
run-poetry-install: true
|
||||||
|
create-venv-at-path: .venv
|
||||||
|
- name: Run unit tests
|
||||||
|
run: |
|
||||||
|
export PYTHONUNBUFFERED=1
|
||||||
|
poetry run pytest tests/units --cov --no-cov-on-fail --cov-report=
|
||||||
|
- name: Run unit tests w/ pydantic v1
|
||||||
|
run: |
|
||||||
|
export PYTHONUNBUFFERED=1
|
||||||
|
poetry run uv pip install "pydantic~=1.10"
|
||||||
|
poetry run pytest tests/units --cov --no-cov-on-fail --cov-report=
|
Loading…
Reference in New Issue
Block a user