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 - 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