Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create automated build and release firmware #75

Merged
merged 1 commit into from
Jan 26, 2024
Merged

Conversation

vs4vijay
Copy link
Collaborator

@vs4vijay vs4vijay commented Jan 26, 2024

Create automated build and release firmware for NEMO. This PR involves developing an automated system that generates firmware binaries for NEMO, catering to four different supported boards and two languages.

Whenever a push occurs in the "develop" branch or a tag is created, a Github Action will be triggered. This action will initiate the firmware build process for all combinations of supported boards and languages (4 boards x 2 languages). After completion, it will pause and await manual approval before proceeding to create a release.

Runs:
image

Builds:
image

Workflow:
image

Manual Approval flow for Release Creation:
image

Pre-requisites:

  • Create an environment called "github_release" from the settings tab.
    image

  • Add required reviewers for approving the release and save the protection rules.
    image

CC: @n0xa

Create automated build and release firmware for NEMO
@vs4vijay
Copy link
Collaborator Author

Sample Release:
image

// -=-=- Uncommenting more than one at a time will result in errors -=-=-

String buildver="2.3.4";
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we no longer need to manage and maintain buildver and bump it everytime. It will be handled automatically by automated build system. We have introduced a pre-processor called NEMO_VERSION with default value dev. This is the value we will get when someone manually builds and flashes from source code.

  • When the build happens for a branch (i.e. main branch, feature branches), it will use first 7 chars of commit hash.
  • When the build is happening for tag, then the tag_name will be replaced automatically. i.e. v0.0.2, etc.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice :D

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is used by automated build system to generate the index for m5stack boards, libraries etc.

// -=-=- Uncommenting more than one at a time will result in errors -=-=-

String buildver="2.3.4";
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice :D

@n0xa n0xa merged commit 27d8576 into n0xa:main Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants