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

enh(cpn): Cloudbuild - phase 1 #4856

Merged
merged 10 commits into from
May 28, 2024
Merged

enh(cpn): Cloudbuild - phase 1 #4856

merged 10 commits into from
May 28, 2024

Conversation

elecpower
Copy link
Collaborator

@elecpower elecpower commented Apr 7, 2024

Fixes #4858

Summary of changes:

  • add Cloudbuild as an updateable component
  • add build process to interface
  • improve freeing control to other processes during long running Internet requests
  • allow the update process to be cancelled (stops at end of higher level processes)
  • housekeeping inc removing unused files

Status:

  • supports all radios defined in Companion and build targets
  • language from radio profile
  • supported options:
    • fai mode
  • firmware file name [target radio]-[language][-option[-option]...]-[version].bin

TODO:

  • consider build timeout in case build server has build queue or has an issue (user can cancel but maybe not a great idea to have status requests hitting the build server every couple of seconds from multiple sources for long periods).
  • add async process to flash firmware

Phase 2 (separate PR):

  • review and refine radio profile options GUI
  • add more options to build request as they become supported by Cloudbuild system
  • remove Github firmware update component when Cloudbuild stable

Screenshot from 2024-04-12 08-19-55

Screenshot from 2024-04-12 08-20-11

Screenshot from 2024-04-12 08-21-45

@elecpower elecpower marked this pull request as draft April 7, 2024 22:13
@elecpower elecpower added enhancement ✨ New feature or request companion Related to the companion software labels Apr 7, 2024
@pfeerick pfeerick added this to the 2.11 milestone Apr 7, 2024
@elecpower
Copy link
Collaborator Author

Ready for playtime in the sandpit.
I have not tinkered with the Radio Profile options yet.
Refer description above for status.

@pfeerick
Copy link
Member

pfeerick commented Apr 12, 2024 via email

@elecpower elecpower marked this pull request as ready for review May 25, 2024 23:38
@elecpower elecpower force-pushed the elecpower/enh-cpn-cloudbuild branch from 9ccad33 to e1ab7a8 Compare May 26, 2024 21:38
@pfeerick pfeerick requested review from pfeerick May 27, 2024 09:20
@elecpower elecpower force-pushed the elecpower/enh-cpn-cloudbuild branch from e1ab7a8 to efd907d Compare May 27, 2024 11:00
@pfeerick
Copy link
Member

Quick run through until github rate limits said no... seems to be working just fine. Looking forward to phase 2 ;)

Two minor niggles / food for future improvements :

  • I think I bumped into our old friend again, whereby making changes in Settings -> Update Settings -> Options (i.e. for MPM, changing filter from all MPM firmware to just the TAER firmwares) doesn't get honoured if you then go back into the downloads screen until you restart Companion. Minor, but confusing. 🤪
  • It would be good if you could cancel all pending downloads... i.e. canceling while downloading MPM firmware led to needing to cancel multiple times.

@pfeerick pfeerick merged commit 27f53ff into main May 28, 2024
3 checks passed
@pfeerick pfeerick deleted the elecpower/enh-cpn-cloudbuild branch May 28, 2024 00:50
mha1 added a commit to mha1/edgetx that referenced this pull request May 28, 2024
@elecpower
Copy link
Collaborator Author

Quick run through until github rate limits said no... seems to be working just fine. Looking forward to phase 2 ;)
Two minor niggles / food for future improvements :

aka complaints ;-)

  • I think I bumped into our old friend again, whereby making changes in Settings -> Update Settings -> Options (i.e. for MPM, changing filter from all MPM firmware to just the TAER firmwares) doesn't get honoured if you then go back into the downloads screen until you restart Companion. Minor, but confusing. 🤪

Will have to work on this one as it comes down to the way the settings were implemented. There are two copies: one on disk and one in memory. Maybe I erred when implementing the Updates.

  • It would be good if you could cancel all pending downloads... i.e. canceling while downloading MPM firmware led to needing to cancel multiple times.

You don't want much. Cancel wasn't an option until now. But to be honest I also thought the cancel could go further in a later PR. The rework to cascade up the lower level cancel is not insignificant and I wanted to get this Beta version incorporated for some invaluable feedback from fellow devs.

@pfeerick
Copy link
Member

pfeerick commented May 28, 2024

Could also be user error, as I hit the rate limit at the exact wrong time as I was trying to do a repeat test to confirm it wasn't PBKAC, but just wanted to flag it so it's at the back of your mind when working on this code...

lol... more just QoL improvements that would nice to have some day (as would a "just go away already" button that was mentioned in another issue - to do with self inflicted "version not supported" warning for every single model file on the radio 😇 )... complaints get me stomping my (small) boots and waving a "thou shall not pass" sign 🤣

@elecpower
Copy link
Collaborator Author

Your diligent testing and feedback is appreciated. These are on my TODO list.

@pfeerick pfeerick changed the title enh(cpn): Cloudbuild enh(cpn): Cloudbuild - phase 1 May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
companion Related to the companion software enhancement ✨ New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Companion add support for Cloudbuild
2 participants