Not the required services. I just installed those. Languages and libraries.
fork & clone repo
Since I hope to contribute bug fixes someday, I’ll fork the repo rather than
just clone it. I clone my fork instead.
Dev language is weird.
The project’s .ruby-version file specifies Ruby 2.6.6. Rbenv immediately
warns me that I lack the correct installed version. It also doesn’t recognize
the version when I try installing it, so I must refresh ruby-build
2.6.6 is a bit more specific than “2.5+” but no big deal. Got the right Ruby
version. Time to install the gems.
Oh hey what’s this? It seems relevant to my interests.
Yarn manages the node-specific project dependencies. Better install
Okay now I can install the Node stuff.
At some point I should enable automatic nvm use. Meanwhile I’ll just
No complaints about Node.js versions now. Good. Time to actually set up the
Dev docs say rails db:setup, so that’s what I type.
Oh right. Because I’m not using a fresh Rails app, but an existing project. I
could use bundle exec but for some reason I feel stubborn. I must make at
least one step of my installation process match the documentation.
Then I need to let direnv know this change is acceptable.
There’s probably a better Rails-specific or Zsh-specific approach, but I’m in a
Loads of text follows. That’s good, right?
Instructions go straight to running the application, but that’s not my style.
Getting tests to pass
I want to run tests first. Blame Perl. I have certain expectations
after years of watching cpan run tests before declaring something installed.
Mhm. That’s what I thought. I’m going to need to write a post about getting
this to work, aren’t I?
Let’s skip the hour or two of flailing and digging into past glitch-soc and
The problem? Webpacker doesn’t compile assets for the test
environment, because CircleCI already does that.
Set compile to true and everything passes. Except they need that as
false for CircleCI. That — does this mean they never run any tests locally
in development? That tests only run after a commit is pushed?
Inconceivable. The very thought is like fingernails on a chalkboard. Surely I
missed something in the documentation.
Well I’m going to run tests locally one way or another.
Gimme a second.
Okay how about this?
First, clean up the compiled assets from my config experiment.
Next, precompile the assets and run tests again.
Huzzah! Aside from that ghastly test time. I’ve seen worse. I’ve written
Clearly I need to automate this. Maybe something to do with Foreman. Maybe
just a shell script that clobbers, precompiles, and runs tests.
A real fix — if one is needed, and I didn’t just miss a vital paragraph of
documentation — would be to give CircleCI its own environment distinct from the
default test environment.
Will I actually do anything with my glitch-soc fork? No idea. But I want to
share this for other dusty Ruby folks whose Rails applications predate
I should at least fiddle with instance settings enough to get a cute