diff --git a/.cursor/rules/cicd-patterns.mdc b/.cursor/rules/cicd-patterns.mdc index 41aa979a24..4d664d7686 100644 --- a/.cursor/rules/cicd-patterns.mdc +++ b/.cursor/rules/cicd-patterns.mdc @@ -56,5 +56,4 @@ When adding new CI checks: ## Environment Variables in CI - `RUSTFLAGS: -Dwarnings` enforced in CI -- Feature flag testing: `-Funstable-mobile-app` - Cross-platform matrix: Ubuntu 24.04, macOS 14, Windows 2022 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5681daf5b7..7a7e908b37 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,7 +20,6 @@ jobs: - x86_64-pc-windows-msvc - aarch64-apple-darwin - x86_64-apple-darwin - feature-args: ['', '-Funstable-mobile-app'] include: - target: x86_64-unknown-linux-musl os: ubuntu-24.04 @@ -34,12 +33,8 @@ jobs: - target: x86_64-apple-darwin os: macos-14 display-os: macOS – x86_64 - - feature-args: '' - feature-suffix: '' - - feature-args: '-Funstable-mobile-app' - feature-suffix: ' (-Funstable-mobile-app)' - name: ${{ matrix.display-os }}${{ matrix.feature-suffix }} + name: ${{ matrix.display-os }} runs-on: ${{ matrix.os }} steps: - name: Checkout Repository @@ -64,4 +59,4 @@ jobs: run: cargo fmt --all -- --check - name: Run Clippy - run: cargo clippy --workspace --tests --target ${{ matrix.target }} ${{ matrix.feature-args }} + run: cargo clippy --workspace --tests --target ${{ matrix.target }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1c8dfb1798..12c7b5a85d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,6 @@ jobs: - x86_64-pc-windows-msvc - aarch64-apple-darwin - x86_64-apple-darwin - feature-args: ['', '-Funstable-mobile-app'] include: - target: x86_64-unknown-linux-musl os: ubuntu-24.04 @@ -34,12 +33,8 @@ jobs: - target: x86_64-apple-darwin os: macos-14 display-os: macOS – x86_64 - - feature-args: '' - feature-suffix: '' - - feature-args: '-Funstable-mobile-app' - feature-suffix: ' (-Funstable-mobile-app)' - name: ${{ matrix.display-os }}${{ matrix.feature-suffix }} + name: ${{ matrix.display-os }} runs-on: ${{ matrix.os }} steps: @@ -59,4 +54,4 @@ jobs: uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - name: Run Cargo Tests - run: cargo test --workspace --target ${{ matrix.target }} ${{ matrix.feature-args }} + run: cargo test --workspace --target ${{ matrix.target }} diff --git a/.vscode/settings.json b/.vscode/settings.json index f9099f0fa7..73e5b08e0a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,4 @@ { - "rust-analyzer.cargo.features": ["unstable-mobile-app"], "rust-analyzer.cargo.noDefaultFeatures": false, "rust-analyzer.check.command": "clippy" -} +} \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 0e16279096..51e757c426 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,6 @@ rust-version = "1.86" [dependencies] anylog = "0.6.3" anyhow = { version = "1.0.69", features = ["backtrace"] } -apple-catalog-parsing = { path = "apple-catalog-parsing", optional = true } backoff = "0.4.0" brotli2 = "0.3.2" bytecount = "0.6.3" @@ -94,10 +93,6 @@ default = [] managed = [] with_crash_reporting = [] -# Feature flag for the mobile-app command, as it is still under development. -# CI tests run against this flag, but we don't include it in release builds. -unstable-mobile-app = ["apple-catalog-parsing"] - [workspace.lints.clippy] allow-attributes = "warn" str-to-string = "warn" @@ -114,6 +109,9 @@ workspace = true [target."cfg(target_os = \"macos\")"] +[target."cfg(all(target_os = \"macos\", target_arch = \"aarch64\"))".dependencies] +apple-catalog-parsing = { path = "apple-catalog-parsing" } + [target."cfg(target_os = \"macos\")".dependencies] mac-process-info = "0.2.0" diff --git a/src/api/data_types/chunking/mobile_app.rs b/src/api/data_types/chunking/mobile_app.rs index 233397f8f0..a068392c1f 100644 --- a/src/api/data_types/chunking/mobile_app.rs +++ b/src/api/data_types/chunking/mobile_app.rs @@ -1,4 +1,3 @@ -#![cfg(feature = "unstable-mobile-app")] use serde::{Deserialize, Serialize}; use sha1_smol::Digest; diff --git a/src/api/data_types/chunking/mod.rs b/src/api/data_types/chunking/mod.rs index 448ed2b09b..c1c2267625 100644 --- a/src/api/data_types/chunking/mod.rs +++ b/src/api/data_types/chunking/mod.rs @@ -14,6 +14,5 @@ pub use self::compression::ChunkCompression; pub use self::dif::{AssembleDifsRequest, AssembleDifsResponse, ChunkedDifRequest}; pub use self::file_state::ChunkedFileState; pub use self::hash_algorithm::ChunkHashAlgorithm; -#[cfg(feature = "unstable-mobile-app")] pub use self::mobile_app::{AssembleMobileAppResponse, ChunkedMobileAppRequest}; pub use self::upload::{ChunkServerOptions, ChunkUploadCapability}; diff --git a/src/api/mod.rs b/src/api/mod.rs index a7a99ee1f1..defc62df5a 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1030,7 +1030,6 @@ impl<'a> AuthenticatedApi<'a> { .convert_rnf(ApiErrorKind::ReleaseNotFound) } - #[cfg(feature = "unstable-mobile-app")] pub fn assemble_mobile_app( &self, org: &str, @@ -2527,7 +2526,6 @@ struct LogsResponse { } /// VCS information for mobile app uploads -#[cfg(feature = "unstable-mobile-app")] #[derive(Debug)] pub struct VcsInfo<'a> { pub head_sha: Option<&'a str>, diff --git a/src/commands/mobile_app/mod.rs b/src/commands/mobile_app/mod.rs index cc0efac261..9cae9207a6 100644 --- a/src/commands/mobile_app/mod.rs +++ b/src/commands/mobile_app/mod.rs @@ -1,5 +1,3 @@ -#![cfg(feature = "unstable-mobile-app")] - use anyhow::Result; use clap::{ArgMatches, Command}; diff --git a/src/commands/mod.rs b/src/commands/mod.rs index bd5c984b07..d9a2b8f042 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -60,7 +60,6 @@ macro_rules! each_subcommand { $mac!(issues); $mac!(login); $mac!(logs); - #[cfg(feature = "unstable-mobile-app")] $mac!(mobile_app); $mac!(monitors); $mac!(organizations); diff --git a/src/utils/mobile_app/mod.rs b/src/utils/mobile_app/mod.rs index 2936a783b1..819ce2bbde 100644 --- a/src/utils/mobile_app/mod.rs +++ b/src/utils/mobile_app/mod.rs @@ -1,5 +1,3 @@ -#![cfg(feature = "unstable-mobile-app")] - #[cfg(all(target_os = "macos", target_arch = "aarch64"))] mod apple; mod normalize; diff --git a/src/utils/vcs.rs b/src/utils/vcs.rs index f6d86da5ff..b640154810 100644 --- a/src/utils/vcs.rs +++ b/src/utils/vcs.rs @@ -216,13 +216,11 @@ pub fn get_repo_from_remote(repo: &str) -> String { obj.id } -#[cfg(feature = "unstable-mobile-app")] pub fn get_provider_from_remote(remote: &str) -> String { let obj = VcsUrl::parse(remote); obj.provider } -#[cfg(feature = "unstable-mobile-app")] pub fn git_repo_remote_url( repo: &git2::Repository, cached_remote: &str, diff --git a/tests/integration/mobile_app/mod.rs b/tests/integration/mobile_app/mod.rs index cec6153810..fff27de69c 100644 --- a/tests/integration/mobile_app/mod.rs +++ b/tests/integration/mobile_app/mod.rs @@ -1,5 +1,3 @@ -#![cfg(feature = "unstable-mobile-app")] - use crate::integration::TestManager; mod upload;