-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
add gitpod config #5465
add gitpod config #5465
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm! Small wording changes + needs a rebase.
@cdrini added your changes, this is ready to merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I can't really test this; I tried using your fork, but it didn't start the app for me? But I think it might resolve itself once merged. And we've labelled it as experimental, so should be ok. Let's give it a whirl!
Working like a charm now! |
In efforts to get GitHub Codespaces to work (#5438) I discovered gitpod.io and got it working.
In short, gitpod is an IDE that runs in the cloud and has a generous free plan. It has the major benefit of requiring zero setup for users to get started making small fixes.
As Mek mentioned, Open Library generally tries to avoid having tool specific files to the repo. However, adding this file will make it significantly easier for new users to start developing.
Right now, gitpod has a pretty generous free plan of 50 hours a month (or 100 hours for students). While we don't want to depend on that I'd say we should utilize it while we can. They also are an open source project so I'm hopeful they'll keep something nice going for the open source community.
PS: I plan to make a short video showing how to get started with gitpods but to do that I'd like to have this working on the main repo not just my fork :)
Technical
chown
The most important thing to discuss here is that we run the command
sudo chown -R gitpod:999 /workspace/openlibrary/
You can see an explanation for why here - gitpod-io/gitpod#4851
In short it just has to do with the fact that we use the
/openlibrary
folder for docker. But gitpods by default uses that path already for the cloned repo. There seems to be a small risk that files could conflict but unless we want to change the folder we mount to there isn't much else we can do.Tasks
You can read more about tasks here but in short the things in the
init
step only run once and then are cached for all users.The
command
is the part that runs as soon as a user starts the app.Ports
We ignore all but the 8080 port. All this does it prevent small popups for each port. It's still quite easy to see what's going on with the other ports.
Testing
I guess the easiest way is to test with my branch.
I also posted a video in slack here.
Screenshot
Stakeholders