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

Make local development significantly easier #401

Open
1 task done
kjaymiller opened this issue Aug 29, 2024 · 20 comments
Open
1 task done

Make local development significantly easier #401

kjaymiller opened this issue Aug 29, 2024 · 20 comments
Labels
help wanted Extra attention is needed

Comments

@kjaymiller
Copy link
Contributor

kjaymiller commented Aug 29, 2024

I'm not sure why but I am completely unable to run this project outside of a devcontainer or codespace.

I'm not sure if it's issues with my local Ruby setup or not.

I'm open to different suggestions on this but the more we force folks to use codespaces then we limit their contribution based on what they are willing to pay for.

Suggestions

Diagram

We need a diagram of the infrastructure to better understand the different tools that we're using.

Dockerfile

Beauty of a dockerfile is that it can be the source for the codespace (we don't have access to the existing codespace dockerfile so we'd likely need to start over. It also means that we can implement this across operating systems as well.

Make or Invoke

I don't have a preference on this but we should make it simple to setup, test, lint and run services regardless of the language.

I would probably be more comfortable with invoke since it's python code but if someone knows enough about make to make it easy to follow I wouldn't mind.

@kjaymiller kjaymiller added the help wanted Extra attention is needed label Aug 29, 2024
@dragid10
Copy link
Member

dragid10 commented Sep 2, 2024

Don't know if it helps at all, but I am totally able to run this repo locally! I think I was fortunate enough to have already setup my ruby environment when I was learning Jekyll

@dragid10
Copy link
Member

I might end up wanting to take this issue as well just because I'm setting up the repo on a new laptop and can document the steps.

@TimOsahenru
Copy link
Contributor

Hello @dragid10 just checking if this issue is related to your last PR that has been merged

@dragid10
Copy link
Member

dragid10 commented Oct 1, 2024

Nope! This is a separate issue related to adding instructions on how to setup your environment locally.

I'm happy to let someone else grab it though. I usually don't like squatting on multiple PRs at once, but I figured this would be easy enough for me to take since I had to setup a new laptop anyways

@TimOsahenru
Copy link
Contributor

Nope! This is a separate issue related to adding instructions on how to setup your environment locally.

I'm happy to let someone else grab it though. I usually don't like squatting on multiple PRs at once, but I figured this would be easy enough for me to take since I had to setup a new laptop anyways

Oh please go ahead, just checking. Thanks

@dragid10
Copy link
Member

dragid10 commented Oct 6, 2024

For this one I think the Dockerfile route might be the best. make/invoke seems like it'd require decent testing on different operating systems to work consistently. I'm happy to create the Dockerfile for this.

Also if we're assuming that contributors will be using VS Code, then we know that Code has the remote container plugin

@kjaymiller
Copy link
Contributor Author

We have a dockerfile for the dev container. I don't hate the idea of it.

@kjaymiller
Copy link
Contributor Author

Just a reminder that not everyone has the ability to run docker locally

@dragid10
Copy link
Member

dragid10 commented Oct 7, 2024

okay so the goal of this issue would be to run without the need for the dev container or codespace? Like if I wanted to setup the dev environment directly on my machine, these are the steps I would follow?

@kjaymiller
Copy link
Contributor Author

Easy steps to:

  • Run locally with no DevContainer

Bonus:

  • Run a DevContainer or Codespace and it not take 5 minutes to startup

I suggested make or invoke as it could be used to make the setup a one-liner. I think tox could also be an option.

@lazouich
Copy link
Contributor

I'd throw in looking at nox as well. You can see an example used by jupyter and their corresponding noxfile.py file .

@kjaymiller
Copy link
Contributor Author

I'm a nox fan... I wasn't sure if nox would be great since we have to do ruby things and python things.

I was thinking tox though.

@dragid10
Copy link
Member

I was initially looking at make, but then thought invoke might be better for cross-platform. I can start looking into tox just to see how it compares

@lazouich
Copy link
Contributor

That's fair, I'm not the biggest fan of conda - which Jupyter uses to install ruby within nox in that example ^

@kjaymiller
Copy link
Contributor Author

I think tox is more popular then invoke... funny enough another project I monitor and try to contribute at from time to time (Valkey-py) made the choice to migrate from pyinvoke to tox

@dragid10
Copy link
Member

dragid10 commented Oct 14, 2024

I'm going to throw this one back into the pool. Work and other life events have given me less time than that I would like to effectively work this issue. And I would still need to play around with these different tools mentioned in order to get a feel for them.

It seems like there are a couple of folks that already have some experience with some of the mentioned tools, so I'm happy to unassign myself from this 🙂

@mbvgua
Copy link
Contributor

mbvgua commented Oct 17, 2024

Hello people. I have never worked with ruby on rails before and do not know how to setup local development. But it is getting harder to contribute to this repo since my codespaces are full.

Currently i have no knowledge of nox, invoke, docker or any other of the technical terms you are using, but If I had the appropriate guidance to the necessary documentation, i think i can work on this issue.

@Kabasitad
Copy link
Contributor

Hey @kjaymiller i found this issue very interesting and would like to work on it

@Kabasitad
Copy link
Contributor

Please @kjaymiller assign this issue to me

@Kabasitad Kabasitad mentioned this issue Oct 19, 2024
9 tasks
@TimOsahenru
Copy link
Contributor

[Update] We no longer use make in our project setup. More ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
Status: No status
Development

When branches are created from issues, their pull requests are automatically linked.

6 participants