mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-27 13:05:35 +08:00
feat: Add Windows Playwright test fixes to RC (#12265)
* feat: Add Windows Playwright tests to nightly builds
- Add windows-latest to typescript_test.yml runner options
- Add shell: bash to all script steps for cross-platform compatibility
- Split Playwright installation into OS-aware steps (Linux uses --with-deps, Windows/macOS/self-hosted don't)
- Fix artifact naming with OS prefix to prevent conflicts: blob-report-${{ runner.os }}-${{ matrix.shardIndex }}
- Split frontend-tests into separate Linux and Windows jobs in nightly_build.yml
- Add ref parameter to all test jobs to checkout code from release branch
- Add resolve-release-branch to needs dependencies
- Update Slack notifications to handle both Linux and Windows test results
- Windows tests are non-blocking (not checked in release-nightly-build condition)
- Update .secrets.baseline with new line number (263 -> 347) for LANGFLOW_ENG_SLACK_WEBHOOK_URL
Fixes LE-566
* fix: Use contains() for self-hosted runner detection
- Replace exact string equality (==, !=) with contains() for substring matching
- Fixes issue when inputs.runs-on is array format: '["self-hosted", "linux", "ARM64", ...]'
- Ensures self-hosted Linux runners correctly skip --with-deps flag
Addresses CodeRabbit feedback on PR #12264
This commit is contained in:
16
.github/workflows/nightly_build.yml
vendored
16
.github/workflows/nightly_build.yml
vendored
@ -208,12 +208,13 @@ jobs:
|
||||
frontend-tests-linux:
|
||||
if: github.repository == 'langflow-ai/langflow' && !inputs.skip_frontend_tests
|
||||
name: Run Frontend Tests - Linux
|
||||
needs: create-nightly-tag
|
||||
needs: [resolve-release-branch, create-nightly-tag]
|
||||
uses: ./.github/workflows/typescript_test.yml
|
||||
with:
|
||||
tests_folder: "tests"
|
||||
release: true
|
||||
runs-on: ubuntu-latest
|
||||
ref: ${{ needs.resolve-release-branch.outputs.branch }}
|
||||
secrets:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
STORE_API_KEY: ${{ secrets.STORE_API_KEY }}
|
||||
@ -223,16 +224,16 @@ jobs:
|
||||
frontend-tests-windows:
|
||||
if: github.repository == 'langflow-ai/langflow' && !inputs.skip_frontend_tests
|
||||
name: Run Frontend Tests - Windows
|
||||
needs: create-nightly-tag
|
||||
# Allow Windows tests to fail without blocking the nightly build
|
||||
# This gives us visibility into Windows-specific issues while we stabilize the tests
|
||||
# Remove this once Windows tests are consistently passing
|
||||
continue-on-error: true
|
||||
needs: [resolve-release-branch, create-nightly-tag]
|
||||
# Windows tests are non-blocking - the release-nightly-build job only checks
|
||||
# frontend-tests-linux.result, allowing Windows tests to fail without blocking the build.
|
||||
# This gives us visibility into Windows-specific issues while we stabilize the tests.
|
||||
uses: ./.github/workflows/typescript_test.yml
|
||||
with:
|
||||
tests_folder: "tests"
|
||||
release: true
|
||||
runs-on: windows-latest
|
||||
ref: ${{ needs.resolve-release-branch.outputs.branch }}
|
||||
secrets:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
STORE_API_KEY: ${{ secrets.STORE_API_KEY }}
|
||||
@ -242,11 +243,12 @@ jobs:
|
||||
backend-unit-tests:
|
||||
if: github.repository == 'langflow-ai/langflow' && !inputs.skip_backend_tests
|
||||
name: Run Backend Unit Tests
|
||||
needs: create-nightly-tag
|
||||
needs: [resolve-release-branch, create-nightly-tag]
|
||||
uses: ./.github/workflows/python_test.yml
|
||||
with:
|
||||
python-versions: '["3.10", "3.11", "3.12", "3.13"]'
|
||||
runs-on: ${{ inputs['runs_on'] || github.event.inputs['runs_on'] || 'ubuntu-latest' }}
|
||||
ref: ${{ needs.resolve-release-branch.outputs.branch }}
|
||||
secrets:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
|
||||
6
.github/workflows/typescript_test.yml
vendored
6
.github/workflows/typescript_test.yml
vendored
@ -314,14 +314,14 @@ jobs:
|
||||
playwright-${{ env.PLAYWRIGHT_VERSION }}-chromium-${{ runner.os }}
|
||||
|
||||
- name: Install Playwright Browser Dependencies (Linux)
|
||||
if: steps.cache-playwright.outputs.cache-hit != 'true' && runner.os == 'Linux' && inputs.runs-on != 'self-hosted'
|
||||
if: steps.cache-playwright.outputs.cache-hit != 'true' && runner.os == 'Linux' && !contains(inputs.runs-on, 'self-hosted')
|
||||
shell: bash
|
||||
run: |
|
||||
cd ./src/frontend
|
||||
npx playwright install --with-deps chromium
|
||||
|
||||
- name: Install Playwright Browsers (Windows/macOS/Self-Hosted)
|
||||
if: steps.cache-playwright.outputs.cache-hit != 'true' && (runner.os != 'Linux' || inputs.runs-on == 'self-hosted')
|
||||
if: steps.cache-playwright.outputs.cache-hit != 'true' && (runner.os != 'Linux' || contains(inputs.runs-on, 'self-hosted'))
|
||||
shell: bash
|
||||
run: |
|
||||
cd ./src/frontend
|
||||
@ -362,7 +362,7 @@ jobs:
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: blob-report-${{ matrix.shardIndex }}
|
||||
name: blob-report-${{ runner.os }}-${{ matrix.shardIndex }}
|
||||
path: src/frontend/blob-report
|
||||
retention-days: 1
|
||||
|
||||
|
||||
1591
.secrets.baseline
1591
.secrets.baseline
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user