Mi Primera CI/CD con Tauri: Lecciones de VaultNote y SvelteKit

Aprende cómo VaultNote y Q2BSTUDIO crean binarios nativos multiplataforma (Windows, macOS, Linux y Android) a partir de una base de código unificada con Tauri, SvelteKit y CI/CD automatizado.

26 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Soy Michael y quiero compartir mi experiencia construyendo VaultNote, una pequeña aplicación de toma de notas que fue mi campo de pruebas para aprender desarrollo multiplataforma con Tauri y SvelteKit. El objetivo principal no fue tanto la funcionalidad —nota básica con renderizado markdown— sino aprender a publicar binarios nativos para Windows, macOS (Intel y ARM), Linux y Android a partir de una sola base de código. El resultado fue un prototipo funcional después de muchas horas y más de 60 ejecuciones fallidas en CI.

En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, fomentamos este tipo de experimentos porque aceleran el aprendizaje sobre tecnologías modernas y mejores prácticas. Ofrecemos servicios que incluyen software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y automatización, y VaultNote me permitió aplicar esos conceptos en un proyecto real.

Por qué Tauri y SvelteKit Fue una elección natural: Tauri entrega ejecutables ligeros y seguros sin el sobrepeso de Electron, y SvelteKit aporta reactividad y velocidad en el frontend. Con Bun y Vite la experiencia de desarrollo fue muy ágil. En el almacenamiento probé Prisma pero finalmente me quedé con Dexie.js sobre IndexedDB porque en JavaScript no había una solución de base de datos cross platform que encajara sin complicar demasiado la capa Rust.

Cómo empecé Instalar un proyecto Tauri + SvelteKit fue sencillo: ajustar src-tauri/tauri.conf.json, ejecutar bun dev para la web y bun tauri dev para escritorio. Para Android hubo que pelearse con Android Studio y cargo tauri android dev. Pero automatizar todo esto en CI fue la verdadera batalla.

Resumen del pipeline objetivo Mi meta fue: al pushear a main versionar automáticamente, compilar para 6 plataformas (4 de escritorio y Android APK/AAB), firmar Android y publicar artefactos limpios en GitHub Releases. Implementé GitHub Actions con release-please para versionado, tauri-action para empaquetar y scripts personalizados para mantener las versiones sincronizadas entre package.json, Cargo.toml y tauri.conf.json.

Paso 1 Versiones sincronizadas o nada Los desajustes de versiones rompen builds silenciosamente. Resolví usar package.json como fuente de la verdad con un script Node que actualiza Cargo.toml y valida tauri.conf.json. Este script corre en precommit y en CI. El flujo comienza con release-please que crea tags y PRs; cada job revisa el tag y re-sincroniza versiones. Validar versiones pronto ahorra muchas regresiones.

Paso 2 Builds de escritorio Gancho temprano y gratificante: trabajos en paralelo para windows, macOS intel y arm, y Linux. Pasos típicos: instalar dependencias como WebKit en Linux, configurar Bun y Rust, cachear compilaciones y ejecutar bun vite build para generar los assets web antes de que tauri-action empaquete. Problemas menores incluyeron especificar el target aarch64-apple-darwin para macOS y agregar libwebkit2gtk-4.1-dev en Linux. Al establecer fail-fast en false las demás plataformas seguían publicando aún si una fallaba.

Paso 3 Android El gran desafío Android fue un monstruo: instalación correcta del SDK y NDK, rutas de herramientas inconsistentes, firmas con keystore, y pins de versiones en Cargo/Tauri. Lecciones clave que aprendí: instalar build-tools 34.0.0 y exportar las rutas de herramientas en el PATH, base64-decodificar y validar el keystore desde secretos en CI, y entender que Tauri puede autfirmar APKs por lo que no conviene ejecutar apksigner manualmente en algunos flujos. También hubo que ajustar rutas de salida porque Tauri retorna APKs ya firmados en nombres como app-universal-release.apk.

Qué funciona hoy En la versión v0.21.5 al hacer push a main se dispara release-please, se sincronizan versiones, se construyen artefactos de escritorio en paralelo y Android en un job aparte. Los binarios se suben firmados y renombrados para branding, y los assets aparecen en GitHub Releases. Tiempo total aproximado 15 a 25 minutos con una tasa de éxito superior a 95 por ciento.

Herramientas y decisiones técnicas Usé Dexie.js para almacenamiento local y Carta-MD para renderizado markdown. Para el CI trusteé en tauri-action y release-please y añadí scripts personalizados para sincronizar versiones. Aprendí que la comunidad y la documentación de Tauri son más útiles que respuestas genéricas de IA cuando el problema es específico de Rust o de toolchains de Android.

Lecciones aprendidas Empieza por lo pequeño: primero escritorio, luego móvil. Mantén una sola fuente de verdad para versiones y automatízalo. Registra todo durante el debug: imprimir configs, listar directorios y usar set -euo pipefail en scripts bash fue invaluable. Aborda Android por bloques de problemas y apóyate en la comunidad y en plantillas cuando sea posible. Y no subestimes el tiempo que toma dominar firmas y rutas en Android.

Si tu empresa o proyecto necesita experiencia para trasladar una app web a binarios nativos, optimizar pipelines CI/CD o desarrollar soluciones con inteligencia artificial y ciberseguridad, en Q2BSTUDIO ofrecemos servicios integrales para llevar ideas a producción, incluyendo aplicaciones a medida y software a medida. También diseñamos estrategias de ia para empresas y agentes IA personalizados, y podemos ayudarte a integrar desarrollo de aplicaciones y software a medida con soluciones de inteligencia artificial mediante nuestros servicios de servicios de inteligencia artificial.

¿Quieres ver el pipeline completo o colaborar En mi repo hay documentación sobre CI/CD, scripts y guías paso a paso. Forkea el proyecto, abre issues o envía PRs. Si trabajas en iOS, firmados de escritorio o optimización de caches en CI, tus aportes serán bienvenidos. En Q2BSTUDIO estamos listos para ayudar a transformar tu idea en un producto robusto, seguro y escalable utilizando prácticas modernas de DevOps, cloud y business intelligence.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.