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

Rework CI workflows #8688

Merged
merged 18 commits into from
Oct 31, 2022
Merged

Rework CI workflows #8688

merged 18 commits into from
Oct 31, 2022

Conversation

mcspr
Copy link
Collaborator

@mcspr mcspr commented Oct 10, 2022

  • split workflows into separate files to trigger by path
    this should help out documentation and boards / eboot / pkg files updates, since those wont trigger usual build stuff anymore
    https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore
  • build*.sh whatever moved into common.sh and build.sh
    trigger different parity builds, mod % rem and allow to set .ino list through the environment variable
  • make use of the sketch env variable to explicitly give Windows and macOS file to build
  • make use of the sketch env variable to have PlatformIO build random .ino files each ci invocation
  • detect root of the repo through git cli, not base{name,dir} or relative paths
  • remove legacy TRAVIS env vars, use ESP8266_ARDUINO prefix instead

@mcspr
Copy link
Collaborator Author

mcspr commented Oct 11, 2022

'Required' workflows never going to work with path filtering, though. Github suggests something very weird with name substitution - https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - which also brings up the fact that workflows match by name. ^ matched with Windows build, for some reason

I think those are somewhere in the org settings, so need to edit that
(...probably, by removing them completely...)

@mcspr mcspr marked this pull request as ready for review October 11, 2022 18:52
@mcspr
Copy link
Collaborator Author

mcspr commented Oct 13, 2022

Experimenting with folds / groups, using them may result in almost unreadable error messages b/c Github defers log page loading.

External example
https://github.com/earthly/earthly/actions/runs/3213430189/jobs/5254151335#step:17:21
(nice and simple game of 'try to find what caused the error' by scrolling and scrolling and scrolling... :)

- split workflows into separate files to trigger by path
  this should help out documentation and boards / eboot / pkg files
  updates, since those *wont* trigger usual build stuff anymore
- build*.sh whatever merged into just common.sh and build.sh
  trigger different parity builds, mod % rem and allow to set .ino list
  through the environment variable
- removes unnecessary temporary files, try to use more pipes
  move remaining ones into cache dir instead of PWD
- remove legacy TRAVIS env vars, use ESP8266_ARDUINO prefix for config
- remove Windows path workarounds
- hardware/ and ide/ directories are set through envionment
  do not force specific paths, simplify builds on local machine
- sketch list is set through environment. expicit paths for Windows and
  macOS builders. platformio also gets a real shuffled list instead of
  mod and rem magic numbers
- detect root of the repo through git cli, not base{name,dir} or relative paths
@earlephilhower earlephilhower merged commit 0aab6ec into esp8266:master Oct 31, 2022
@mcspr mcspr deleted the ci/nice branch October 31, 2022 18:57
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.

2 participants