Skip to content

New release flow #13

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

Merged
merged 5 commits into from
Jun 3, 2025
Merged

New release flow #13

merged 5 commits into from
Jun 3, 2025

Conversation

jaenrig-ifx
Copy link
Member

By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---

CONTRIBUTING.md also tells you what to expect in the PR process.

  • Added arduino-release.py which supports automatic tagging and release verification. The tag needs to be a valid semver increase on the permanent branches (main, master) and all the commit hash related workflows need to be completed successfully.
  • Updated release.yml workflow to enable auto release (from workflow_dispatch), release verify.
  • Updated release.yml workflow with newer actions of changelog builder and release creation. Release info resolved with the help of arduino-release.py.
  • In arduino-packager.py we have the following modifications:
  • Removed version checking.
  • platform.txt version is automatically added during package generation.
  • Previous release is not the "latest" Github version, but the previous semver "version". This avoid no history when directly tagging from the release sections.

Example of this workflow run:
https://github.com/jaenrig-ifx/arduino-core-psoc6/actions/runs/15345812209

Next todos:

Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
…ion field, and improved previous json manifest retrieval.

Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
…ger.py version.

Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request introduces a new release flow by adding an automatic release tagging mechanism and updating the release workflows, while simplifying version validation in the arduino packager. Key changes include:

  • Adding support for automatic semver-based tagging and release verification in arduino-release.py.
  • Removing version consistency checks from arduino-packager.py and updating platform.txt version injection.
  • Upgrading and adjusting GitHub workflow files for release actions with newer actions and improved release asset information.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

File Description
arduino-packager.py Removed version check and updated version injection and release URL logic.
.github/workflows/release.yml Updated release workflow with new inputs, steps, and action versions.
.github/workflows/package-core.yml Removed now-obsolete version check flag from packager options.

tag_list.append(release["tag_name"])

tag_list.sort(key=semver.VersionInfo.parse, reverse=True)

Copy link
Preview

Copilot AI May 30, 2025

Choose a reason for hiding this comment

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

Ensure that tag_list is not empty before accessing its first element to avoid a potential IndexError if no valid semver tags are found. Consider adding a check to handle the empty list scenario gracefully.

Suggested change
if not tag_list:
logging.error("No valid semver tags found in the releases. Cannot determine the highest tag.")
return None

Copilot uses AI. Check for mistakes.


- name: Release setup
if : ${{ inputs.setup-script }} != null
Copy link
Preview

Copilot AI May 30, 2025

Choose a reason for hiding this comment

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

[nitpick] Remove the extra space between 'if' and ':' to ensure proper YAML syntax; use 'if:' instead of 'if :'.

Suggested change
if : ${{ inputs.setup-script }} != null
if: ${{ inputs.setup-script }} != null

Copilot uses AI. Check for mistakes.

Copy link
Contributor

@ramya-subramanyam ramya-subramanyam left a comment

Choose a reason for hiding this comment

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

Very nice 👍

Copy link

@IFX-Anusha IFX-Anusha left a comment

Choose a reason for hiding this comment

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

🚀

@jaenrig-ifx
Copy link
Member Author

I will take the AI feedback in the next PR :)

@jaenrig-ifx jaenrig-ifx merged commit f512078 into main Jun 3, 2025
@jaenrig-ifx jaenrig-ifx deleted the new-release-flow branch June 3, 2025 10:41
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.

3 participants