I don't follow CouchDB much now, but I do use VS Code all the time, and
have to bring new users on board with it. Docker and dev containers are
very nice technologies for reducing VS Code start-up costs to almost zero,
so this seems like a great plan, and I'd be in favour of anything that
reduces friction, like the $SM_VSN override.

Nick

On Mon, 18 Jan 2021 at 11:09, Jan Lehnardt <j...@apache.org> wrote:

> I like this initiative and I have no objections to a $SM_VSN override.
>
> Best
> Jan
> —
>
> > On 18. Jan 2021, at 02:19, Adam Kocoloski <kocol...@apache.org> wrote:
> >
> > Hi folks,
> >
> > I don’t know how many of you use VS Code as your preferred editor, but I
> found myself setting up a new laptop recently and I thought I’d try out
> their support for containerized development environments[1] to get my
> CouchDB rig up and running. I started with the 3.x branch this weekend and
> came up with the following:
> >
> > https://github.com/apache/couchdb/compare/3.x...3.x-devcontainer
> >
> > With this .devcontainer folder a VS Code user who clones CouchDB gets a
> prompt to mount the codebase inside a container with all the dependencies
> required to build CouchDB, run the test suite, build the docs, etc. The
> source code lives outside the container, and the data files produced by a
> dev cluster do as well. I think this could help lower the bar for new
> contributors to get involved in the project. Some additional details:
> >
> > - The .devcontainer also installs the Erlang Language Server extension
> into the container, so the setup comes complete with syntax coloring,
> auto-complete, module outlines, etc.
> >
> > - I used an official Elixir image as the base for this image (given that
> we need Elixir for the test suite these days). Elixir builds off the the
> official Erlang images, which in turn are based on Debian. I initially
> tried to use the images we maintain for our CI setup but found some
> challenges getting those to work with Erlang LS out of the box and this
> ended up being a simpler route. Open to discussion on this one.
> >
> > - I defaulted to Erlang 22 / Debian Buster and SpiderMonkey 60 installed
> from Debian. This means a user needs to add `—spidermonkey-version 60`
> during ./configure. I expect this will add a little friction for new users.
> Would it be OK to have configure inherit $SM_VSN from the external
> environment in addition to the command-line to smooth this over?
> >
> > I‘m polishing up another devcontainer for the main branch that uses
> Docker Compose to run FoundationDB using the official FDB image alongside
> the CouchDB layer, but I wanted to take the pulse of the folks here to see
> if these container configs make sense in-tree and whether there are
> opinions about how they should be done. I intentionally opted for
> simplicity on this front rather than trying to reuse too much of our CI or
> production image code.
> >
> > Cheers, Adam
> >
> > [1]: https://code.visualstudio.com/docs/remote/containers
> >
> >
>
>

Reply via email to