chore: upgrade dependencies #4843
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - release/* | |
| pull_request: | |
| branches: | |
| - main | |
| - release/* | |
| workflow_dispatch: | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: .tool-versions | |
| cache: pnpm | |
| - name: 📦 Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: 🧪 Test project | |
| run: pnpm test | |
| - name: 📝 Lint | |
| run: pnpm lint | |
| - name: 📝 Prettier formatting | |
| run: pnpm lint:formatting | |
| - name: 📝 Generate CSS types | |
| run: pnpm test:generatecsstypes | |
| - name: 💪 Type check | |
| run: pnpm test:typecheck | |
| - name: 📦 Build | |
| run: pnpm build | |
| build_android: | |
| name: android | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: .tool-versions | |
| cache: pnpm | |
| - name: 📦 Install dependencies | |
| run: pnpm i --frozen-lockfile | |
| - name: Build (Ionic) | |
| run: pnpm ionic cap sync | |
| env: | |
| BUILD_FOSS_ONLY: true | |
| CI_PLATFORM: android | |
| - name: Set up JDK | |
| uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 | |
| with: | |
| distribution: temurin | |
| java-version-file: .tool-versions | |
| cache: gradle | |
| - name: Build debug APK | |
| run: | | |
| cd android | |
| ./gradlew assembleDebug | |
| - run: mv android/app/build/outputs/apk/debug/app-debug.apk Voyager-Android-${{ github.sha }}-unsigned.apk | |
| - name: Upload Android APK | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: Voyager-Android-${{ github.sha }}-unsigned | |
| path: Voyager-Android-${{ github.sha }}-unsigned.apk | |
| build_desktop: | |
| name: desktop | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: .tool-versions | |
| cache: pnpm | |
| - name: Install Linux system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file \ | |
| libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf libfuse2 \ | |
| xdg-utils | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| - name: 📦 Install dependencies | |
| run: pnpm i --frozen-lockfile | |
| - name: Build debug deb (Tauri) | |
| run: pnpm tauri build --debug --bundles deb | |
| - run: mv src-tauri/target/debug/bundle/deb/*.deb Voyager-Linux-${{ github.sha }}-debug.deb | |
| - name: Upload Linux deb | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: Voyager-Linux-${{ github.sha }}-debug | |
| path: Voyager-Linux-${{ github.sha }}-debug.deb | |
| build_ios: | |
| name: ios | |
| runs-on: macos-26 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: .tool-versions | |
| cache: pnpm | |
| - name: 📦 Install dependencies | |
| run: pnpm i --frozen-lockfile | |
| - name: Build (Ionic) | |
| run: pnpm ionic cap sync | |
| env: | |
| CI_PLATFORM: ios | |
| - name: Verify native project is in sync with source | |
| run: | | |
| if ! git diff --exit-code -- android ios; then | |
| echo "::error::cap sync modified tracked files under android/ or ios/. Run 'pnpm ionic cap sync' locally and commit the changes." | |
| exit 1 | |
| fi | |
| - name: Build iOS app (no signing) | |
| run: | | |
| xcodebuild \ | |
| -workspace ios/App/App.xcworkspace \ | |
| -scheme App \ | |
| -destination 'generic/platform=iOS' \ | |
| -derivedDataPath build \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| build | |
| - name: Package .app | |
| run: | | |
| cd build/Build/Products/Debug-iphoneos | |
| zip -r "$GITHUB_WORKSPACE/Voyager-iOS-${{ github.sha }}-unsigned.zip" App.app | |
| - name: Upload iOS app | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: Voyager-iOS-${{ github.sha }}-unsigned | |
| path: Voyager-iOS-${{ github.sha }}-unsigned.zip |