makepad-deployment — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited makepad-deployment (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill covers packaging Makepad applications for all supported platforms.
cargo-packager, cargo-makepad, or GitHub Actions packaging flows for Makepad.| Platform | Tool | Output |
|---|---|---|
| Desktop | cargo-packager | .deb, .nsis, .dmg |
| Android | cargo-makepad | .apk |
| iOS | cargo-makepad | .app, .ipa |
| Web | cargo-makepad | Wasm + HTML/JS |
| CI/CD | makepad-packaging-action | GitHub Release assets |
Use makepad-packaging-action to package Makepad apps in CI. It wraps cargo-packager (desktop) and cargo-makepad (mobile), and can upload artifacts to GitHub Releases.
jobs:
package:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: Project-Robius-China/makepad-packaging-action@v1
with:
args: --target x86_64-unknown-linux-gnu --releaseNotes:
Full inputs/env/outputs and release workflows live in references/makepad-packaging-action.md.
Desktop packaging uses cargo-packager with robius-packaging-commands for resource handling.
# Install cargo-packager
cargo install cargo-packager --locked
# Install robius-packaging-commands (v0.2.1)
cargo install --version 0.2.1 --locked \
--git https://github.com/project-robius/robius-packaging-commands.git \
robius-packaging-commandsAdd packaging configuration to your Cargo.toml:
[package.metadata.packager]
product_name = "YourAppName"
identifier = "com.yourcompany.yourapp"
authors = ["Your Name or Team"]
description = "A brief description of your Makepad application"
# Note: long_description has 80 character max per line
long_description = """
Your detailed description here.
Keep each line under 80 characters.
"""
icons = ["./assets/icon.png"]
out_dir = "./dist"
# Pre-packaging command to collect resources
before-packaging-command = """
robius-packaging-commands before-packaging \
--force-makepad \
--binary-name your-app \
--path-to-binary ./target/release/your-app
"""
# Resources to include in package
resources = [
# Makepad built-in resources (required)
{ src = "./dist/resources/makepad_widgets", target = "makepad_widgets" },
{ src = "./dist/resources/makepad_fonts_chinese_bold", target = "makepad_fonts_chinese_bold" },
{ src = "./dist/resources/makepad_fonts_chinese_bold_2", target = "makepad_fonts_chinese_bold_2" },
{ src = "./dist/resources/makepad_fonts_chinese_regular", target = "makepad_fonts_chinese_regular" },
{ src = "./dist/resources/makepad_fonts_chinese_regular_2", target = "makepad_fonts_chinese_regular_2" },
{ src = "./dist/resources/makepad_fonts_emoji", target = "makepad_fonts_emoji" },
# Your app resources
{ src = "./dist/resources/your_app_resource", target = "your_app_resource" },
]
before-each-package-command = """
robius-packaging-commands before-each-package \
--force-makepad \
--binary-name your-app \
--path-to-binary ./target/release/your-app
"""# Install dependencies
sudo apt-get update
sudo apt-get install libssl-dev libsqlite3-dev pkg-config \
binfmt-support libxcursor-dev libx11-dev libasound2-dev libpulse-dev
# Build package
cargo packager --releaseOutput: .deb file in ./dist/
# Build NSIS installer
cargo packager --release --formats nsisOutput: .exe installer in ./dist/
# Build package
cargo packager --releaseOutput: .dmg file in ./dist/
# Linux (Debian)
[package.metadata.packager.deb]
depends = "./dist/depends_deb.txt"
desktop_template = "./packaging/your-app.desktop"
section = "utils"
# macOS
[package.metadata.packager.macos]
minimum_system_version = "11.0"
frameworks = []
info_plist_path = "./packaging/Info.plist"
entitlements = "./packaging/Entitlements.plist"
# Optional: signing identity for distribution
signing_identity = "Developer ID Application: Your Name (XXXXXXXXXX)"
# macOS DMG
[package.metadata.packager.dmg]
background = "./packaging/dmg_background.png"
window_size = { width = 960, height = 540 }
app_position = { x = 200, y = 250 }
application_folder_position = { x = 760, y = 250 }
# Windows NSIS
[package.metadata.packager.nsis]
appdata_paths = [
"$APPDATA/$PUBLISHER/$PRODUCTNAME",
"$LOCALAPPDATA/$PRODUCTNAME",
]~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.