Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e50923c
chore: update dependencies and module exports
StarbirdTech Jan 20, 2026
8dc40fd
types: add TypeScript declarations for assets and expo-router
StarbirdTech Jan 20, 2026
f34bf5d
feat(core): add Android/iOS platform support for device and volume de…
StarbirdTech Jan 20, 2026
1d78f05
fix(core): improve library ID access and location add safety
StarbirdTech Jan 20, 2026
a93ed3a
feat(android): enhance native module with folder picker and improved …
StarbirdTech Jan 20, 2026
3c00d84
feat(mobile): add request timeouts, error handling, and storage picke…
StarbirdTech Jan 20, 2026
ad22ae8
WIP: feat(mobile): add detail screen navigation for devices, location…
StarbirdTech Jan 20, 2026
06cd694
feat(android): add platform-specific tab navigation with M3 styling
StarbirdTech Jan 21, 2026
2489a39
chore(mobile): remove orphaned detail screen routes and components
StarbirdTech Jan 21, 2026
46c2a66
fix(mobile): add animations for browse tab and explorer navigation
StarbirdTech Jan 21, 2026
790c2a8
chore(android): add detekt and ktlint static analysis
StarbirdTech Jan 21, 2026
18c11d0
ci(android): add lint and test jobs for mobile
StarbirdTech Jan 21, 2026
26dadb7
fix(android): disable allowBackup and secure manifest
StarbirdTech Jan 21, 2026
22dbfd5
build(android): add release signing and dynamic versionCode
StarbirdTech Jan 21, 2026
c30a546
fix(rust): add FFI safety improvements and unit tests
StarbirdTech Jan 21, 2026
d1fb091
fix(android): improve thread safety and security in native module
StarbirdTech Jan 21, 2026
00f2be8
fix(mobile): add retry logic, health checks, and cleanup fixes
StarbirdTech Jan 21, 2026
33048fe
fix(android): pass detekt and clippy linting checks
StarbirdTech Jan 21, 2026
30e0f83
style: fix rust formatting in branch-modified files
StarbirdTech Jan 21, 2026
9a3c564
feat(android): add storage permission check and user prompts
StarbirdTech Jan 21, 2026
d3424d3
feat(mobile): add M3-style collapsing header for Android overview
StarbirdTech Jan 29, 2026
56c9b72
fix(android): fix build errors and remove stale network tab
StarbirdTech Feb 6, 2026
d101a43
fix: apply PR code review feedback from tembo
StarbirdTech Feb 6, 2026
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
92 changes: 92 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -200,3 +200,95 @@ jobs:
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
run: bun run typecheck
working-directory: apps/tauri

android-lint:
name: Android Lint
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Check if files have changed
uses: dorny/paths-filter@v3
continue-on-error: true
id: filter
with:
filters: |
changes:
- 'apps/mobile/android/**'
- 'apps/mobile/modules/**/android/**'
- '.github/workflows/ci.yml'

- name: Setup Java
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Setup Bun
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
uses: oven-sh/setup-bun@v1
with:
bun-version: "1.3.4"

- name: Install dependencies
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
run: bun install

- name: Run detekt
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
run: ./gradlew :sd-mobile-core:detekt --no-daemon
working-directory: apps/mobile/android

- name: Run ktlint
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
run: ./gradlew :sd-mobile-core:ktlintCheck --no-daemon
working-directory: apps/mobile/android

mobile-rust-tests:
name: Mobile Rust Tests
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
swap-size-mb: 3072
root-reserve-mb: 6144
remove-dotnet: "true"
remove-codeql: "true"
remove-haskell: "true"
remove-docker-images: "true"

- name: Checkout repository
uses: actions/checkout@v4

- name: Check if files have changed
uses: dorny/paths-filter@v3
continue-on-error: true
id: filter
with:
filters: |
changes:
- 'apps/mobile/modules/sd-mobile-core/core/**'
- 'core/**'
- 'crates/**'
- 'Cargo.toml'
- 'Cargo.lock'
- '.github/workflows/ci.yml'

- name: Setup System and Rust
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
uses: ./.github/actions/setup-system
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Run mobile core tests
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
run: cargo test --manifest-path apps/mobile/modules/sd-mobile-core/core/Cargo.toml --locked
Loading