Skip to main content

Continuous Integration (CI/CD)

Welcome to HexDroid CI/CD, a powerful automation system designed to streamline your software development lifecycle, with specialized capabilities tailored for projects using AOSP (Android Open Source Project) development.

What is CI/CD?​

CI/CD stands for Continuous Integration and Continuous Delivery/Deployment.
It's a set of practices and tools designed to automate the building, testing, and deployment of software.

  • Continuous Integration (CI): Regularly merging code changes from all developers into a central repository, followed by automated builds and tests. This helps catch integration issues early.
  • Continuous Delivery (CD): Automating the release process so that validated code can be reliably released to users at any time.

What HexDroid CI/CD Does?​

HexDroid CI/CD automates your development pipeline through workflows defined in simple YAML configuration files. Key functionalities include:

  • AOSP-Specific Steps: Leverage built-in steps designed for common AOSP tasks like repo sync, lunch, make, signing, and release management.
  • Release Management: Tight integration with HexDroid Update Management (OTA) for distribution.
  • Automated Triggers: Launch pipelines automatically based on Git events (pushes, pull requests, comments) or scheduled times (cron).
  • Workflow Definition: Define complex pipelines with multiple stages and steps within each stage.
  • Environment Management: Easily configure build environments using container images.
  • Multi-Repository Handling: Natively supports workflows that involve checking out and building code from multiple repositories, crucial for AOSP.

Why HexDroid CI/CD?​

While generic CI/CD solutions exist, developing complex projects like those based on AOSP presents unique challenges:

  • Multi-Repository Complexity: AOSP often involves changes spanning multiple Git repositories, which need to be built and tested together.
  • Complex Build Environment: Setting up the correct AOSP build environment can be intricate and resource-intensive.
  • Vendor Customizations: Managing device-specific customizations and vendor adaptations requires specialized handling.
  • Large Source Code: AOSP codebases are typically very large, demanding efficient checkout and build processes.

HexDroid CI/CD was purpose-built to address these challenges head-on. It provides a robust, efficient, and streamlined platform specifically optimized for AOSP workflows, offering features and integrations that simplify tasks often cumbersome in other systems.

Getting Started​

To start automating your workflows, explore the Workflow Syntax documentation to learn how to define your pipelines.

If you are working with AOSP, the Setting up AOSP CI/CD Pipeline guide provides specific examples and best practices.

VCS Integration​

HexDroid CI/CD system needs to be integrated with a Version Control System (e.g., GitHub) to listen for pull request events, run jobs to check out the source code, and build it.

To connect HexDroid to a VCS, navigate to your HexDroid project. Go to Project Settings > Integrations, click Add Integration and select your VCS from the list.

Add integration to HexDroid

Supported VSC:

  • GitHub

Other VCS Support​

If your team is using a different version control system that is not currently supported, please reach out to our support team at support@hexdroid.com.
We actively consider adding support for additional VCS platforms based on user needs and requirements.