-
Notifications
You must be signed in to change notification settings - Fork 91
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
Introduce docker as a test runner #197
base: master
Are you sure you want to change the base?
Conversation
This allows developers to change files on the local filesystem in the manner expected and run tests inside the VM. So the objections raised in the ticket posting above are invalid, and I'd consider merging this and WONTFIX'ing #166 . I am prepared to support Docker as the test-runner of record. What say you @dirkkelly @masonpackard and others who have landed commits recently? |
Would Postgres.app solve the PostGIS explanation overhead, without introducing the (IMO much bigger) Docker overhead? |
With the goal of making it easy for a new developer getting up to speed, more automation and standardization may make it relatively painless for someone to start making quick and efficient contributions. Postgis has been one area that was more involved with setting up, at least for me. So, something like Docker to quickly and more easily setup would be a great. This contribution by @bigfleet may be very helpful. Postgres.app looks interesting, as well. How well or easily does everything with Postgres go, in terms of the setup? |
So http://postgis.net/install/ says Postgres.app ships with Postgis, which is cool! It also says: don't mix me with other Postgres installations. That sounds right to me, I had a student in class try to use it and never recover. I suppose the question comes down to: what setup does the typical new developer on Citygram have? Are they new enough that I myself ought to convert to Postgres.app to share their experience? The Docker choice here would mean no change for me. I suppose I see this change as optional-- we still support running the project on your machine natively. This is just an option if you are having build trouble and want to land a commit. While the project still requires PR's to bring new cities online, our committers may not be Postgres users or even devs. Thanks for the thoughts, keep them coming.
|
Yes, I believe it’s correct that you should have only one Postgres on a system. Postgres.app is meant to be the only one, but it’s an easy one to set up if you’re on a Mac. I’m thrilled with Docker as a deployment tool, but I haven’t seen it make setup easier for new developer who aren’t already Docker users. |
I tried it out and it seems to work, but it errors with
As I said, in spite of that, ./bin/spec still works and all the specs pass. The README you updated does say I tried getting the |
@benmoss Thanks for the feedback! I'll make sure to get those things incorporated (they were not my top priority). I know what's happening with the localhost issue, and can address that with another bin script. I can alter the DB task to make sure that the DB already existing is not an error. If we're going to have Docker, may as well support it fully. I'm still pondering the Postgres.app proposition. I think, at the end of the day, they're not mutually exclusive. Document them all, and indicate relative levels of support for each. Sound right @migurski? |
I’d link to a page like codeforamerica/howto/PostgreSQL.md for the Postgres step, and let people figure out their stuff from there. Some parts of the setup process are going to be out of scope for Citygram, and you don’t want to have excessive docs that fall out of date. |
@migurski Great feedback. I'm going to incorporate the sum total of these changes before resubmitting for reconsideration. |
implement bin/test, fix Dockerfile apt-get line, update docs
I tried getting Citygram running locally using this branch based on @bigfleet's suggestion
|
A PostGIS installation on Mac OS X over the past period has been problematic to explain.
I am not ready to merge this PR yet, as I want to understand if there's a way to more fluidly mount the working directory inside the container, but this approach does provide an alternative.
All devs are invited to try it out, provide feedback, etc. I make no claims of Docker expertise, but I am beginning to use it in anger.