pimoroni / picosystem

PicoSystem libraries and examples.
MIT License
145 stars 33 forks source link

Ease onboarding with Gitpod #74

Closed titimoby closed 4 months ago

titimoby commented 2 years ago

Gitpod is a tool allowing to have workspace in the cloud with anything you need to work on any specific task. I configured everything to allow building and contributing to picosystem project. I hope this will ease contribution and work with picosystem.

Gadgetoid commented 2 years ago

Thank you,

I must admit you have me at a disadvantage. I have only a basic inkling of what GitPod is and no idea what the implications of supporting it long-term might be.

I also have some hesitance about using our repositories as a pipeline into their paid service, particularly since "always free" has almost always proven to be a lie in the SAAS industry. "Always free" is, at best, a claim no business can guarantee and at worst an openly disingenuous marketing dark pattern.

As such I am not quite bought and sold on including their configs in the repository, since it looks like an endorsement.

Don't get me wrong- I like the concept of a low-friction setup and appreciate your bringing it to my attention. In fact I even had prototypes of exactly this kind of web-based, low-friction IDE in the very, very early days of 32blit (in many ways the precursor to PicoSystem) but I'm unsure about putting the responsibility for that low-friction setup into the hands of a third party that I don't have any kind of mutual relationship with.

When I find the time, I'll try to vet this platform and see what the general feeling is from others at HQ since I don't want to discount it out of hand.

titimoby commented 2 years ago

As I told you on Twitter, I really think Gitpod is a very fair OSS company. The product is open source, the community very helpful without distinction between self hosted and SAAS. I could not give you guarantee on the free tiers, Pauline gave you the official statement on their willingness to keep the free tier forever. There is also OSS tier that may be useful.

I really respect the care you have for your project and I will be available for any help or question when you start discussing it with others at HQ. If it helps, I can handle a small demo to show you how it works.

shaal commented 2 years ago

FWIW, I've been using Gitpod for the last 2 years, I'm a Gitpod community hero, and a Drupal core maintainer.

Gitpod revolutionized how contributions are done in Drupal (simplifying a complex local setup of a few hours, to 1 click in the browser. Check https://www.drupal.org/docs/develop/development-tools/drupalpod and feel free to ask me anything.

I got inspired to create DrupalPod, after seeing the impressive number of projects already utilizing Gitpod, listed here - https://contribute.dev/

Gitpod is not a replacement and doesn't force developers to change their favorite tool, it adds an alternative that makes contributions to open source a much easier and nicer experience.

Gadgetoid commented 2 years ago

@titimoby how did you trigger a build of the project through the IDE?

I use CMake Tools offline, and they seem to install/run okay within GitPod. Granted C++ builds are slow. Slower than my N5000 laptop.

It looks like it might be possible to install CMake Tools by default, though I'm not sure how you set the relevant environment variables so that CMake finds the Pico SDK.

I had to create a workspace settings.json with the following:

{
    "cmake.configureSettings": {
        "PICO_SDK_FETCH_FROM_GIT": true
    }
}

Assuming I'm an absolute beginner clicking the "Open in GitPod" button to get a quickstart on PicoSystem development (I basically am... in theory) and I manage to get things built (which I did because I know what I'm doing) how do I retrieve the built .uf2 files?

Gadgetoid commented 2 years ago

FWIW, I've been using Gitpod for the last 2 years, I'm a Gitpod community hero, and a Drupal core maintainer.

Thanks for weighing in. I had no idea it had been around for 2 years. Guess it shows how in touch I am.

I think from my perspective I'm expecting it to be very beginner-friendly so that someone can just drive by, smash a button and have some code compiling... I think that works a lot better for web stuff than it does for embedded (my previous experience with cloud IDEs was back when I did web stuff, many moons ago) but I guess it can't hurt to try.

You're right- it's not a replacement but a choice, and I can think of at least one customer who might have been better served by being able to one-click open a dev environment... assuming it's easy enough to get built files out of the cloud and onto a local device. It follows there should be more.

My caution is weighted by the fact that if we're going to embrace something like this, I'd like to roll it out to all 32blit repositories and anything else Pico related.

Would also be quite cool if we could get an SDL back-end running but it doesn't seem promising form https://github.com/gitpod-io/gitpod/issues/1876

Gadgetoid commented 4 months ago

Closing, since we don't have the bandwidth! (as uh, evidenced by my last response here being > 2 years ago 😬)