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

develop locally? #359

Closed
vsoch opened this issue Nov 30, 2017 · 10 comments
Closed

develop locally? #359

vsoch opened this issue Nov 30, 2017 · 10 comments

Comments

@vsoch
Copy link
Contributor

vsoch commented Nov 30, 2017

hey @arfon! I want to reproduce this kind of repo and am wondering if you have docs about how you work locally and/or deploy? I was going to give heroku a try, but I first hit some warnings from github about vulnerabilities, and for heroku the gemfile is missing some suggested things (so I'm guessing you aren't using it?) I'm really excited about making josc (the equivalent for containers) and hope we can chat soon!

@arfon
Copy link
Member

arfon commented Nov 30, 2017

👋 @vsoch. I just replied to you over email about JOSC. This repo is the one being used for JOSS. Do you have much experience running Rails applications? It should be possible to simply bundle install this application.

There are some environment variables that need setting when the application boots but other than that it should work 😄

@vsoch
Copy link
Contributor Author

vsoch commented Nov 30, 2017

hey @arfon ! I responded to your email, and wanted to leave a note here as well! I don't have a ton of experience with Rails (beyond using Github and jekyll) but I'm pretty ok at figuring things out, and wha-la I have a heroku thing! --> https://shielded-mountain-65855.herokuapp.com/ It looks like it's missing various API keys for things like Orcid, etc. What is the typical development setup, and are you using heroku too? I usually would have a Docker / container development set up so I don't have to install all the dependencies on the host, but I'm open to trying what you think is best. Can you give me some hints at how to hack it properly, set environment stuffs, or should I keep stumbling around and try to figure out?

@arfon
Copy link
Member

arfon commented Dec 1, 2017

and wha-la I have a heroku thing! --> https://shielded-mountain-65855.herokuapp.com/ I

Oh nice! Yes, Heroku is where we're deployed. Basically with the dependencies expressed in the Gemfile and the Procfile in the repository, Heroku knows how to run this thing.

Can you give me some hints at how to hack it properly, set environment stuffs, or should I keep stumbling around and try to figure out?

I should probably give you a walk though of how this all works when we chat on the phone but the most important environment variables are the ORCID_KEY and ORCID_SECRET for auth, the GH_TOKEN for allowing the application to make issues on GitHub under the @whedon account, and the WHEDON_SECRET which is used to authenticated incoming messages from @whedon.

I wouldn't do anything other than kick the tyres right now on this as we're in the process of making some fairly major changes to the application to make it easier to fork the journal and have multiple versions running simultaneously. If you'd like to follow along, that work is currently being reviewed in #353

@vsoch
Copy link
Contributor Author

vsoch commented Dec 7, 2017

going to close the issue here as we have discussion / work underway! :D

@vsoch vsoch closed this as completed Dec 7, 2017
@emdupre
Copy link
Member

emdupre commented Sep 21, 2020

I'm currently trying to set up a development environment for JOSS and came across this issue !

Did you happen to create any more detailed documentation re: getting this up and running, @vsoch ? I'm working on some docs right now, but I'm also having some trouble and I'd love to learn from your experience !

@vsoch
Copy link
Contributor Author

vsoch commented Sep 21, 2020

hey @emdupre ! We didn't wind up working on this because @arfon had too many pots in the fire (is that how they say that?) - but if a development version is something you'd be interested in, I'd be happy to try and help again (it's been a while and I don't remember the specifics of the deployment). I do think we'd probably need your help with questions that might come up, is that something you'd have time for @arfon?

@arfon
Copy link
Member

arfon commented Sep 22, 2020

I'm happy to try and assist here. Some general pointers:

  • You'll need an ORCID account set up with developer tokens (which are used to boot the application like this ORCID_KEY=xxxx ORCID_SECRET=xxxx bundle exec rails s)
  • There are a bunch of YAML files in https://github.com/openjournals/joss/tree/master/config that will need setting up for your project (e.g. what repos to talk to, configs for the journal)
  • You'll need Postgres and Elastic Search installed locally (as well as Ruby etc.)
  • After first logging in locally you'll need to get on the Rails console locally and set your user account as an admin account (admin is a boolean field on User)

Other than that, this is a fairly vanilla Rails application.

Deployment of the whole stack is a tad more complex as there is this application and the Whedon bot too which needs configuring.

I do think we'd probably need your help with questions that might come up, is that something you'd have time for @arfon?

We'd love to improve these docs and actually would like to ask @xuanxu to assist here if possible (he's going to be doing some dev work for JOSS one the coming months). @xuanxu - this could be a good opportunity to learn where docs are needed...

@xuanxu
Copy link
Member

xuanxu commented Sep 22, 2020

this could be a good opportunity to learn where docs are needed...

Indeed!
@emdupre just ping me if you need any help with the docs or setting up your deployment
I've just created a dev-docs branch to work on these guides and issue PRs against

@emdupre
Copy link
Member

emdupre commented Sep 22, 2020

Great, thank you all !!

I've made it through the steps listed above, and a few others that might be worth mentioning (e.g. getting a SendGrid account, which requires having an email address on a domain you control; provisioning a scheduler add-on to send weekly reminder emails using the libs/tasks scripts; fixing up a few hard-coded variables, like the reviewer google sheet ID).

What would be the best way to move forward, @xuanxu ? Should I open a PR with what I have so far, and an issue with the questions I'm currently facing ? I'm at the stage of interfacing with github / whedon, so I'm not sure if that makes sense as an issue on this repo or on whedon-api !

@xuanxu
Copy link
Member

xuanxu commented Sep 22, 2020

What would be the best way to move forward? Should I open a PR with what I have so far, and an issue with the questions I'm currently facing ?

Yes, I think that's a good way to go. We can usen PRs to add code and resolve questions.

I'm at the stage of interfacing with github / whedon, so I'm not sure if that makes sense as an issue on this repo or on whedon-api

+1 to this repo, I think is better to have a central place with all the deploy a journal docs together.
BTW in the future whedon-api will be replaced by Buffy, maybe you find its installation docs useful.

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

No branches or pull requests

4 participants