Skip to content

[automation/build]: Zero-Touch linux-binary Build & Publish Pipeline #41

@moheladwy

Description

@moheladwy

Overview

This issue proposes introducing a fully automated CI/CD workflow to build and publish the SharpIDE-linux-bin package to the Arch User Repository (AUR) for Arch Linux–based distributions. The objective is to eliminate manual intervention, reduce operational risk, and ensure consistent, repeatable releases aligned with best-in-class open-source delivery standards.

Problem Statement

The current release process for the sharpide-linux-x64-0.1.11.tar.gz package requires manual steps to:

  • Build the binary artifact
  • compress it
  • Added as a source with the new release

This approach does not scale, increases the likelihood of human error, and introduces unnecessary delays between upstream releases and downstream availability for users.

Proposed Solution

Introduce a GitHub Actions–based automation pipeline that:

  1. Triggers on tagged releases or version changes.
  2. Builds the Linux binary in a controlled CI environment.
  3. Updates the AUR PKGBUILD, checksums, and version metadata.
  4. Commits and pushes changes to the AUR repository using a dedicated deploy key.

This workflow will establish a single source of truth and a deterministic release mechanism.

Scope of Work

  • Design and implement a GitHub Actions workflow under .github/workflows/
  • Securely manage AUR SSH keys via GitHub Secrets
  • Automate:
    • Binary build process (with different CPU arch)
    • SHA256 checksum generation
    • PKGBUILD and .SRCINFO updates
  • Push validated changes to the AUR *-bin repository
  • Document the workflow and operational assumptions

Acceptance Criteria

  • A GitHub Actions workflow exists and is documented
  • On release/tag creation, the SharpIDE-linux-bin package is:
    • Built successfully
    • Published to the corresponding AUR repository without manual steps
  • Secrets are handled securely and follow least-privilege principles
  • The workflow is idempotent and failure-safe

Benefits

  • Faster time-to-availability for Arch Linux users
  • Reduced operational overhead for maintainers
  • Improved release consistency and auditability
  • Alignment with modern OSS automation and DevOps best practices

Additional Notes

  • Initial implementation can target release tags only; branch-based triggers can be evaluated later
  • Dry-run or validation steps are encouraged to prevent accidental AUR corruption
  • Future enhancements may include multi-arch support if applicable

Priority: High
Type: Automation / CI-CD
Target Platform: Arch Linux (AUR)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions