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
This commit is contained in:
		@@ -20,7 +20,7 @@
 | 
				
			|||||||
  "forwardPorts": [3000, 4000],
 | 
					  "forwardPorts": [3000, 4000],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Use 'postCreateCommand' to run commands after the container is created.
 | 
					  // Use 'postCreateCommand' to run commands after the container is created.
 | 
				
			||||||
  "postCreateCommand": "bundle install --path vendor/bundle && yarn install && git checkout -- Gemfile.lock && ./bin/rails db:setup",
 | 
					  "postCreateCommand": ".devcontainer/post-create.sh",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
 | 
					  // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
 | 
				
			||||||
  "remoteUser": "vscode"
 | 
					  "remoteUser": "vscode"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								.devcontainer/post-create.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								.devcontainer/post-create.sh
									
									
									
									
									
										Executable file
									
								
							@@ -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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user