mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-07 09:03:27 -05:00
75 lines
2.1 KiB
YAML
75 lines
2.1 KiB
YAML
name: CI - E2E - Mobile (webview) Browser
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
mobile-test:
|
|
name: Test curriculum for mobile app
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
matrix:
|
|
node-version: [20.x]
|
|
|
|
steps:
|
|
- name: Checkout Source Files
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
|
|
- name: Checkout mobile
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
with:
|
|
repository: freeCodeCamp/mobile
|
|
path: mobile
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d #v3.0.0
|
|
with:
|
|
version: 9
|
|
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: pnpm
|
|
|
|
- name: Setup Flutter 3.19.x
|
|
uses: subosito/flutter-action@2783a3f08e1baf891508463f8c6653c258246225 # v2
|
|
with:
|
|
flutter-version: '3.19.x'
|
|
channel: 'stable'
|
|
cache: true
|
|
cache-key: flutter-3.19.x
|
|
cache-path: ${{ runner.tool_cache }}/flutter
|
|
|
|
- name: Set freeCodeCamp Environment Variables
|
|
run: cp sample.env .env
|
|
|
|
- name: Install and Build
|
|
run: |
|
|
pnpm install
|
|
pnpm run create:shared
|
|
pnpm run build:curriculum
|
|
|
|
- name: Generate mobile test files
|
|
run: |
|
|
cd mobile/mobile-app
|
|
echo "DEVELOPMENTMODE=true" > .env
|
|
echo "NEWSURL=https://www.freecodecamp.org/news/ghost/api/v3/content/" >> .env
|
|
flutter pub get
|
|
flutter test test/widget_test.dart
|
|
|
|
- name: Install playwright dependencies
|
|
run: npx playwright install --with-deps
|
|
|
|
- name: Install serve
|
|
run: npm install -g serve
|
|
|
|
- name: Run playwright tests
|
|
run: npx playwright test --config=playwright-mobile.config.ts
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: ${{ !cancelled() }}
|
|
with:
|
|
name: playwright-report-mobile
|
|
path: playwright/reporter
|
|
retention-days: 30
|