localgovdrupal / localgov_project

Project template for Drupal 10 sites built with the LocalGov Drupal distribution.
https://localgovdrupal.org
GNU General Public License v2.0
10 stars 8 forks source link

Support for Gitpod #100

Closed keelanfh closed 1 year ago

keelanfh commented 1 year ago

For the last few months, I've been using Gitpod as an online dev environment for LocalGov Drupal

This is a useful tool because:

At the moment I'm using ECC's Github to store this, but having the required files in this repository would mean that we don't have to update it in two places, and it would be more visible to other councils.

finnlewis commented 1 year ago

Very cool @keelanfh - I agree it would be great to bring this into the project to allow people to spin up a dev / test environment in the cloud at the click of a link.

Mind blowing really....

I see you created a branch, so lets test it and look at bringing it in.

I was also exploring a default DDEV configuration for local dev, so if the two are the same, then this could be a win win ! https://github.com/localgovdrupal/localgov_project/issues/92 as you

keelanfh commented 1 year ago

Ooh and let's do some docs for this too!

finnlewis commented 1 year ago

SSH push and pull

Drupalpod is set up to help with testing and contributing to Drupal.org issues.

To push code changes, we will need ssh keys in the container / dev environment.

For Drupal.org , they have some helper scripts and documentation: https://github.com/shaal/DrupalPod#pushing-code

We will need something similar for Github if we want people to be able to test pull requests or issues and contribute changes back up to Github.

Initially it seems we just need to create new ssh keys within the Gitpod environment and add them to the our Github account.

It would be good if we could make these ssh keys persistent between builds for a given user.

keelanfh commented 1 year ago

When I've been using Gitpod, I've had no problem pushing to GitHub for repos that I own or that are in essexcountycouncil. I didn't add any SSH keys, Gitpod just handles this. I did get an error when I tried to push to a localgovdrupal repo though...

keelanfh commented 1 year ago

Looks like an owner of the localgovdrupal org would need to grant access: https://www.gitpod.io/docs/configure/authentication/github#errors-with-private-repositories-on-github-orgs

keelanfh commented 1 year ago

(To be clear, allowing Gitpod for the organisation still requires individuals to authorise Gitpod against their own individual account and will only allow them to do things that they can already do).

Handling permissions using Gitpod's integration with the Github API seems more robust and easier to implement than using SSH keys.

andybroomfield commented 1 year ago
Screenshot 2023-01-24 at 12 07 08 pm

Is working for me!

So I guess next steps is to include a link in the readme / documentation to allow people to try.

keelanfh commented 1 year ago

I've created a draft PR in the docs, just copying over the information that we had from Essex as a starting point. https://github.com/localgovdrupal/docs/pull/165