Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build and Submit Android App

on:
workflow_dispatch:
push:
branches:
- "main"

jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Build Android App
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bun run --filter @scheduli/mobile build:android

- name: Submit Android App
if: github.ref == 'refs/heads/main'
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bun run --filter @scheduli/mobile submit:android
31 changes: 31 additions & 0 deletions .github/workflows/build-ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build and Submit iOS App

on:
workflow_dispatch:
push:
branches:
- "main"

jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Build iOS App
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bun run --filter @scheduli/mobile build:ios

- name: Submit iOS App
if: github.ref == 'refs/heads/main'
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bun run --filter @scheduli/mobile submit:ios
21 changes: 21 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Lint

on:
workflow_dispatch:
pull_request:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Run lint
run: bun run lint
30 changes: 30 additions & 0 deletions .github/workflows/test-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build Android App

on:
workflow_dispatch:
pull_request:

jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Build Android Simulator App
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: dsnss-projects
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bunx turbo run build:android:simulator
62 changes: 62 additions & 0 deletions .github/workflows/test-ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Test iOS App

on:
workflow_dispatch:
pull_request:

jobs:
test:
runs-on: macos-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Install Maestro
run: |
curl -fsSL "https://get.maestro.mobile.dev" | bash
echo "$HOME/.maestro/bin" >> $GITHUB_PATH

- name: Build iOS Simulator App
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: dsnss-projects
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: bunx turbo run build:ios:simulator

- uses: futureware-tech/simulator-action@v4
with:
model: "iPhone 17 Pro"
wait_for_boot: true

- name: Install iOS App
run: bun run --filter @scheduli/mobile install:ios:simulator

- name: Run iOS Tests
env:
MAESTRO_DRIVER_STARTUP_TIMEOUT: 120000
run: bun run --filter @scheduli/mobile test

- name: Create Debug Information
if: failure()
run: |
mkdir -p ./debug-info
cp -r ~/Library/Logs/DiagnosticReports/ ./debug-info/diagnostic-reports
cp -r ~/Library/Logs/CoreSimulator ./debug-info/simulator-logs
cp -r apps/mobile/.maestro/recordings ./debug-info/recordings
cp -r ~/.maestro/tests ./debug-info/maestro-logs

- name: Upload Debug Information
if: failure()
uses: actions/upload-artifact@v6
with:
name: debug-info
path: ./debug-info/
if-no-files-found: ignore
retention-days: 1
33 changes: 33 additions & 0 deletions .github/workflows/test-web.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Test Website

on:
workflow_dispatch:
pull_request:

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Install Playwright Browsers
run: bun run --filter @scheduli/web test:setup

- name: Run Playwright tests
run: bun run --filter @scheduli/web test

- uses: actions/upload-artifact@v6
if: failure()
with:
name: playwright-report
path: ./apps/web/playwright-report/
if-no-files-found: ignore
retention-days: 1
21 changes: 21 additions & 0 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Typecheck

on:
workflow_dispatch:
pull_request:

jobs:
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun ci

- name: Typecheck
run: bun run --filter @scheduli/mobile typecheck
3 changes: 2 additions & 1 deletion apps/mobile/plugins/withAddPodDepsToTargets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ target "StatusWidget" do
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']

pod "MMKVAppExtension"
pod "MMKVAppExtension", "2.4.0"
pod "MMKVCore", "2.4.0"
end
`;

Expand Down
Empty file modified apps/mobile/scripts/maestro-test.sh
100644 → 100755
Empty file.
Loading