Skip to content

Instantly share code, notes, and snippets.

@aaronshaf
Last active December 21, 2015 12:59
Show Gist options
  • Save aaronshaf/6309388 to your computer and use it in GitHub Desktop.
Save aaronshaf/6309388 to your computer and use it in GitHub Desktop.
Canvas Development

"to get the selenium errors locally, you have to use USE_OPTIMIZED_JS=true bundle exec spec spec/selenium/path_to_spec.rb" - stanley

?debug_js=1

bake canvas:compile_assets

build

bake i18n:generate_js
bake js:build

Test particular file(s)

bundle exec rake js:generate
JS_SPEC_MATCHER="**/ModulesSpec.js" bundle exec rake js:generate_runner
quick=true bundle exec rake js:dev 

prepare browser on test environment

nohup Xvfb -ac -noreset -screen scrn 2000x2000x24 :20.0 &	
export DISPLAY=:20.0 firefox

some jenkins stuff

http://jenkins.instructure.com/job/canvas-lms-aux-dev/

"Build with Parameters"

[three numbers]

Or you can run testem directly:

bundle exec rake js:generate
JS_SPEC_MATCHER="**/ModulesSpec.js" bundle exec rake js:generate_runner
testem -f config/testem.yml

Run QUnit tests for Ember client-app

rake js:dev modules

Run testem directly

bake js:generate_runner
testem ci -l 'chrome' -t spec/javascripts/runner.html

Install on Ubuntu

sudo apt-get update -qq
sudo apt-get install git-core python-software-properties python g++ make \
  zlib1g-dev libxml2-dev libxslt1-dev libsqlite3-dev  \
  imagemagick libxmlsec1-dev libcurl3-dev libpq-dev screen -y --quiet
  
sudo add-apt-repository ppa:chris-lea/redis-server -y
sudo apt-get update -qq
sudo apt-get install redis-server --quiet -y

sudo add-apt-repository ppa:chris-lea/node.js -y
sudo apt-get update -qq
sudo apt-get install nodejs -y
sudo npm install -g coffee-script --quiet -y

sudo apt-get install postgresql --quiet -y
sudo su -l postgres -c 'psql -c "CREATE ROLE root WITH SUPERUSER LOGIN;"'
sudo su -l postgres -c 'psql -c "CREATE ROLE vagrant WITH SUPERUSER LOGIN;"'
sudo su -l postgres -c 'createdb canvas_development'
sudo su -l postgres -c 'createdb canvas_queue_development'

sudo apt-get install ruby1.9.1 ruby1.9.1-dev rubygems1.9.1 \
      irb1.9.1 libhttpclient-ruby --quiet -y
sudo update-alternatives --set ruby /usr/bin/ruby1.9.1
mkdir ~/gems
sudo echo "export GEM_HOME=~/gems" >> ~/.bash_profile
export GEM_HOME=~/gems
sudo gem install bundler

Initial setup

Copy database.yml, security.yml, development-local.rb, cache_store.yml, redis.yml, domain.yml

development-local.rb

config.cache_classes = true
# config.action_controller.consider_all_requests_local = true
# config.action_view.debug_rjs = true
config.action_controller.perform_caching = true
config.action_view.cache_template_loading = true
console install --without mysql
console exec rake db:initial_setup
bundle exec rake canvas:compile_assets
bundle exec script/server

Start

bundle exec script/server
bundle exec guard

See results on the command prompt

# uses phantomjs
bundle exec rake js:test

Ember workflow

npm install ember-tools -g
bundle exec rake jst:ember
bundle exec rake js:generate
bundle exec rake js:bundle_ember_apps
See
  open spec/javascripts/runner.html
  config/environments/development-local

Turn off/on draft state

bundle exec script/console
tmp = Account.find(1)
tmp.settings[:enable_draft] = true
tmp.save()
Account.find(1).enable_feature!(:draft_state)

Create context modules

bundle exec script/console
course = Course.find(1)
200.times do |x| course.context_modules.create!(:name => 'Module' + x.to_s);end
200.times do |x|  module1.add_item(type: "external_url",title:x,url:"http://www.cnn.com/");end

Misc

bake i18n:generate_js
bake js:build
git rebase -i HEAD~3
bundle exec rake canvas:compile_assets
ContentTag.delete_all
# Run test on specific ember app
rake js:dev appname
script/delayed_job run

Loom stuff

generate app modules
js_bundle modules
generate route modules/item

Migrate DB

rake db:migrate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment