From caba10aaacf279e99ab6f6c02270ee40685fe797 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Mon, 14 Jul 2025 18:49:11 -0700 Subject: [PATCH 1/6] Remove unstable-mobile-app feature gating --- .github/workflows/ci.yml | 39 +++++++++++++++++++++-- .vscode/settings.json | 4 --- Cargo.toml | 4 --- src/api/data_types/chunking/mobile_app.rs | 1 - src/api/data_types/chunking/mod.rs | 1 - src/api/mod.rs | 1 - src/commands/mobile_app/mod.rs | 2 -- src/commands/mod.rs | 1 - src/utils/mobile_app/mod.rs | 2 -- tests/integration/mobile_app/mod.rs | 2 -- 10 files changed, 37 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09f95c9941..03f805a214 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,13 +17,48 @@ env: RUSTFLAGS: -Dwarnings jobs: + lint-each-os: + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, macos-14, windows-2022] + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + + - name: Install Rust Toolchain + run: rustup toolchain install stable --profile minimal --component clippy --component rustfmt --no-self-update + + - uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 + + - name: Run Rustfmt + run: cargo fmt --all -- --check + + - name: Run Clippy + run: cargo clippy --workspace --tests + lint: name: Lint uses: ./.github/workflows/lint.yml test: - name: Test - uses: ./.github/workflows/test.yml + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, macos-14, windows-2022] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + + - uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 + with: + key: ${{ github.job }} + + - name: Run Cargo Tests + run: cargo test --all test_node: name: Test Node diff --git a/.vscode/settings.json b/.vscode/settings.json index 045a559f42..e69de29bb2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +0,0 @@ -{ - "rust-analyzer.cargo.features": ["unstable-mobile-app"], - "rust-analyzer.cargo.noDefaultFeatures": false -} diff --git a/Cargo.toml b/Cargo.toml index 9a449cab5a..617150c27e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -94,10 +94,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" diff --git a/src/api/data_types/chunking/mobile_app.rs b/src/api/data_types/chunking/mobile_app.rs index b29f3a18b1..b64f56ab80 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 d4404c31a7..ab5882e877 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1018,7 +1018,6 @@ impl<'a> AuthenticatedApi<'a> { .convert_rnf(ApiErrorKind::ReleaseNotFound) } - #[cfg(feature = "unstable-mobile-app")] pub fn assemble_mobile_app( &self, org: &str, diff --git a/src/commands/mobile_app/mod.rs b/src/commands/mobile_app/mod.rs index 5babbdd7be..d615fed8b0 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 ecb7f95691..2ae9cbb39b 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -57,7 +57,6 @@ macro_rules! each_subcommand { $mac!(info); $mac!(issues); $mac!(login); - #[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 f44b25c593..16e7de86a9 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(target_os = "macos")] mod apple; mod validation; 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; From 4a7edc4b2b8e681ea3d70698d361bae5c2ced4a7 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Mon, 14 Jul 2025 18:51:37 -0700 Subject: [PATCH 2/6] Fix --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 617150c27e..c760f13e6c 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" From 74f2782abdae6fba58ce2fe17cd85895cae2e0a6 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Mon, 21 Jul 2025 14:39:40 -0700 Subject: [PATCH 3/6] Rebase --- .github/workflows/ci.yml | 39 ++------------------------------------ .github/workflows/test.yml | 9 ++------- Cargo.lock | 8 -------- 3 files changed, 4 insertions(+), 52 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03f805a214..09f95c9941 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,48 +17,13 @@ env: RUSTFLAGS: -Dwarnings jobs: - lint-each-os: - strategy: - fail-fast: false - matrix: - os: [ubuntu-24.04, macos-14, windows-2022] - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - - - name: Install Rust Toolchain - run: rustup toolchain install stable --profile minimal --component clippy --component rustfmt --no-self-update - - - uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - - - name: Run Rustfmt - run: cargo fmt --all -- --check - - - name: Run Clippy - run: cargo clippy --workspace --tests - lint: name: Lint uses: ./.github/workflows/lint.yml test: - strategy: - fail-fast: false - matrix: - os: [ubuntu-24.04, macos-14, windows-2022] - - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - - - uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - with: - key: ${{ github.job }} - - - name: Run Cargo Tests - run: cargo test --all + name: Test + uses: ./.github/workflows/test.yml test_node: name: Test Node diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 414184a797..4606220dcd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,6 @@ jobs: fail-fast: false matrix: os: [ubuntu-24.04, macos-14, windows-2022] - feature-args: ['', '-Funstable-mobile-app'] include: - os: ubuntu-24.04 display-os: Linux @@ -24,12 +23,8 @@ jobs: display-os: macOS - os: windows-2022 display-os: Windows - - 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: @@ -40,4 +35,4 @@ jobs: uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - name: Run Cargo Tests - run: cargo test --all ${{ matrix.feature-args }} + run: cargo test --all diff --git a/Cargo.lock b/Cargo.lock index 560f10e562..d36819abba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,13 +144,6 @@ dependencies = [ "regex", ] -[[package]] -name = "apple-catalog-parsing" -version = "0.0.0" -dependencies = [ - "thiserror 2.0.12", -] - [[package]] name = "arbitrary" version = "1.4.1" @@ -2696,7 +2689,6 @@ version = "2.50.0" dependencies = [ "anyhow", "anylog", - "apple-catalog-parsing", "assert_cmd", "backoff", "brotli2", From 9ecb72456301986b040ade1d89a86aced460df46 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Mon, 21 Jul 2025 14:46:45 -0700 Subject: [PATCH 4/6] Rebase --- Cargo.lock | 8 ++++++++ Cargo.toml | 1 + 2 files changed, 9 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index d36819abba..560f10e562 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,6 +144,13 @@ dependencies = [ "regex", ] +[[package]] +name = "apple-catalog-parsing" +version = "0.0.0" +dependencies = [ + "thiserror 2.0.12", +] + [[package]] name = "arbitrary" version = "1.4.1" @@ -2689,6 +2696,7 @@ version = "2.50.0" dependencies = [ "anyhow", "anylog", + "apple-catalog-parsing", "assert_cmd", "backoff", "brotli2", diff --git a/Cargo.toml b/Cargo.toml index c760f13e6c..52f5888bf3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ rust-version = "1.86" [dependencies] anylog = "0.6.3" anyhow = { version = "1.0.69", features = ["backtrace"] } +apple-catalog-parsing = { path = "apple-catalog-parsing"} backoff = "0.4.0" brotli2 = "0.3.2" bytecount = "0.6.3" From 790bb481e212f4ae5a63fd7f9b17590ec67ce899 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Mon, 21 Jul 2025 14:52:58 -0700 Subject: [PATCH 5/6] Re-add feature-args for later potential use --- .github/workflows/lint.yml | 4 +--- .github/workflows/test.yml | 7 +++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5631df08df..7ef471a79e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-24.04, macos-14, windows-2022] - feature-args: ['', '-Funstable-mobile-app'] + feature-args: [''] include: - os: ubuntu-24.04 display-os: Linux @@ -26,8 +26,6 @@ jobs: display-os: Windows - feature-args: '' feature-suffix: '' - - feature-args: '-Funstable-mobile-app' - feature-suffix: ' (-Funstable-mobile-app)' name: ${{ matrix.display-os }}${{ matrix.feature-suffix }} runs-on: ${{ matrix.os }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4606220dcd..a14f943e5c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-24.04, macos-14, windows-2022] + feature-args: [''] include: - os: ubuntu-24.04 display-os: Linux @@ -23,8 +24,10 @@ jobs: display-os: macOS - os: windows-2022 display-os: Windows + - feature-args: '' + feature-suffix: '' - name: ${{ matrix.display-os }} + name: ${{ matrix.display-os }}${{ matrix.feature-args }} runs-on: ${{ matrix.os }} steps: @@ -35,4 +38,4 @@ jobs: uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - name: Run Cargo Tests - run: cargo test --all + run: cargo test --all ${{ matrix.feature-args }} From c983c53fa7f0dfc1e8142e6677fd9a661fc9ca92 Mon Sep 17 00:00:00 2001 From: Daniel Szoke Date: Tue, 22 Jul 2025 11:25:14 +0200 Subject: [PATCH 6/6] minor changes --- .github/workflows/lint.yml | 7 ++----- .github/workflows/test.yml | 7 ++----- Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7ef471a79e..5caf330ab4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,6 @@ jobs: fail-fast: false matrix: os: [ubuntu-24.04, macos-14, windows-2022] - feature-args: [''] include: - os: ubuntu-24.04 display-os: Linux @@ -24,10 +23,8 @@ jobs: display-os: macOS - os: windows-2022 display-os: Windows - - feature-args: '' - feature-suffix: '' - name: ${{ matrix.display-os }}${{ matrix.feature-suffix }} + name: ${{ matrix.display-os }} runs-on: ${{ matrix.os }} steps: - name: Checkout Repository @@ -43,4 +40,4 @@ jobs: run: cargo fmt --all -- --check - name: Run Clippy - run: cargo clippy --workspace --tests ${{ matrix.feature-args }} + run: cargo clippy --workspace --tests diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a14f943e5c..4606220dcd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,6 @@ jobs: fail-fast: false matrix: os: [ubuntu-24.04, macos-14, windows-2022] - feature-args: [''] include: - os: ubuntu-24.04 display-os: Linux @@ -24,10 +23,8 @@ jobs: display-os: macOS - os: windows-2022 display-os: Windows - - feature-args: '' - feature-suffix: '' - name: ${{ matrix.display-os }}${{ matrix.feature-args }} + name: ${{ matrix.display-os }} runs-on: ${{ matrix.os }} steps: @@ -38,4 +35,4 @@ jobs: uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0 - name: Run Cargo Tests - run: cargo test --all ${{ matrix.feature-args }} + run: cargo test --all diff --git a/Cargo.toml b/Cargo.toml index 52f5888bf3..fb15fa1663 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"} backoff = "0.4.0" brotli2 = "0.3.2" bytecount = "0.6.3" @@ -111,6 +110,7 @@ workspace = true [target."cfg(target_os = \"macos\")".dependencies] mac-process-info = "0.2.0" +apple-catalog-parsing = { path = "apple-catalog-parsing"} [target."cfg(unix)"]