about summary refs log tree commit diff
path: root/.devcontainer/post-create.sh
diff options
context:
space:
mode:
authorAvdi Grimm <avdi@users.noreply.github.com>2022-12-15 10:40:36 -0600
committerGitHub <noreply@github.com>2022-12-15 17:40:36 +0100
commit8a56587d62d08606e5ed11eb1b93e238cf5aa2fe (patch)
treee37e3360de00990cd58beacb2ec267523a0203af /.devcontainer/post-create.sh
parent726c7dea31d2ee60b327afd327e945e3ece09ac4 (diff)
Improve devcontainer for running tests (#22277)
* Improve devcontainer for running tests

- Pull devcontainer post-create out into its own script
- Add asset precompilation
- Add test-mode asset precompilation (needed to run tests without error)

* Document Gemfile.lock re-checkout in devcontainer
Diffstat (limited to '.devcontainer/post-create.sh')
-rwxr-xr-x.devcontainer/post-create.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh
new file mode 100755
index 000000000..02f488f12
--- /dev/null
+++ b/.devcontainer/post-create.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e # Fail the whole script on first error
+
+# Fetch Ruby gem dependencies
+bundle install --path vendor/bundle --with='development test'
+
+# Fetch Javascript dependencies
+yarn install
+
+# Make Gemfile.lock pristine again
+git checkout -- Gemfile.lock
+
+# [re]create, migrate, and seed the test database
+RAILS_ENV=test ./bin/rails db:setup
+
+# Precompile assets for development
+RAILS_ENV=development ./bin/rails assets:precompile
+
+# Precompile assets for test
+RAILS_ENV=test NODE_ENV=tests ./bin/rails assets:precompile