docs: publish channels: main

This commit is contained in:
github-actions[bot] committed 2026-09-29 18:45:06 +00:00
1 parent d0d52c5057
commit d1b3fbddff
5 files changed
+13 -13

No files matched your search

+6 -6
View File
@@ -1303,7 +1303,7 @@
},"186": {
"doc": "Codebase",
"title": "Build System",
"content": "Gradle Kotlin DSL . All build files use Kotlin DSL (.gradle.kts). Configuration: . | Version catalog: gradle/libs.versions.toml | Convention plugins: build-logic/convention/ | Settings: settings.gradle.kts | . Convention Plugins . Located in build-logic/convention/src/main/kotlin/. The full set is registered in build-logic/convention/build.gradle.kts; these are the ones a module build applies most often: . | Plugin | Purpose | . | meshtastic.kmp.feature | Standard feature module setup | . | meshtastic.kmp.library | Shared KMP library module | . | meshtastic.kmp.library.compose | KMP library that also ships Compose UI | . | meshtastic.kmp.jvm.android | Adds the jvmAndroidMain source set shared by the Android and desktop JVM targets | . | meshtastic.koin | Koin Annotations + K2 compiler plugin | . | meshtastic.kotlinx.serialization | Serialization plugin setup | . | meshtastic.android.room | Room KMP setup and schema location | . | meshtastic.android.screenshot | Compose Preview screenshot testing | . The rest cover the application and library variants, lint, detekt, spotless, Dokka, Kover, AboutLibraries, analytics, secrets, the docs tasks and the root aggregate — read the register(…) block rather than assuming a plugin does or does not exist. Build Variants (Android) . | Flavor | Description | . | google | Google Play distribution; includes proprietary APIs | . | fdroid | F-Droid distribution; FOSS-only dependencies | . Key Gradle Tasks . # Compile check of every KMP module for JVM and iosSimulatorArm64 (excludes :desktopApp) ./gradlew kmpSmokeCompile # Run all tests: allTests covers KMP modules, test covers Android/JVM-only modules; run both ./gradlew test allTests # Code quality ./gradlew spotlessCheck detekt # Android build ./gradlew assembleGoogleDebug assembleFdroidDebug # Desktop run ./gradlew :desktopApp:run # Desktop native installers for the current OS (DMG / MSI+EXE / DEB+RPM+AppImage) ./gradlew :desktopApp:packageReleaseDistributionForCurrentOS # API reference (Dokka HTML → build/dokka/html) ./gradlew :dokkaGeneratePublicationHtml . ",
"content": "Gradle Kotlin DSL . All build files use Kotlin DSL (.gradle.kts). Configuration: . | Version catalog: gradle/libs.versions.toml | Convention plugins: build-logic/convention/ | Settings: settings.gradle.kts | . Convention Plugins . Located in build-logic/convention/src/main/kotlin/. The full set is registered in build-logic/convention/build.gradle.kts; these are the ones a module build applies most often: . | Plugin | Purpose | . | meshtastic.kmp.feature | Standard feature module setup | . | meshtastic.kmp.library | Shared KMP library module | . | meshtastic.kmp.library.compose | KMP library that also ships Compose UI | . | meshtastic.kmp.jvm.android | Adds the jvmAndroidMain source set shared by the Android and desktop JVM targets | . | meshtastic.koin | Koin Annotations + K2 compiler plugin | . | meshtastic.kotlinx.serialization | Serialization plugin setup | . | meshtastic.android.room | Room KMP setup and schema location | . | meshtastic.android.screenshot | Compose Preview screenshot testing | . The rest cover the application and library variants, lint, detekt, spotless, Dokka, Kover, AboutLibraries, analytics, secrets, the docs tasks and the root aggregate — read the register(…) block rather than assuming a plugin does or does not exist. Build Variants (Android) . | Flavor | Description | . | google | Google Play distribution; includes proprietary APIs | . | fdroid | F-Droid distribution; FOSS-only dependencies | . Key Gradle Tasks . # Compile check of every KMP module for JVM and iosSimulatorArm64 (excludes :desktopApp) ./gradlew kmpSmokeCompile # Run all tests: allTests covers KMP modules, test covers Android/JVM-only modules; run both ./gradlew test allTests # Code quality ./gradlew spotlessCheck detekt detektTypeResolved # Android build ./gradlew assembleGoogleDebug assembleFdroidDebug # Desktop run ./gradlew :desktopApp:run # Desktop native installers for the current OS (DMG / MSI+EXE / DEB+RPM+AppImage) ./gradlew :desktopApp:packageReleaseDistributionForCurrentOS # API reference (Dokka HTML → build/dokka/html) ./gradlew :dokkaGeneratePublicationHtml . ",
"url": "/Meshtastic-Android/main/en/developer/codebase.html#build-system",
"relUrl": "/en/developer/codebase.html#build-system"
@@ -3627,7 +3627,7 @@
},"518": {
"doc": "Contributing",
"title": "Development Workflow",
"content": ". | Fork the repository (external contributors) or create a branch (maintainers). | Implement your changes following the architecture guidelines. | Test locally: ./gradlew spotlessCheck detekt kmpSmokeCompile test allTests | Commit with clear, descriptive messages. | Push and open a Pull Request. | . ",
"content": ". | Fork the repository (external contributors) or create a branch (maintainers). | Implement your changes following the architecture guidelines. | Test locally: ./gradlew spotlessCheck detekt detektTypeResolved kmpSmokeCompile test allTests | Commit with clear, descriptive messages. | Push and open a Pull Request. | . ",
"url": "/Meshtastic-Android/main/en/developer/contributing.html#development-workflow",
"relUrl": "/en/developer/contributing.html#development-workflow"
@@ -3641,7 +3641,7 @@
},"520": {
"doc": "Contributing",
"title": "Pull Request Checklist",
"content": "Before submitting: . | Code compiles on all targets: ./gradlew kmpSmokeCompile | All tests pass: ./gradlew allTests | Code style passes: ./gradlew spotlessCheck | Static analysis passes: ./gradlew detekt | New code has appropriate test coverage | No android.* imports in commonMain | Koin modules registered if new DI is added | Routes added to Routes.kt if new navigation is introduced | Documentation updated if user-facing behavior changes | . ",
"content": "Before submitting: . | Code compiles on all targets: ./gradlew kmpSmokeCompile | All tests pass: ./gradlew allTests | Code style passes: ./gradlew spotlessCheck | Static analysis passes: ./gradlew detekt detektTypeResolved | New code has appropriate test coverage | No android.* imports in commonMain | Koin modules registered if new DI is added | Routes added to Routes.kt if new navigation is introduced | Documentation updated if user-facing behavior changes | . ",
"url": "/Meshtastic-Android/main/en/developer/contributing.html#pull-request-checklist",
"relUrl": "/en/developer/contributing.html#pull-request-checklist"
@@ -3662,7 +3662,7 @@
},"523": {
"doc": "Contributing",
"title": "Verification",
"content": "Full pre-merge verification: ./gradlew spotlessCheck detekt kmpSmokeCompile test allTests . For docs-specific changes, also run: ./gradlew generateDocsBundle validateDocsBundle . Prose in docs/en/ follows Section 11 of the Meshtastic Client Design Standards — see Documentation Style for what’s specific to this repository. ",
"content": "Full pre-merge verification: ./gradlew spotlessCheck detekt detektTypeResolved kmpSmokeCompile test allTests . For docs-specific changes, also run: ./gradlew generateDocsBundle validateDocsBundle . Prose in docs/en/ follows Section 11 of the Meshtastic Client Design Standards — see Documentation Style for what’s specific to this repository. ",
"url": "/Meshtastic-Android/main/en/developer/contributing.html#verification",
"relUrl": "/en/developer/contributing.html#verification"
@@ -7988,7 +7988,7 @@
},"1141": {
"doc": "Developer Guide",
"title": "Before You Open a PR",
"content": "Things that trip up first-time contributors — check these before requesting review: . | Formatting passes — run ./gradlew spotlessApply to auto-format, then verify with spotlessCheck | Detekt passes — run ./gradlew detekt and fix all reported issues | All tests pass — run ./gradlew test allTests (both are needed: test covers Android-only modules, allTests covers KMP) | Screenshot tests pass — if you touched any Compose UI, run ./gradlew :screenshot-tests:validateDebugScreenshotTest and update reference images if needed | Protos are an external dependency — protobuf models come from the org.meshtastic:protobufs Maven artifact (pinned in gradle/libs.versions.toml); change protos upstream and bump the version, never edit generated code locally | Docs updated — if you changed user-visible UI, update the corresponding page under docs/en/user/ | Previews updated — if you changed UI composables, update the corresponding *Previews.kt file and the screenshot-test baselines | Branch naming — branches must start with feat/, fix/, chore/, docs/, build/, ci/, refactor/, test/, or deps/ | . ",
"content": "Things that trip up first-time contributors — check these before requesting review: . | Formatting passes — run ./gradlew spotlessApply to auto-format, then verify with spotlessCheck | Detekt passes — run ./gradlew detekt detektTypeResolved and fix all reported issues; the second task runs the rules that need the compile classpath | All tests pass — run ./gradlew test allTests (both are needed: test covers Android-only modules, allTests covers KMP) | Screenshot tests pass — if you touched any Compose UI, run ./gradlew :screenshot-tests:validateDebugScreenshotTest and update reference images if needed | Protos are an external dependency — protobuf models come from the org.meshtastic:protobufs Maven artifact (pinned in gradle/libs.versions.toml); change protos upstream and bump the version, never edit generated code locally | Docs updated — if you changed user-visible UI, update the corresponding page under docs/en/user/ | Previews updated — if you changed UI composables, update the corresponding *Previews.kt file and the screenshot-test baselines | Branch naming — branches must start with feat/, fix/, chore/, docs/, build/, ci/, refactor/, test/, or deps/ | . ",
"url": "/Meshtastic-Android/main/en/developer.html#before-you-open-a-pr",
"relUrl": "/en/developer.html#before-you-open-a-pr"
@@ -42022,7 +42022,7 @@
},"6003": {
"doc": "Testing",
"title": "Running tests",
"content": "# All tests: allTests covers KMP modules, test covers Android/JVM-only modules; run both ./gradlew test allTests # Specific module ./gradlew :feature:docs:allTests # Code quality ./gradlew spotlessCheck detekt # Full verification ./gradlew spotlessCheck detekt kmpSmokeCompile test allTests . ",
"content": "# All tests: allTests covers KMP modules, test covers Android/JVM-only modules; run both ./gradlew test allTests # Specific module ./gradlew :feature:docs:allTests # Code quality ./gradlew spotlessCheck detekt detektTypeResolved # Full verification ./gradlew spotlessCheck detekt detektTypeResolved kmpSmokeCompile test allTests . ",
"url": "/Meshtastic-Android/main/en/developer/testing.html#running-tests",
"relUrl": "/en/developer/testing.html#running-tests"
File diff suppressed because one or more lines are too long.
+1 -1
View File
@@ -60,7 +60,7 @@
./gradlew <span class="nb">test </span>allTests
<span class="c"># Code quality</span>
./gradlew spotlessCheck detekt
./gradlew spotlessCheck detekt detektTypeResolved
<span class="c"># Android build</span>
./gradlew assembleGoogleDebug assembleFdroidDebug
File diff suppressed because one or more lines are too long.
+2 -2
View File
@@ -27,8 +27,8 @@ adb pull /data/local/tmp/store-screenshots/fdroid/. fastlane/metadata/android/en
./gradlew :feature:docs:allTests
<span class="c"># Code quality</span>
./gradlew spotlessCheck detekt
./gradlew spotlessCheck detekt detektTypeResolved
<span class="c"># Full verification</span>
./gradlew spotlessCheck detekt kmpSmokeCompile <span class="nb">test </span>allTests
./gradlew spotlessCheck detekt detektTypeResolved kmpSmokeCompile <span class="nb">test </span>allTests
</code></pre></div></div> <h2 id="ci-integration"> <a href="#ci-integration" class="anchor-heading" aria-labelledby="ci-integration"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> CI integration </h2> <p>Tests run automatically on:</p> <ul> <li>Pull request creation/update</li> <li>Push to <code class="language-plaintext highlighter-rouge">main</code></li> <li>Pre-release validation</li> </ul> <p>Single-runner jobs in <code class="language-plaintext highlighter-rouge">reusable-check.yml</code> run on the pinned Ubuntu LTS x64 label with JDK 25 and Gradle caching. Two jobs use a matrix: <code class="language-plaintext highlighter-rouge">test-shards</code> splits into <code class="language-plaintext highlighter-rouge">shard-core</code>, <code class="language-plaintext highlighter-rouge">shard-feature</code> and <code class="language-plaintext highlighter-rouge">shard-app</code>, and <code class="language-plaintext highlighter-rouge">build-desktop</code> runs across macOS, Windows and Linux x64 and arm64, on the labels its own matrix lists. Flatpak verification is its own workflow, not a job here. The pinned Ubuntu LTS arm label and the container-backed <code class="language-plaintext highlighter-rouge">ubuntu-slim</code> runners carry the lightweight jobs. <code class="language-plaintext highlighter-rouge">.skills/testing-ci/SKILL.md</code> has the four-tier rule.</p> </main> <hr> <footer> <footer class="site-footer"> Copyright &copy; 2026 Meshtastic LLC. Distributed under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPL v3 License.</a> </footer> <div class="d-md-none mt-4 fs-2"> This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </div> </footer> </div> </div> <div class="search-overlay"></div> </div> </body> </html>