zinc-collective / convene

An Operating System for the Solidarity Economy
https://convene.zinc.coop
Other
56 stars 19 forks source link

`Neighborhood`: `Operators` may use Github Codespaces for contributing #1084

Closed daltonrpruitt closed 1 year ago

daltonrpruitt commented 1 year ago

To help facilitate easier development (and allow it online), this PR sets up devcontainer usage for convene. \ Started by following the Devcontainers extension's UI prompts, then added in other dependencies later.

zspencer commented 1 year ago

This is very cool! How would someone go about testing or using this?

daltonrpruitt commented 1 year ago

As far as I can tell, you should be able to click on my fork's branch, then click the code button, select the codespaces tab, then the + icon. I had a bunch of issues getting it started up, but reloading, restarting, reloading, ... eventually made it work.

I just checked the one I thought I started earlier this week, and it seems to be broken. So that's cool... 🤷

daltonrpruitt commented 1 year ago

It seems that I was really starting this wrong. Doing the + straight up just seems to start on main, which doesn't have devcontainer folder. Currently working on starting it up the right way.

KellyAH commented 1 year ago

Will this eventually replace our current local dev environment setup with a better one?

daltonrpruitt commented 1 year ago

This method of doing dev environments may work well (especially for new people to get started) because it:

  1. Is accessible online via codespaces and
  2. Can be loaded/used locally in VS Code, bypassing the need to set up a local environment manually.

However, I think that people will probably have their own ways to set up their environment in just the right way for them, and I don't know how persistence across local environments would work. I don't know if you can mount local files to the dev containers or if it is truly and completely isolated. If it is isolated, that could prevent people from setting things up in just the right way. I figured it was something that could be discussed.

zspencer commented 1 year ago

Will this eventually replace our current local dev environment setup with a better one?

Like Dalton, I see this as primarily a "Make it easy for folks who do not want to maintain a local dev environment"

For example, when I'm at a pub with my iPad, I currently have a Tailscale + SSH setup which allows me to hack on Convene on my home computer; but... uhhh... I would much rather be able to tap a button and create a branch with a fully operational IDE 🤣

zspencer commented 1 year ago

Is it possible we're at a point where it's worth merging this and working out the kinks in future PRs? Or should we keep on letting it ride?

daltonrpruitt commented 1 year ago

Good point. I think it's really close, but I'll need to find some time to do some final checks and see if it is at least usable. If I can get the whole "one-button-to-run-it-all" setup right yet, I at least want it to make sure it forwards ports correctly (which I've been led to believe it will automatically, but have yet to confirm).

I should be able to test this tonight and tomorrow. Is that an okay timeframe?

zspencer commented 1 year ago

I'm less concerned from a timing-of-completion perspective and asking more from a "Is this branch getting unwieldy?" or "is this good enough that others could start to build on it if it was in main?" perspective; so no rush on my end as long as you're comfy with the contributor ergonomics!

daltonrpruitt commented 1 year ago

Fair enough. It's very close to being somewhat useable, I'm just stuck on some kind of postgres issue at the moment. Once that's fixed, it should be ready for initial inclusion.

daltonrpruitt commented 1 year ago

Geez. Well, it seems to be working now, but I'm sure we'll find some kinks. Let me know if you get to try it before merging! (You'd have to do it on the branch of my fork, though.)