100 lines
3.0 KiB
YAML
100 lines
3.0 KiB
YAML
name: integration-tests-wsl
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.id }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
push:
|
|
branches: ['main']
|
|
paths-ignore:
|
|
- '**/*.md'
|
|
pull_request:
|
|
branches: ['main']
|
|
paths-ignore:
|
|
- '**/*.md'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
TELEMETRY_ENABLED: false
|
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
|
|
|
jobs:
|
|
example-counter-wsl:
|
|
timeout-minutes: 30
|
|
# 2019 is more stable with WSL in GH actions
|
|
# https://github.com/actions/runner-images/issues/5151
|
|
# Confirmed through trial and error. 2022 has >80% failure rate (probably BSOD)
|
|
runs-on: windows-2019
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Clone Reflex Examples Repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: reflex-dev/reflex-examples
|
|
path: reflex-examples
|
|
|
|
- uses: Vampire/setup-wsl@v3
|
|
with:
|
|
distribution: Ubuntu-24.04
|
|
|
|
- name: Install Python
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
apt update
|
|
apt install -y python3 python3-pip curl dos2unix zip unzip
|
|
|
|
- name: Install Poetry
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
curl -sSL https://install.python-poetry.org | python3 -
|
|
# Symlink seems easier to make work than persisting PATH changes, in WSL
|
|
ln -s /root/.local/bin/poetry /usr/local/bin/poetry
|
|
|
|
- name: Install reflex deps
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
poetry install
|
|
|
|
- name: Install uv
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
poetry run pip install uv
|
|
|
|
- name: Install requirements for counter example
|
|
working-directory: ./reflex-examples/counter
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
poetry run uv pip install -r requirements.txt
|
|
- name: Check export --backend-only before init for counter example
|
|
working-directory: ./reflex-examples/counter
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
export TELEMETRY_ENABLED=false
|
|
poetry run reflex export --backend-only
|
|
- name: Check run --backend-only before init for counter example
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
export TELEMETRY_ENABLED=false
|
|
dos2unix scripts/integration.sh
|
|
poetry run bash scripts/integration.sh ./reflex-examples/counter dev 8001 --backend-only --backend-port 8001
|
|
- name: Init Website for counter example
|
|
working-directory: ./reflex-examples/counter
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
export TELEMETRY_ENABLED=false
|
|
poetry run reflex init --loglevel debug
|
|
- name: Check export for counter example
|
|
working-directory: ./reflex-examples/counter
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
export TELEMETRY_ENABLED=false
|
|
poetry run reflex export --frontend-only --loglevel debug
|
|
- name: Run Website and Check for errors
|
|
shell: wsl-bash {0}
|
|
run: |
|
|
export TELEMETRY_ENABLED=false
|
|
poetry run bash scripts/integration.sh ./reflex-examples/counter dev
|