refactor(tauri): fold mobile into asset-tauri + align Tauri versions - #71
Open
Armaldio wants to merge 7 commits into
Open
refactor(tauri): fold mobile into asset-tauri + align Tauri versions#71Armaldio wants to merge 7 commits into
Armaldio wants to merge 7 commits into
Conversation
- Build Android (and iOS) apps via `tauri <platform> init` + `tauri <platform> build` - Self-heal the Android toolchain: reuse an existing SDK or download the command-line tools and provision NDK/build-tools/platform into the shared cache folder; add the aarch64-linux-android Rust target - Pin @tauri-apps/* npm versions to the resolved Rust crate versions so Tauri's version-mismatch check passes - Discover the produced APK recursively (Tauri names it per target) and register it as a pipeline artifact so it persists beyond the build sandbox - Prefer the local asset template so pinned Cargo dependencies are used offline - Add an example Tauri mobile pipeline
… cache
Previously the SDK/NDK (several GB) was written under the per-pipeline cache
(CacheFolder.Pipelines/<pipelineId>), so every Android pipeline re-downloaded
its own copy. Point ensureAndroidEnvironment at
getCachePath('Pipelines')/android-sdk so the toolchain is shared across all
pipelines.
Use context.getCachePath() (the cache base, alongside pacote) instead of the
per-pipeline cache so the SDK lives at cache/android-sdk. Also fixes a
typecheck bug: the CacheFolder value is lowercase 'pipelines', so the previous
getCachePath('Pipelines') literal would fail the typecheck.
…on field - Remove the mobileConfig input: it was merged into completeConfiguration.mobile but then deleted before the config was written (to stay valid across Tauri 2.x), so it silently did nothing and was misleading. - Remove the unused `configuration` field from the shared params const (the package action uses configureParams, not it). - Update the example pipeline accordingly.
…ld path - Add TargetPlatform/TargetArch types (NodeJS.Platform/Architecture don't know about android/ios/armv7l/universal/mips64el) and use them for the platform/ arch param values, the handler's finalPlatform/finalArch, and the mobile target-resolution helpers. - Export ensureAndroidEnvironment/findAndroidApk/resolveMobileCliTarget/ resolveMobileOutputTriple (and re-export from the plugin entry) so future mobile-first plugins can reuse the SDK provisioning and target resolution. - Example now builds the SAME app for both desktop (linux) and android from one input folder.
- Remove redundant apps/mobile; mobile builds now use the asset-tauri template - Register Tauri plugins (shell/fs/opener) on all platforms; devtools and localhost are desktop-only via cfg guards - Align Tauri crate versions to 2.11.5 (removes the 2.1.1 drift) - fetchPipelabAsset: add PIPELAB_ASSET_ROOT local override so a published CLI can be pointed at a local asset checkout - Preserve app.mobile config for mobile builds - Add changeset
Deploying pipelab with
|
| Latest commit: |
ce19270
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://b3f653c1.pipelab.pages.dev |
| Branch Preview URL: | https://codespace-psychic-happiness.pipelab.pages.dev |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
apps/mobilepackage; mobile (Android/iOS) builds now go through the@pipelab/asset-tauritemplate, which already drivestauri android/ios build.assets/asset-tauri/template/src-tauri/src/lib.rs: registershell/fs/openerplugins on every platform;devtools/localhostare desktop-only via#[cfg(desktop)]guards.assets/asset-tauri/template/src-tauri/Cargo.toml: aligned Tauri crate versions to2.11.5(removes the2.1.1drift vs the previously separate mobile app).packages/core-node/src/utils/remote.ts:fetchPipelabAssetnow also resolves the local asset viaPIPELAB_ASSET_ROOT(in addition to the auto-detected monorepo root), so a published CLI can be pointed at a local asset checkout.PIPELAB_FORCE_NPM=truestill forces the published asset.plugins/plugin-tauri/src/tauri.ts: preserveapp.mobileconfig for mobile builds (previously always deleted).Cargo.lock/ nestedpnpm-lock.yamlthat pinned@tauri-apps/api@2.1.1; added a changeset.Test plan
Cargo.toml(valid TOML) and no2.1.1references remain in the asset.fetchPipelabAsset.make/pkg-config/system libs), so this is validated at code/manifest level.🤖 Generated with opencode