mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat(desktop): ship-readiness metadata & CI scaffolding
- Set Windows upgradeUuid for stable MSI upgrades - Wire macOS signing/notarization behind SIGN_MACOS env flag - Fix VERSION_CODE passthrough to release-desktop CI job - Rename packageName to "Meshtastic Desktop" - Fix truncated macOS JVM property (apple.menu.about.name) - Add macOS appCategory, entitlements (network, USB) - Add Windows shortcut/menu/dirChooser options - Add Linux debMaintainer, appCategory, rpmLicenseType - Add desktop build attestation step in release workflow - Add Discord notification job for desktop releases - Add desktop category to release notes config - Update RELEASE_PROCESS.md with full desktop release docs - Add desktop download section to README.md - Update roadmap with packaging status and Flatpak reference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
099aea2d81
commit
6fb8d2c315
7 changed files with 166 additions and 24 deletions
69
.github/workflows/release.yml
vendored
69
.github/workflows/release.yml
vendored
|
|
@ -53,6 +53,16 @@ on:
|
|||
required: false
|
||||
INTERNAL_BUILDS_HOST_PAT:
|
||||
required: false
|
||||
DISCORD_WEBHOOK_DESKTOP:
|
||||
required: false
|
||||
APPLE_SIGNING_IDENTITY:
|
||||
required: false
|
||||
APPLE_ID:
|
||||
required: false
|
||||
APPLE_APP_SPECIFIC_PASSWORD:
|
||||
required: false
|
||||
APPLE_TEAM_ID:
|
||||
required: false
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ inputs.tag_name }}
|
||||
|
|
@ -284,7 +294,13 @@ jobs:
|
|||
- name: Package Native Distributions
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_appVersionName: ${{ needs.prepare-build-info.outputs.APP_VERSION_NAME }}
|
||||
VERSION_CODE: ${{ needs.prepare-build-info.outputs.APP_VERSION_CODE }}
|
||||
APPIMAGE_EXTRACT_AND_RUN: 1
|
||||
SIGN_MACOS: ${{ runner.os == 'macOS' && 'true' || 'false' }}
|
||||
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
run: ./gradlew :desktop:packageReleaseDistributionForCurrentOS -PaboutLibraries.release=true --no-daemon
|
||||
|
||||
- name: List Desktop Binaries
|
||||
|
|
@ -306,10 +322,61 @@ jobs:
|
|||
retention-days: 1
|
||||
if-no-files-found: ignore
|
||||
|
||||
- name: Attest Desktop artifact provenance
|
||||
if: success()
|
||||
uses: actions/attest-build-provenance@v4
|
||||
with:
|
||||
subject-path: |
|
||||
desktop/build/compose/binaries/main-release/*/*.dmg
|
||||
desktop/build/compose/binaries/main-release/*/*.msi
|
||||
desktop/build/compose/binaries/main-release/*/*.exe
|
||||
desktop/build/compose/binaries/main-release/*/*.deb
|
||||
desktop/build/compose/binaries/main-release/*/*.rpm
|
||||
desktop/build/compose/binaries/main-release/*/*.AppImage
|
||||
|
||||
notify-desktop-release:
|
||||
if: ${{ inputs.build_desktop && !cancelled() && !failure() }}
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: [prepare-build-info, release-desktop]
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_DESKTOP }}
|
||||
VERSION: ${{ inputs.tag_name }}
|
||||
steps:
|
||||
- name: Notify Discord
|
||||
run: |
|
||||
if [[ -z "$DISCORD_WEBHOOK" ]]; then
|
||||
echo "No DISCORD_WEBHOOK_DESKTOP secret provided. Skipping notification."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PAYLOAD=$(cat <<EOF
|
||||
{
|
||||
"content": null,
|
||||
"embeds": [
|
||||
{
|
||||
"title": "🖥️ New Desktop Release: $VERSION",
|
||||
"description": "Desktop installers (macOS DMG, Windows MSI/EXE, Linux DEB/RPM/AppImage) are available.",
|
||||
"color": 3447003,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Version",
|
||||
"value": "$VERSION",
|
||||
"inline": true
|
||||
}
|
||||
],
|
||||
"url": "https://github.com/meshtastic/Meshtastic-Android/releases/tag/$VERSION"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
curl -H "Content-Type: application/json" -d "$PAYLOAD" "$DISCORD_WEBHOOK"
|
||||
|
||||
github-release:
|
||||
if: ${{ !cancelled() && !failure() }}
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: [prepare-build-info, release-google, release-fdroid, release-desktop]
|
||||
needs: [prepare-build-info, release-google, release-fdroid, release-desktop, notify-desktop-release]
|
||||
env:
|
||||
INTERNAL_BUILDS_HOST: ${{ secrets.INTERNAL_BUILDS_HOST }}
|
||||
permissions:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue