Skip to content

Enhance CI to use with Arduino IDE #49

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 1 commit into from
Jun 26, 2024
Merged

Conversation

hathach
Copy link
Contributor

@hathach hathach commented Jun 26, 2024

Motivation

Thank you for this awesome project. As @ladyada is working on a ch32 dev board, we have been adding tinyusb support for ch32 arduino and is curretly trying to integrate your execllent wchisp tool as upload method in addition to existing wlinke (since not all users has wlinke).

Goal

It would be great that we can directly use the artifacts from your release page with arduino IDE/CLI.

Changes

Arduino is picky and require tool's zip file must contains an single folder (screenshot below). Therefore my initial thought is making a quick change to zip folder containing binary (instead of only binaries). However, I found that ci is a bit out of date, and take the chance to make an update as well. Followig is notable chages

  • merge nightly release to rust.yml, since the build steps are the same, this will help to reduce duplicatio. The nightly-release job only run if the workflow run due to schedule event
  • correctly use macos matrix for x64 and arm64
  • update action checkout/upload/download artifacts to v4 to fix losts of CI warnings
    image
  • Add Release upload steps: to upload binaries when making an new release, I also make nightly build release as per-release (I think we should prioritize stable release).
  • Change compressed tool to zip, it is easier for windows I guess, normally it would be .zip for win and .tar.gz for the rest, but we just use zip here for all for simplicity (let me know if you want to change)
  • For demo: please checkout our fork ci https://github.com/adafruit/wchisp/actions and release page https://github.com/adafruit/wchisp/releases

I am open to all suggestion, let me know if you want to change it in any ways. Should you think this is useful and merge, please consider to make an release e.g 0.2.1 since nightly build binaries changes constantly and cannot be used directly with Arduino which requires sha256 checksum in the board index.

Screenshot from 2024-06-26 11-30-31

* merge nightly release to rust.yml
* correctly use macos matrix for x64 and arm64
* update action checkout/upload/download artifacts to v4
@hathach hathach changed the title enhance CI Enhance CI to use with Arduino IDE Jun 26, 2024
@andelf
Copy link
Contributor

andelf commented Jun 26, 2024

Thank you for your detailed explanation and your work on improving the project.

I've reviewed the artifacts, and everything works seamlessly.

please consider making a release, e.g., 0.2.1

I will do that soon!

@andelf andelf merged commit f4372ea into ch32-rs:main Jun 26, 2024
5 checks passed
@ladyada
Copy link

ladyada commented Jun 26, 2024

awesome! we are excited to have better support for this fun chip. please check out some of our updates such as adding tinyUSB device support

@andelf
Copy link
Contributor

andelf commented Jun 26, 2024

Published as v0.2.3.

The Actions work seamlessly.😁

@hathach hathach deleted the improve-ci branch June 26, 2024 15:10
@hathach
Copy link
Contributor Author

hathach commented Jun 26, 2024

glad that you find this PR useful, yeah, let make this fun chip more fun :)

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