Skip to content

Add Arduino CI with GitHub Actions #16

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 4 commits into from
Dec 23, 2020
Merged

Conversation

skallaher
Copy link

These changes include the use of the arduino_ci tool as well as a GitHub Action to run unit tests for Linux, MacOS, and Windows.

Running locally:

  • Install Ruby and Bundler (gem install bundler)
  • bundle install # adds packages to global library (may require admin rights)
  • bundle install --path vendor/bundle # adds packages to local library
  • bundle exec arduino_ci.rb

Notes:

  • Due to this issue, python needs to be explicitly installed along with pyserial for the GitHub Action. This may also be necessary for your machine as well.
  • Added empty barebones unittest for proof of concept. Actual tests needed, which will require a class that fakes the PAJ7620 sensor protocols.

@acrandal acrandal added this to the v1.4.0 Release milestone Dec 23, 2020
@acrandal acrandal linked an issue Dec 23, 2020 that may be closed by this pull request
@acrandal
Copy link
Owner

This is such great stuff.

@acrandal acrandal merged commit 26265b0 into acrandal:master Dec 23, 2020
@acrandal acrandal linked an issue Dec 23, 2020 that may be closed by this pull request
@ianfixes
Copy link

ianfixes commented Dec 24, 2020

I'd welcome any feedback you may have about where/how arduino_ci documentation should address the python dependency, either here or as a new issue. The next update to the action will be based on this PR and will include the python fix.

@skallaher
Copy link
Author

@ianfixes, I mostly just read through the Readme file for the arduino_ci repo to get it running. This was overall a really smooth experience! If the Python dependency was mentioned around the You Need Ruby and Bundler and You Need A Compiler sections, that would be great. The only python package that I had to ensure was installed with pip is pyserial.

The only other speed bumps that I ran into when getting this running was Error during build: Error resolving FQBN: getting build properties for board esp8266:esp8266:huzzah: invalid option 'FlashSize'. This meant that I had to override the existing esp8266:esp8266:huzzah platform in the .arduino-ci.yml file to remove both FlashSize and CpuFrequency. I've not seen any other reports of this being a problem, so can't verify if it's just the contents of this repo which causes that to happen.

I did find the action repo after having implemented my own GitHub Action (this was my first foray into GitHub Actions, so I didn't think to look for it). If using this action is recommended, I didn't see mention of it in the README.md when implementing.

Thanks for reaching out! I found arduino_ci to be super quick and easy to get the basics setup and rolling!

@ianfixes
Copy link

Thanks, I've made that change to the README locally. I've also opened Arduino-CI/arduino_ci#254 -- thanks for making me aware of that.

The action is very new. On one hand, it's what I consider the future of the project to be -- it's easier for CI and doesn't involve troubleshooting a ruby installation. On the other hand, I'm still coordinating the documentation between the 2 projects. I think the README change that documents it hasn't been merged yet.

I will take a peek at adopting your python setup, since (if I'm understanding correctly) it actually works.

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.

Build failed on esp32 boards - notably the featheresp32 CI - Arduino build via GitHub Actions
3 participants