Teacher's Manual
  • Introduction
  • Answering Questions on Piazza
  • Notable questions
  • Chesterton's Fence
  • Docker Essentials
  • Notes on curriculum design
  • Notes on presenting
  • Pair Teaching
  • Eliciting Questions During Class
  • Office Hours
  • Open Office Hours
  • How To Write Tests
  • Beginner-friendly Code Style Guide
  • rails grade
  • Audit Requests
  • Setting Up Canvas
  • Setting Up GitHub
  • Preparing for Day 1
  • Syllabus
  • How To Create A Project
  • How To Setup an LTI Assignment
  • LTI Tools
    • Grades
  • Possible Format For Lecture Notes
  • Configuring Cloud9
  • Projects Checklist
    • AD1 HW Checklist
    • AD1 Gitpod Extensions and Settings
    • AD2 HW Checklist
    • Adding Dependencies to a Project
    • Adding Specs to a README
    • Updating Gitpod Docker Image
    • Updating Old Projects Checklist
  • Integrating GitHub with Slack
  • Mastering Git
  • Class Recordings
  • How to update Youcanbook.me
  • Swag
Powered by GitBook
On this page
  • AD1 hw checklist
  • Update files
  • Update Docker image
  1. Projects Checklist

AD1 HW Checklist

PreviousProjects ChecklistNextAD1 Gitpod Extensions and Settings

Last updated 2 years ago

AD1 hw checklist

Update files

  • update .gitpod.yml with .

  • 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 .

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

  • remove vendor/.keep if it exists.

  • Ensure Dockerfile is present in the project and 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 .

  • ensure 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 for more details on building and testing a Docker image.

here
up to date
up to date
specs_to_readme gem
extensions
Adding Dependencies to a Project