Skip to content

feat: enable LSP (Language Server Protocol) infrastructure #1639

feat: enable LSP (Language Server Protocol) infrastructure

feat: enable LSP (Language Server Protocol) infrastructure #1639

name: Firefox-linux run full tests suite
on:
pull_request:
branches: [ main ]
concurrency:
group: pr-firefox-linux-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
playwright-firefox-linux:
timeout-minutes: 90
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 20
- name: Install dependencies
run: npm ci
- name: Build phoenix
run: npm run build
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright unit tests in Firefox
uses: nick-fields/retry@v2
id: firefoxUnit
continue-on-error: true
with:
timeout_minutes: 12
max_attempts: 3
command: npm run testFirefox
- name: Run Playwright integration tests in Firefox
uses: nick-fields/retry@v2
id: firefoxIntegration
continue-on-error: true
with:
timeout_minutes: 12
max_attempts: 3
command: npx cross-env TEST_ENV=integration npm run testFirefox
- name: Run Playwright mainview tests in Firefox
uses: nick-fields/retry@v2
id: firefoxMainview
continue-on-error: true
with:
timeout_minutes: 12
max_attempts: 3
command: npx cross-env TEST_ENV=mainview npm run testFirefox
- name: Run Playwright livepreview tests in Firefox
uses: nick-fields/retry@v2
id: firefoxLivepreview
continue-on-error: true
with:
timeout_minutes: 15
max_attempts: 3
command: npx cross-env TEST_ENV=livepreview npm run testFirefox
- name: Run Playwright LegacyInteg tests in Firefox
uses: nick-fields/retry@v2
id: firefoxLegacyInteg
continue-on-error: true
with:
timeout_minutes: 20
max_attempts: 3
command: npx cross-env TEST_ENV=LegacyInteg npm run testFirefox
- name: Fail on test runs failed in Firefox Linux
if: steps.firefoxUnit.outcome == 'failure' || steps.firefoxIntegration.outcome == 'failure' || steps.firefoxMainview.outcome == 'failure' || steps.firefoxLivepreview.outcome == 'failure' || steps.firefoxLegacyInteg.outcome == 'failure'
run: |
echo "Firefox Linux Playwright tests failed, marking step as failed"
echo "Failed tests:"
if [ "${{ steps.firefoxUnit.outcome }}" == "failure" ]; then
echo "- Run Playwright unit tests in Firefox"
fi
if [ "${{ steps.firefoxIntegration.outcome }}" == "failure" ]; then
echo "- Run Playwright integration tests in Firefox"
fi
if [ "${{ steps.firefoxMainview.outcome }}" == "failure" ]; then
echo "- Run Playwright mainview tests in Firefox"
fi
if [ "${{ steps.firefoxLivepreview.outcome }}" == "failure" ]; then
echo "- Run Playwright livepreview tests in Firefox"
fi
if [ "${{ steps.firefoxLegacyInteg.outcome }}" == "failure" ]; then
echo "- Run Playwright LegacyInteg tests in Firefox"
fi
exit 1