105: OpenIM Automated Release and multi arch

Description:

In order to address the evolving needs of our user base and streamline our development and deployment processes, it's imperative that we implement an automated release and multi-architecture compilation strategy for the Core Repository. This enhancement will not only reduce manual intervention but also ensure compatibility across diverse hardware architectures.

Objectives:

  1. Automated Release

    : Automate the process of packaging and releasing new versions of the software in the Core Repository. This should include:

    • Version bumping.
    • Change-log generation.
    • Notification to stakeholders.
  2. Multi-Architecture Compilation:

    • Ensure that our software is compilable and runs efficiently on multiple hardware architectures.
    • Implement CI/CD checks for common architectures like x86_64, ARM64, etc.
    • Provide documentation for supported architectures and potential pitfalls or optimizations for each.

Steps:

  1. Evaluate and select appropriate CI/CD tools that support multi-architecture builds (e.g., Jenkins, GitHub Actions, Travis CI).
  2. Implement automated versioning and release workflows.
  3. Add compilation steps for different architectures in the CI/CD pipeline.
  4. Test builds on actual hardware or emulated environments to ensure proper functionality.
  5. Document the new workflows and provide guidelines for contributors and maintainers.

Additional Information:

  • Any pre-existing tools or scripts that could aid in this transition should be mentioned.
  • We might need to consider potential licensing or costs associated with some CI/CD tools.

Call to Action: Looking for feedback from the team regarding potential tools to use and any challenges foreseen in implementing this strategy. Contributions, suggestions, and best practices are welcome!