www.fgks.org   »   [go: up one dir, main page]

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

add gitpod config #5465

Merged
merged 5 commits into from
Jul 28, 2021
Merged

add gitpod config #5465

merged 5 commits into from
Jul 28, 2021

Conversation

RayBB
Copy link
Collaborator
@RayBB RayBB commented Jul 26, 2021

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

image

Stakeholders

@cdrini cdrini self-assigned this Jul 27, 2021
Readme.md Outdated Show resolved Hide resolved
Copy link
Collaborator
@cdrini cdrini left a 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.

@RayBB
Copy link
Collaborator Author
RayBB commented Jul 28, 2021

@cdrini added your changes, this is ready to merge

Copy link
Collaborator
@cdrini cdrini left a 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!

@cdrini cdrini merged commit 2308b9a into internetarchive:master Jul 28, 2021
@cdrini
Copy link
Collaborator
cdrini commented Jul 28, 2021

Working like a charm now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants