AD1 HW Checklist

AD1 hw checklist

Update files

  • update .gitpod.yml with extensions.

  • ensure Ruby version is up to date. (2.7.3)

  • ensure better errors is whitelisted in config/environments/development.rb and contains

      config.web_console.whitelisted_ips = '0.0.0.0/0.0.0.0'
      BetterErrors::Middleware.allow_ip! '0.0.0.0/0.0.0.0'

    remove the old whitelist

      BetterErrors::Middleware.allow_ip! '10.138.0.0/16'
  • create .vscode/manage_extensions if it doesn't exist and contains the following:

    #!/usr/bin/env ruby
    
    unwanted_extensions = [
    	"k--kato.intellij-idea-keybindings",
    	"kaiwood.endwise",
    	"castwide.solargraph",
    	"jnbt.vscode-rufo",
    	"mbessey.vscode-rufo",
    ]
    
    wanted_extensions = [
    	"vscode-rufo-0.0.6.vsix"
    ]
    
    unwanted_extensions.each do |extension|
    	results = `code --uninstall-extension #{extension}`
    	if results.include?("successfully uninstalled")
    		status = "."
    	elsif results.include?("is not installed")
    		status = "."
    	else
    		status = "X (#{extension.split(".")[0]})"
    	end
    	print "#{status}"
    end
    
    wanted_extensions.each do |extension|
    	results = `code --install-extension .vscode/#{extension}`
    	if results.include?("success")
    		status = "."
    	else
    		status = "X (#{extension.split(".")[0]})"
    	end
    	print "#{status}"
    end
    puts ""
  • Ensure .vscode/manage_extensions is executable (run chmod 777 .vscode/manage_extensions).

  • Ensure .vscode/vscode-rufo-0.0.6.vsix exists. If it doesn't download it from here.

  • create vendor/bundle/.keep if it doesn't exist.

  • remove vendor/.keep if it exists.

  • Ensure Dockerfile is present in the project and up to date w/ correct Ruby version.

  • Ensure .gitignore file includes:

    vendor/bundle/*
    !vendor/bundle/.keep
  • ensure sqlite development and test databases are not ignored.

      # Ignore the default SQLite database.
      # /db/*.sqlite3
      # /db/*.sqlite3-journal
  • ensure bin/setup file includes:

      if !Dir.exist?("vendor/bundle/ruby") && Dir.exist?("/base-rails/gems/ruby")
      	FileUtils.cp_r("/base-rails/gems/ruby", "vendor/bundle")
      	system! "bundle config set --local path 'vendor/bundle'"
      end
      system! "gem install rufo htmlbeautifier --no-document"

    before system! "bundle install".

  • remove .theia folder and contents.

  • ensure .vscode folder and .vscode/settings.json exist and are up to date.

  • ensure specs_to_readme gem is installed and update the spec list in the README.

Gems

  • ensure web_git gem is using the master branch and not spring2020.

  • ensure draft_generators gem is using the master branch and not winter2020.

  • ensure rufo and htmlbeautifier gems have been added to the :development group.

Testing

  • bundle update

  • rails db:migrate

  • ensure you can do the following successfully:

    • rails s

    • rails grade

    • visit /git

  • visit the target app and ensure there are no errors

Update Docker image

  • Build image

  • Push to Dockerhub

  • Update .gitpod.yml with Docker image name

  • Push to GitHub branch

  • Open workspace from branch, ensure Ruby version is correct and gems install instantly

See Adding Dependencies to a Project for more details on building and testing a Docker image.

Last updated