Deployment & Packaging
Relevant source files
The following files were used as context for generating this wiki page:
Introduction
Deployment and packaging within the bl1nk Skill Platform encompass a multi-platform strategy designed to deliver an enterprise-grade desktop application and containerized backend services. The system utilizes GitHub Actions for CI/CD automation, covering testing, building, security scanning, and multi-platform releases. The project supports desktop distributions for Windows, macOS, and Linux, alongside Docker-based deployments for server-side components.
Sources: Comprehensive.md:7-14, specs/main/plan.md:10-18
Multi-Platform Electron Packaging
The desktop client is packaged using Electron Forge, supporting major operating systems and architectures. The packaging process includes code signing and notarization to ensure security and compliance with platform requirements.
Build Matrix and Artifacts
| Platform | Architectures | Output Formats | Signing/Notarization |
|---|---|---|---|
| Windows | x64, arm64 | .exe, .msi | DigiCert |
| macOS | x64, arm64 | .dmg, .zip | Apple Developer ID + Notarization |
| Linux | deb, rpm, AppImage | .deb, .rpm, .AppImage | GPG (Optional) |
Sources: Comprehensive.md:120-125, specs/main/plan.md:27-31, specs/main/checklists/implementation.md:68-75
Packaging Workflow
The following diagram illustrates the flow from code push to the creation of platform-specific release artifacts.
The automated release workflow ensures that versioned tags trigger high-integrity builds for all target architectures simultaneously.
Sources: specs/main/plan.md:265-290, Comprehensive.md:118-126
CI/CD Infrastructure
The project utilizes a robust CI/CD pipeline powered by GitHub Actions. This infrastructure handles continuous integration checks (linting, testing) and automated delivery.
Workflow Categories
| Workflow | Purpose | Key Jobs |
|---|---|---|
| CI Pipeline | Main verification | Lint, Type-check, Unit Tests (Vitest), E2E Tests (Playwright) |
| Docker Build | Containerization | Multi-arch builds (amd64, arm64), GHCR Push, SBOM generation |
| Security Scan | Risk Management | CodeQL, Dependency scanning, Secret detection |
| Database Check | Integrity | Prisma schema validation |
Sources: Comprehensive.md:101-115, specs/main/plan.md:104-118
Security and Secrets Management
Deployment workflows rely on specific GitHub Secrets to handle sensitive operations such as code signing and registry authentication.
- Code Signing Secrets:
APPLE_ID,APPLE_PASSWORD,SM_CODE_SIGNING_CERT_SHA1_HASH,WINDOWS_CERTIFICATE. - Registry Secrets:
GHCR_TOKEN. - Security Scanning:
SNYK_TOKEN,SONAR_TOKEN.
Sources: Comprehensive.md:138-160, specs/main/plan.md:377-393, specs/main/checklists/implementation.md:100-110
Containerization and Server Deployment
For backend components, the platform utilizes Docker for multi-platform image distribution. Images are pushed to the GitHub Container Registry (GHCR) with standardized tagging strategies.
Docker Tagging Strategy
latest: Points to the most recent successful build on the main branch.vX.X.X: Mirrors the Git version tags.sha-XXXXXXX: Unique identifier based on the Git commit SHA for traceability.
Sources: Comprehensive.md:129-132, specs/main/plan.md:100-102
The Docker build process incorporates Software Bill of Materials (SBOM) generation for security compliance.
Sources: Comprehensive.md:133-134, specs/main/plan.md:98-102
Deployment Procedure & Verification
Production deployments follow a structured how-to guide to ensure zero-downtime and high availability.
Deployment Steps
- Branch Readiness: Ensure the main branch is merged and all CI tests pass.
- Release Tagging: Create an annotated tag (e.g.,
git tag -a v1.2.3). - Action Monitoring: Observe the GitHub Actions dashboard for the automated release progress.
- Database Migrations: Migrations are auto-run via Prisma validation steps in the workflow.
- Health Verification: Check system metrics (error rates < 0.1%, p95 response < 500ms).
Sources: skill/notion-knowledge-capture/notion-knowledge-capture/examples/how-to-guide.md:38-65
Verification Checklist
| Task | Metric / Requirement |
|---|---|
| Health Checks | All pods healthy in k8s/Docker dashboard |
| Error Rate | < 0.1% over last 10 minutes |
| Performance | Response time p95 < 500ms |
| Auth Flow | Successful test login in production environment |
Sources: skill/notion-knowledge-capture/notion-knowledge-capture/examples/how-to-guide.md:67-73, Comprehensive.md:248-260
Conclusion
The deployment and packaging system for the bl1nk Skill Platform is a comprehensive framework that automates the lifecycle of both desktop and server applications. By integrating Electron Forge for cross-platform desktop builds and GitHub Actions for continuous delivery and security scanning, the project ensures a reliable and secure release process. The inclusion of multi-language documentation (EN/TH) further supports global deployment and contributor onboarding.
Sources: Comprehensive.md:265-275, specs/main/plan.md:470-480