Commit Graph

349 Commits

Author SHA1 Message Date
James Williams faf5b4a9f0 bump switchman
fixes some Shard cache issues
and allows for capped with_each_shard parallelization

Change-Id: Ib0a9bc85b331e89162948303b5d8e3185123b440
Reviewed-on: https://gerrit.instructure.com/65125
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-10-14 18:34:01 +00:00
Cody Cutrer d3ba427472 bump byebug
Change-Id: Ibe63ec281c9da75cca5de04f9e21a9b94003307a
Reviewed-on: https://gerrit.instructure.com/65055
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-10-13 09:06:01 +00:00
Cody Cutrer 160360cd0c bump switchman
Change-Id: Ic501960fed6f6667ba66fb32f4083c931284f21a
Reviewed-on: https://gerrit.instructure.com/63549
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-09-22 00:32:13 +00:00
Alex Boyd 0fc41e8d5a Send messages via Twilio
Fixes CNVS-21548, CNVS-20625, CNVS-21580

Test plan:
 - Copy config/twilio.yml.example to config/twilio.yml
 - Configure config/twilio.yml with credentials from a Twilio
   account
 - Create a user
 - Enable the international_sms feature flag for the account
   of the user you created
 - Create a communication channel from a Rails console, using
   a phone number with which you can test. Assuming
   1-801-555-0100 as the phone number, and assuming that the
   id of the user that you created is 42, you can do that with:
     User.find(42).communication_channels.create!(
       path_type: 'sms', path: '+18015550100')
 - As a site admin, confirm the user's communication channel
 - Cause a notification to be sent to the user
 - Ensure that you receive a text message
 - Multiple outbound numbers (will need a paid Twilio account
   to test):
   - Configure config/twilio.yml with credentials from a
     Twilio account that has multiple outbound phone numbers
   - Create multiple users and add new phone numbers for each
     using the above steps, and confirm them
   - Cause notifications to be generated for each user and
     ensure that they come from different phone numbers
     - You may need to test several phone numbers before a
       notification is sent from a different number
   - Cause more notifications to be sent and ensure that each
     phone number receives notifications from the same
     outbound phone number every time

Change-Id: I103c93a8096acaaabd29530b0a0b5c43bc05c26b
Reviewed-on: https://gerrit.instructure.com/59901
Tested-by: Jenkins
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2015-09-14 15:46:23 +00:00
Matthew Berns ccb23e8534 adds basic epub generation backend
closes CNVS-22222
closes CNVS-21796
refs CNVS-21800
refs CNVS-21803

test plan (requires console access):
- Make sure you have at least one completed content export in the db
  (can be triggered via console or via the content export UI).
- open rails console
- run the following commands:
- - `ContentExport.include(CC::Exporter::Epub::Exportable)`
- - `ContentExport.first.convert_to_epub`
- This will output a path to the generated epub, something like:
"/var/folders/7g/w8y0n7_j18v65h93xhmm9z4hxzj3r2/T/2052fbd0-860d-4114-9969-0adc7f5ecb79.Name
of Course.epub"
- Open up the folder of the file (assuming you're on Mac OSX) like so:
`open -a finder /var/folders/7g/w8y0n7_j18v65h93xhmm9z4hxzj3r2/T`.
- Find the file in that directory (in this case the file name is
  2052fbd0-860d-4114-9969-0adc7f5ecb79.Name of Course.epub

Change-Id: I37b73fac329bc0fbd5e85a9427e9cce58d05d6db
Reviewed-on: https://gerrit.instructure.com/60702
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins
QA-Review: Matt Berns <mberns@instructure.com>
Tested-by: Matt Berns <mberns@instructure.com>
Product-Review: Matt Berns <mberns@instructure.com>
2015-09-11 16:50:02 +00:00
James Williams 9603fe0ea4 update switchman
closes #CNVS-22636

Change-Id: I4c91ed23e691407099d4eed7086d048c719fb417
Reviewed-on: https://gerrit.instructure.com/62835
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-09-10 18:40:46 +00:00
Brian Palmer 3fb0700092 bump ratom-nokogiri
fixes regression when generating an exception for invalid feed xml:
  bc19502dd6

Change-Id: I45c038f43c349fb2a07907a6e88ef16e3770bf29
Reviewed-on: https://gerrit.instructure.com/61422
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Brian Palmer <brianp@instructure.com>
2015-08-20 17:20:32 +00:00
Cody Cutrer 1059861b7d bump canvas-jobs
Change-Id: I3a2c0109378dce907a9eb237b3685c739df4b114
Reviewed-on: https://gerrit.instructure.com/60844
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-08-17 19:26:36 +00:00
Brian Palmer 8c13cf9efe bump nokogiri
Change-Id: Ibefaf48d0de044e52ee6e92655fb103c4b5d5511
Reviewed-on: https://gerrit.instructure.com/60830
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: August Thornton <august@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
2015-08-13 22:28:31 +00:00
Cody Cutrer edfde83901 bump ruby-saml-mod
fixes CNVS-22460

Change-Id: Ic5098109094cd448548af078b033a5942cd5c236
Reviewed-on: https://gerrit.instructure.com/60652
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-08-13 15:46:16 +00:00
Cody Cutrer 26bd8a2a88 remove AR log colorization
partially reverts 5e11241a

it broke necessary logging from switchman

Change-Id: I62f2ee46b90804db24a23a16698110789bbab675
Reviewed-on: https://gerrit.instructure.com/60501
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-08-11 20:48:14 +00:00
Brian Palmer a0d0b686f2 switch to ratom-nokogiri gem
refs CNVS-22298

Change-Id: I4752fa491dcdd8f8f0eea9fb3b9ed63f2d0bb1e9
Reviewed-on: https://gerrit.instructure.com/59981
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2015-08-10 19:03:11 +00:00
Brian Palmer 4597fb5730 switch to fork of nokogiri
This is required for ratom until this PR is merged https://github.com/sparklemotion/nokogiri/pull/1327

refs CNVS-22298

Change-Id: If99e10659b5b17e8cc8e0df49fbf5ba1214b8612
Reviewed-on: https://gerrit.instructure.com/59948
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2015-08-10 19:03:01 +00:00
James Williams ada9c0d5aa show original error in switchman create_new_shard failure
Change-Id: Ie819d823ad8040e3433e284b691d43078a1cc504
Reviewed-on: https://gerrit.instructure.com/60388
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2015-08-10 18:31:09 +00:00
Derek Bender d6eaed579f create ProvisionalGrade table and model
- extracted some shared behavior between submissions and provisional grades
- improved organization in submissions

refs: CNVS-22006
Change-Id: I4207893362e4548d1d76d066322f3b333357807a
Reviewed-on: https://gerrit.instructure.com/59643
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Derek Bender <dbender@instructure.com>
2015-08-07 17:12:37 +00:00
Cody Cutrer 0f329d3960 bump byebug
Change-Id: I17abb6888fe12ed7a703732bc78a6bdedcf4b551
Reviewed-on: https://gerrit.instructure.com/59872
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-08-07 16:57:45 +00:00
James Williams ff7696789c rails4: fix delayed_job runner connection not established error
refs #CNVS-21596

Change-Id: If144ea4e42fd632ef80339b450cda9c20b3fb555
Reviewed-on: https://gerrit.instructure.com/60149
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-08-07 03:30:18 +00:00
Cody Cutrer 5791d06f54 bump ruby-saml-mod
refs CNVS-22298

Change-Id: Ie6516589793037f58d0ab61c6c89fce9c87d1cd2
Reviewed-on: https://gerrit.instructure.com/59829
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-08-05 20:13:56 +00:00
Cody Cutrer d6b7fe9366 bump rails to 3.2.22
Change-Id: I10dcf13ca8bb28e709f86099a2a25bf6c8e16183
Reviewed-on: https://gerrit.instructure.com/59873
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-08-04 21:09:11 +00:00
Simon Williams 2aba8d13dc allow bundler 1.10.6
Change-Id: I68aa54c23adf974c1181d84399ded892c0a93438
Reviewed-on: https://gerrit.instructure.com/59606
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2015-07-30 20:38:38 +00:00
James Williams dba27b624b rails4: update switchman version
refs #CNVS-21596

Change-Id: I1671c8e1bff167ac1ec39da4511b05c1b9cfea60
Reviewed-on: https://gerrit.instructure.com/59657
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-30 20:21:47 +00:00
Ryan Shaw bffb10ce4a make sure 'ruby-progressbar' gem is installed
fixes: CNVS-22215

if you try to run rake brand_configs:generate_and_upload_all
on the production boxes it will fail with:

```LoadError: cannot load such file -- ruby-progressbar```

It's because in order to show you a progressbar of 
the upload_to_s3 task, Parallel tries to require 
'ruby-progressbar' (which is there on dev/test boxes 
since it is a dep of ‘rubocop', but not there in prod).

this will make sure it is there in the production 
bundler group too.

test plan:
run: RAILS_ENV=production rake brand_configs:generate_and_upload_all

it should work


Change-Id: I98adad9ee2aa596e88d8293a13592f056b8bbb65
Reviewed-on: https://gerrit.instructure.com/59475
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-07-29 16:37:32 +00:00
Taylor Wilson a7ccecd772 Appium Specs for Mobile Apps
This includes a basic set of common methods and environment variables
to be used for both iOS and Android platforms with Appium. Includes the
inclusion of the appium_lib gem in Gemfile.d and a minor modification
to spec/spec_helper.rb to facilitate control of seeding the ID for
DeveloperKeys for Mobile Verify.

To Test:
  - remove skip statements in examples
  - uncomment the call to appium_init()
  - verify appium_lib gem installs during bundle update
  - spin up an Appium server
  - run spec with the QA Nexus 7 connected

Change-Id: Ia9830aeaa0b91635f5739958466e3176f25bf2bb
Reviewed-on: https://gerrit.instructure.com/58562
Tested-by: Jenkins
Reviewed-by: Heath Hales <hhales@instructure.com>
Reviewed-by: Ben Bolton <bbolton@instructure.com>
QA-Review: Ben Bolton <bbolton@instructure.com>
Product-Review: Ben Bolton <bbolton@instructure.com>
2015-07-28 20:26:08 +00:00
Derek Bender 5e11241a9e add backported log colorizer
Change-Id: I0dde9eb720b019edd8b2bb03ecbe52cde69e65f8
Reviewed-on: https://gerrit.instructure.com/59219
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Product-Review: Derek Bender <dbender@instructure.com>
2015-07-28 15:18:43 +00:00
Brian Palmer 6ca22ee481 update will_paginate gem
Fixes https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-6459&cid=1

Changelog is @ https://github.com/mislav/will_paginate/commits/3-0-stable

will_paginate usage in canvas is wrapped in our folio gem, so this
actually involves updating folio. I've removed the direct dependency on
will_paginate in canvas, since folio defines that depenency and versioning.

test plan: regression test on api pagination links, including bookmarked apis
such as page views.

Change-Id: I8b7a07870d5280c307f368707a5e60aa900ba9f5
Reviewed-on: https://gerrit.instructure.com/55348
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2015-07-27 21:41:20 +00:00
James Williams 5acba693be rails4: update i18nliner for view translations
refs #CNVS-21596

Change-Id: Ib412c0582ad10cae12b1a290715250e8ddcbb986
Reviewed-on: https://gerrit.instructure.com/59335
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-27 20:54:21 +00:00
Brian Palmer 224b5a6b65 upgrade mini_magick gem
addresses http://www.rubysec.com/advisories/CVE-2013-2616/

test plan: this is only used by attachment_fu -- ensure that uploaded files
still generate thumbnails correctly.

Change-Id: I4acd99c3720f51c10a0cc5ad2672f65e09b23911
Reviewed-on: https://gerrit.instructure.com/55349
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2015-07-27 20:48:01 +00:00
James Williams 7d35338d24 rails4: fix destroy_session in encrypted_cookie_store
refs #CNVS-21596

Change-Id: Ic894d7d677a3d189fc5e7d44584a1aeb9700b27f
Reviewed-on: https://gerrit.instructure.com/58849
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-21 15:40:08 +00:00
Ryan Shaw 59744dbcee move 'parallel' gem to the everything group
before, we only used 'parallel' in asset generation
tasks, now we do it in prod too.

Change-Id: I107b339330173894942ba35f133d7e9602906b7c
Reviewed-on: https://gerrit.instructure.com/58839
Tested-by: Rob Orton <rob@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2015-07-20 22:03:21 +00:00
Weston Dransfield ea903c6b84 Update Content-Item LtiLink types to LtiLinkItem
Fixes PLAT-1125

Test Plan
 - Add the example test tool (https://github.com/rivernate/lti_tool_provider_example)
   to a course using Editor Button, Link Selection, and Module Menu placements.
 - Add the tool as a module item. While adding make sure to add a new content item by pressing the green '+' in the modal that pops up.
   This content-item should 'Lti Link' set as the type.
 - Click on the tool module item and make sure the link works.
 - Using similar steps add the tool in the RCE and make sure the link works as expected.

Change-Id: I91681d6b6937467ef1aadf3029ccbfd566ba3a71
Reviewed-on: https://gerrit.instructure.com/57296
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Tested-by: Jenkins
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2015-07-20 20:49:13 +00:00
Cody Cutrer f73e9cba71 bump ruby-saml-mod
refs IMPL-248

Change-Id: Ia564dfba44aace81b332412fdfedc61c39a99c6a
Reviewed-on: https://gerrit.instructure.com/58746
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-07-17 21:11:37 +00:00
Jon Jensen 4a83f6b6a2 selinimum: run the minimum selenium necessary for your commit
What is this?
=============

Selinimum speeds up selenium by only running the specs it needs to for
your commit (iff it can safely determine that). For the purposes of the
initial implementation, that means that if your commit ONLY affects:

1. controllers (but not ApplicationController)
2. views (but not shared / layouts)
3. misc whitelisted stuff (images, .md files, etc.)

then it will only run the selenium specs that actually exercise those.
If your commit touches ANYTHING else (models, lib, etc.), all selenium
specs will run.

But wait, there's more!
=======================

Very soon selinimum will also handle:

1. js/coffee/jsx/hbs (except in the common bundle)
2. scss (except in the common bundle)

We already capture which bundles get used by each spec (see Capture), we
just need to correlate that with the individual files via a dependency
graph (probably using madge and sass-graph)

How does it work?
=================

The new post-merge selenium build will run all the specs with selinimum
capturing enabled. This records any controllers/views/js_bundle/css_bundle
that gets used in the course of each selenium spec, and stores a bunch of
data in S3.

Then when your patchset build runs, it will run Selinimum.minimize (via
corresponding tweak in rspect repo) on the list of spec files. If your
commit's dependents can be fully inferred and synthesized with the spec
dependency data from S3, only the relevant specs will actually be run.

Test Plan
=========

This commit doesn't actually cause selinimum to run on jenkins; that
requires some rspect changes and jenkins config. Refer to the test plan
here: https://gerrit.instructure.com/#/c/58088/

Change-Id: I991574c327a3a580c6fdc3ca3797dcfe0490a096
Reviewed-on: https://gerrit.instructure.com/58085
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2015-07-17 03:20:55 +00:00
Ryan Shaw ddc0955bdf ensure node_modules are up-to-date for guard & compile_assets
this will do a check to make sure all the node_modules
from our package.json are up-to-date before
running rake canvas:compile_assets or guard

there have been a lot of devs lately that have
been tripped up not knowing what to do because
they needed to `npm install`

Change-Id: I7c9d0896a6d7611bf9d89672a96cb9505099fa2c
Reviewed-on: https://gerrit.instructure.com/58580
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2015-07-16 19:17:54 +00:00
James Williams 63afc2540d update switchman version
refs #CNVS-21596

Change-Id: Iebebddf08a07df8504870609f9e7076af8d36b05
Reviewed-on: https://gerrit.instructure.com/58385
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-15 18:46:17 +00:00
James Williams b973a898ea rails4: update to 4.0.13
also revert "rails4: fix stale collection proxies"

refs #CNVS-21596

Change-Id: I7dd3d7d5e6ddb3c5fca17555b0e0ec347e6bfa75
Reviewed-on: https://gerrit.instructure.com/58381
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-07-14 20:09:47 +00:00
James Williams 49ff6cb867 restrict adobe meeting names to 60 characters
test plan:
* create a adobe connect conference for a course
 with a long course name
* should not fail

closes #CNVS-10710

Change-Id: Iaf512d794715551895d190cb5e5b25a525e5669c
Reviewed-on: https://gerrit.instructure.com/57830
Reviewed-by: Braden Anderson <braden@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2015-07-13 19:19:31 +00:00
Cody Cutrer 36384c30e4 bump allowed bundler version
Change-Id: Ie2f8df88597a97c87fa0a1da6ee641956fb14a7d
Reviewed-on: https://gerrit.instructure.com/57808
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-07-07 03:24:28 +00:00
Ryan Shaw 9b5dcf918a fix problem in conversations#index
I think the problem that we were getting was because
we added guard-gulp to our development gemfile
and it maybe require's mkmf, which adds the
.with_config scope.

test plan:
* go to conversations in dev mode, it should work
* run `bundle exec guard`, it should work
* with guard running, change a coffee/js file
* guard should see the change and regenerate the appropriate file
  and you should see gulp 'rev' run.

Change-Id: Ia43e9436e19b32eb3959f6f2d9c2d8d7674aa109
Reviewed-on: https://gerrit.instructure.com/57777
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-07-07 00:03:21 +00:00
Cody Cutrer 11d8f4a019 bump rspec-rails
Change-Id: Ibe94e273fd3df1088db01c115581658f1300d25e
Reviewed-on: https://gerrit.instructure.com/57730
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-07-06 23:13:42 +00:00
Ryan Shaw 84a7192a36 A new way of doing css/sass & New Canvas Theme Editor
what this does:
* Changes the way we generate css so we are able to generate custom
  css for people that use the theme editor.
* Sets everything up so we can push all of our static assets
  (js, fonts, css, images, etc) to s3 pre-deploy and serve them
  from cloudfront. Yay! faster canvas for everyone!
* as part of that, this enables the rails asset pipeline just so we
  can use it to put md5s in our urls.  we don't use it for any of the
  coffeescript/sass/sprockets transformer stuff.
* adds a new "Theme editor" functionality (only for people that have
  have the use-new-styles feature flag turned on) where an admin for
  an account can pick their own colors/images for all the users
  at their account/school.
* when the user is done saving things in theme editor, it will,
  in a delayed job, generate all the css with against the variables
  that user specified and push it to s3 so it will be available to
  anyone else that requests it.  (the delayed job will shell
  out to a node.js executable called `brandable_css`).
* ability to pick an existing shared theme and to reset to
  blank theme. closes: CNVS-19685
* gets rid of jammit.

test plan:
(this is exaustive, so not every person has to do every step
but we should make sure at least someone does each of these things.
maybe as part of the review add a comment if you have done one of these
bulletpoints)

* before you check this out, compile all css and copy the
  public/stylsheets_compiled directory somewhere. after you check out
  this code and regenerate all the css. make sure there are no
  significant changes to the css output. (we updated the versions of
  node-sass and autoprefixer that we use so we want to make sure they
  don't change things in a way we weren't expecting)

* make sure the way we load css for handlebars templates still works.
  eg: if there is a handlebars template at
  app/views/jst/some/template.handlebars
  if there is also a scss file at
  app/stylesheets/jst/some/template.scss
  then that stylesheet should get loaded when that template is rendered

* check out the code and run migrations. browse around canvas,
  make sure css and js files load correctly as before.

* cody, jacob, or someone on queso: look at the db migrations and
  make sure everything looks good and that I am handling sharding
  correctly.
* verify that both rake canvas:compile_assets and guard, works as well
  as `node_modules/.bin/brandable_css` (note: if you have
  "node_modules/.bin" in your PATH (which you should), it will also
  work with just `brandable_css`)

* verify that passing the --watch option to
  `.bin/node_modules/brandable_css` works and picks up changes to
  sass files, images, fonts, or any other resource that goes into
  a css file. and that it only recompiles the css files that actually
  depend on that file.

* go to https://github.com/ryankshaw/brandable_css and check out the
  code there. that is what is actually doing the sass compiling

* create a config/canvas_cdn.yml file and add aws access creds and
  an s3 bucket and cdn hostname (for testing, you can use the credentials
  for instructure_uploads_engineering from
  https://gollum.instructure.com/OtherServiceTestAccounts ). for a test
  cdn hostname you can use https://diu0rq5m1weh1.cloudfront.net. that
  is a cloudfront bucket I set up on my personal account that points to
  instructure_uploads_engineering

* run rake canvas:compile_assets again, this time, at the end, you
  should see it run the assets:precompile task that puts md5s in filenames
  and, gzipps them, and copys them to public/assets.
  then you should see it run canvas:cdn:upload_to_s3
  (look at log/development.log for progress),
  which pushes everything to s3.
  closes: CNVS-17333 CNVS-17430 CNVS-17337

* try out the theme editor: turn on new styles, go to accounts/x
  (where x is the @domain root acount you are testing from) and click
  the "theme editor" button on the right side of the page.
  that should take you to a page that has the ability to pick colors/images
  on the left side and preview your changes in an iframe on the right
  closes: CNVS-19360 CNVS-20551

* test the "preview", "save", "reset", and "choose existing" functionality
  closes: CNVS-17339 CNVS-17338 CNVS-19685

* make sure that the themeeditor works both if you have
  config/canvas_cdn.yml set up and enabled as well as if you don't.
  if it is enabled, you should see it push the css for just that new
  brand config to s3 when you hit preview, and the css
  should be accessible from the cdn you configured.

Change-Id: Ie0a812d04f5eeb40e7df7e71941ff63ea51a4d22
Reviewed-on: https://gerrit.instructure.com/53873
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2015-07-02 22:42:18 +00:00
Jason Madsen 4c7d4f2747 enforce 2 decimal precision for statsd logs
bump the canvas_statsd gem to get 2 decimal precision in log values

test plan:

- tail your environment log
  - repeat for several page visits
    - visit a page
      - log should have an entry with [STATSD]
        - values on that line will have 2 decimal precision

Change-Id: I142f7bcde83c59b05f6a64e7bc19f3cd1f213a5b
Reviewed-on: https://gerrit.instructure.com/56767
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2015-06-19 00:44:47 +00:00
Cody Cutrer e4c895a413 add stackprof gem to get rid of nag
Change-Id: Iec6d16d6beba7a1089b5e257554dd3dfff421131
Reviewed-on: https://gerrit.instructure.com/56741
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
2015-06-18 16:52:45 +00:00
Jason Madsen 1f82c667a5 add statsd default metrics to logs
closes CNVS-21283

test plan:

- tail your environment logs
  - repeat for several pages
    - visit page
    - verify that a log entry exists that starts with: [STATSD]
      - and shows values for:
        - total
        - view
        - db
        - sql_read
        - sql_write
        - sql_cache
        - active_record

Change-Id: I9ef66d233604901348999099194be7fa31d11639
Reviewed-on: https://gerrit.instructure.com/56682
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2015-06-17 22:20:11 +00:00
Simon Williams 2660be831d allow ?pp=flamegraph with rack_mini_profiler
Change-Id: I0c416b2f46262962107541953871d30a3ff07d98
Reviewed-on: https://gerrit.instructure.com/56437
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2015-06-17 14:57:09 +00:00
Cody Cutrer 162f76a4d5 bump rack under rails 4 for security fix
Change-Id: I21a8bb0f15383e972553725a46c84b76f110d6d8
Reviewed-on: https://gerrit.instructure.com/56590
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-16 19:11:14 +00:00
Cody Cutrer ffaf5b0770 upgrade status of ruby 2.2
from "very UNSUPPORTED" to silently allowed, but not preferred

Change-Id: I12275220e893d56aa53e73ec4e447b642e979dc0
Reviewed-on: https://gerrit.instructure.com/56000
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-15 22:17:24 +00:00
Cody Cutrer 2a09c45931 bump selenium-webdriver
Change-Id: I0943fd340cb97ecf62bbb63df5852af3fc24dfdb
Reviewed-on: https://gerrit.instructure.com/55729
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-12 20:55:18 +00:00
Ryan Shaw c942af7148 Upgrade 'parallel' gem
Change-Id: I48e9d491e17d30dfd51b528dbb7d0d0df208dd45
Reviewed-on: https://gerrit.instructure.com/56064
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-06-12 19:27:50 +00:00
Cody Cutrer 4d256af1e0 bump ruby_parser for ruby 2.2 compatibility
Change-Id: I458439223d29fee1b4e4edb9ec30aac0cffa19e7
Reviewed-on: https://gerrit.instructure.com/56161
Tested-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-11 16:03:48 +00:00
Cody Cutrer 020c7db223 require ruby 2.1
Change-Id: I9505d5c58a938a0f376bfb01481b222c843dee00
Reviewed-on: https://gerrit.instructure.com/55897
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-08 16:33:23 +00:00
Cody Cutrer 91e61f695c bump bundler version
Change-Id: Ib96e735e105bf17bad1d5c788b3fba8164d289a1
Reviewed-on: https://gerrit.instructure.com/55693
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-06-04 14:52:29 +00:00
Brian Palmer 6b73a5efbd update redcarpet gem
Addresses vulnerability
a6c759d7e7

This gem is only used in dev/test, to generate the API docs. test plan: `rake
doc:api`, verify the docs still render correctly.

Change-Id: Ib1884ec5717bd6d252fa85cbfafb77f1be40ba24
Reviewed-on: https://gerrit.instructure.com/55350
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2015-06-01 19:35:28 +00:00
Cody Cutrer d64e942975 allow bundler 1.10.1
Change-Id: If42882af50d3ce548454c74d303091394d081b78
Reviewed-on: https://gerrit.instructure.com/55368
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-06-01 19:06:42 +00:00
Cody Cutrer 59926790bc do not allow running on Ruby 2.0 anymore
it's known to not work

Change-Id: Ifa69a3390e26c172f07e178a568a1517d7c7d303
Reviewed-on: https://gerrit.instructure.com/55344
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-29 19:13:18 +00:00
Hannah Bottalla cb4a6961e4 update bullet version
Change-Id: If67ffd74302656b8f732f46a2e772e5b6ac8edd1
Reviewed-on: https://gerrit.instructure.com/55352
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Hannah Bottalla <hannah@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
2015-05-29 18:16:47 +00:00
Cody Cutrer c2040a5d06 delete old error reports every 5 minutes
requires updated canvas-jobs for newer rufus

Change-Id: I9a0639c8a41bf301c12dd7dd0be2758e29e83038
Reviewed-on: https://gerrit.instructure.com/55041
Reviewed-by: Hubert depesz Lubaczewski <hlubaczewski@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-27 01:49:40 +00:00
Cody Cutrer d8f1108bc7 Facebook login support
fixes CNVS-19449, CNVS-19454, CNVS-19455

test plan:
 * configure the facebook plugin (/plugins/facebook)
 * add Facebook to your authentication configs
 * try to login with valid facebook credentials - it should say it
   couldn't find the user
 * add a login to your user with that ID
 * try to login with facebook again; it should work
 * delete auth settings and plugin settings
 * re-add the auth settings - it should let you configure it
   directly
 * log in again

Change-Id: I5aae400fe39fda6e1a864a062368e50a4c9f4ede
Reviewed-on: https://gerrit.instructure.com/54208
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-05-19 20:30:01 +00:00
Cody Cutrer ff4d0316a8 bump switchman
Change-Id: I0ac111a16d87c4459cb0076b9b6cfe288520318f
Reviewed-on: https://gerrit.instructure.com/54536
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-19 16:46:49 +00:00
Jason Madsen 8b78946c58 move canvas_statsd and related to external gem
closes CNVS-20323

canvas_statsd has been packaged and published as its own gem. remove
code from gems/ and other supporting code.

updated initializer to conform with new gem default tracking options

test plan:

  - enable statsd in config/statsd.yml
    - visit several pages in canvas
      - create some things, updates some things
      - reload a page or two
      - canvas should continue to function as expected
      - the following statsd request keys for controller actions should
        continue to be sent:
        - total
        - db
        - view
        - sql.read
        - sql.write
        - sql.cache
        - active_record

Change-Id: I28fbf8642a3d2719b08721a3df1c7b77ac52cb1f
Reviewed-on: https://gerrit.instructure.com/54251
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2015-05-18 15:53:19 +00:00
Cody Cutrer 68263be61a bump switchman
Change-Id: I9121d7f6c3e488eef4424595d0c986224c008304
Reviewed-on: https://gerrit.instructure.com/53890
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-11 23:20:55 +00:00
Brian Palmer b7706b3d8b upgrade sentry-raven to 0.13.2
The fix we were using on master was released.

Change-Id: I12159552e7a2f2b33593d08d2ad62d2d529e7e56
Reviewed-on: https://gerrit.instructure.com/53838
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2015-05-11 22:48:56 +00:00
Nathan Mills 3c57214378 add content-item to module items
refactor the external content controller to pass the new content-item format

fixes: PLAT-968 PLAT-1008 PLAT-967

test-plan:
*the new content-item should work in module items
*regression test all of the resource selection placements, all
of the enabled resource selection return values in the old
test tool should still work in module_item selection,
homework_selection, editor_button, course migration, and
homework submission.

Change-Id: Ic6de04effb5fde311f91778a316f9c229072f275
Reviewed-on: https://gerrit.instructure.com/52926
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2015-05-11 16:48:30 +00:00
Cody Cutrer e700a26005 allow bundler 1.9.6
Change-Id: Ie9a52ded55f9d0f0b178a521606f456df8c2d15b
Reviewed-on: https://gerrit.instructure.com/53760
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-08 19:13:30 +00:00
Hannah Bottalla 6f45600699 change bullet_instructure version
Change-Id: I5f3a371e0935a7aca1b304ce4cbd30ec16466fb8
Reviewed-on: https://gerrit.instructure.com/53689
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2015-05-07 22:15:31 +00:00
Brian Palmer f0ce5690cd sentry field sanitization improvement
The list of sanitized keys and parameter names doesn't include the rails
filter_parameters configuration by default, so add that as recommended on the
raven-ruby github wiki.

Secondly, our global ids happen to match sentry's hard-coded credit card
regex, so I got a PR merged to allow disabling the credit card sanitization.
Until a new gem is released, we'll have to pull from github.

test plan: enable sentry and generate an exception, user_id and account_id
should come across as expected.

Change-Id: I56ceae3b28ae64df61bd22c5d03db492f9880ba7
Reviewed-on: https://gerrit.instructure.com/53521
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Brian Palmer <brianp@instructure.com>
2015-05-07 20:52:39 +00:00
Cody Cutrer a7f5246630 bump switchman
Change-Id: Ic300c345efe674d27bc50626138de7ea76f546ca
Reviewed-on: https://gerrit.instructure.com/53598
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-07 15:57:39 +00:00
Cody Cutrer 51a21e06ad bump switchman
Change-Id: I2b5d37126d07cbbef56fa1fe353f5494c3b29902
Reviewed-on: https://gerrit.instructure.com/53358
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-04 17:03:32 +00:00
Cody Cutrer d892a13556 bump byebug
Change-Id: I9f6999987f472c6d00a113cf172b15b37a09172d
Reviewed-on: https://gerrit.instructure.com/53294
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-05-01 19:57:13 +00:00
Brian Palmer aff85866c2 silence the annoying "Raven is ready" startup message
test plan: with sentry configured, rails console bootup should be one line quieter

Change-Id: If6f52983fbdba2b335a412ac9bd0902c727a5b4e
Reviewed-on: https://gerrit.instructure.com/53042
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2015-04-29 21:32:14 +00:00
Joel Hough 9da68ef3fb don't send blank send-email param to adobe connect
fixes CNVS-19630

test plan
- as a teacher who does not have a user in adobe connect yet,
 create and join an adobe connect conference
- ensure that the join button allows you to join the conference
 and does not log you in as a guest

Change-Id: I073c13c19b38c6f35282b80f66e2042f7016797a
Reviewed-on: https://gerrit.instructure.com/52571
Tested-by: Jenkins
Reviewed-by: Alex Boyd <aboyd@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2015-04-28 20:11:22 +00:00
Cody Cutrer 469cd7b7b0 bump i18n gem
Change-Id: Id4861909c0c1fb6a2e53c04ec5f6c1e315ed9595
Reviewed-on: https://gerrit.instructure.com/47747
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-04-17 19:49:17 +00:00
Cody Cutrer 3cf2f1789b allow bundler 1.9.4
Change-Id: I2fe86dfaceb23151d5dad90504752bdc780cd2d0
Reviewed-on: https://gerrit.instructure.com/52275
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-04-15 20:27:54 +00:00
Cody Cutrer 69a20bf2a1 bump tzinfo gem
Change-Id: Iaeb75bfde1ee7d30f1c85f9ef8b3ce9c06be60b2
Reviewed-on: https://gerrit.instructure.com/52045
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-04-14 14:28:46 +00:00
Ethan Vizitei 1004e66540 get sentry into canvas
closes CNVS-6016

No more error reports!  (soon)

this commit builds up sentry integration through the new
Canvas::Errors module, along with other things that need
to happen on every exception.  ErrorReports
should now get pushed towards just being used for representing
a complaint a user filed via the get help form.

I fixed about half the things that got linted as well
while I was in here, but because this touches to much
I fear divergence from tackling too many (I think we
can safely say it's "better than we found it")

I left a lot of the infrastructure for error reports in place
until other commits for plugins can be merged

TEST PLAN:
 1) setup your raven.yml config file with the dsn for our
  sentry install
 2) force an error to happen in a request response cycle.
 3) see the error in sentry
 4) force an error to happen in a job
 5) see the error in sentry
 6) statsd increments shoudl still fire
 7) for the moment, an error report should still get created.

Change-Id: I5a9dc7214598f8d5083451fd15f0423f8f939034
Reviewed-on: https://gerrit.instructure.com/51621
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2015-04-13 22:26:15 +00:00
Cody Cutrer a424a91f97 add autoextend gem for plugins to easily add functionality to canvas
closes CNVS-14263

Change-Id: If2fb80e776662cae1fe56dd9e5e550c50f6accd8
Reviewed-on: https://gerrit.instructure.com/51654
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-04-13 18:25:50 +00:00
Ethan Vizitei 1329e71c53 colorize rlint output
Change-Id: I357a15e38c454991efd556491cd8f047a07f701a
Reviewed-on: https://gerrit.instructure.com/52008
Reviewed-by: Braden Anderson <braden@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
QA-Review: Braden Anderson <braden@instructure.com>
Tested-by: Jenkins
2015-04-10 20:13:36 +00:00
Ethan Vizitei 13f8256e92 add heavy mode and INFO on only touched lines
lets rlint only run with local changeset unless you specify "--heavy"

Also checks for whether you actually touched a line
or not before deciding an INFO comment is relevant

Change-Id: I4a960c72644dfc46aca7a51d04321711cef0850c
Reviewed-on: https://gerrit.instructure.com/51992
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Ethan Vizitei <evizitei@instructure.com>
2015-04-10 16:59:07 +00:00
Cody Cutrer 9834937c8c don't autorequire a bunch of gems that are rarely used
Change-Id: I09ed3686629b62849d392684d587f30cb2047013
Reviewed-on: https://gerrit.instructure.com/51853
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-04-09 18:47:50 +00:00
Ethan Vizitei 19a71c6b64 add some ruby linting for jenkins to take advantage of
add migration lint as rubocop cops

create frozen constant linter

find_ids datafixup lint

send_later lint

lint send_later in predeploys

add freeze_constant cop to default config

don't forget to include rubocop when running

get the rubocop runner into the script

lint for wrong algorithm name

lint primary key

lint remove_column in predeploys

get rubocop output as parsed json

diff munging for gergich

disable a few style cops

tweak rubocop setup to allow IDE plugins to work

get gergich comment format right

shell out to gergich if we're in jenkins-land

Change-Id: I6eecc8d8ede17a755c9d9a86121c3658776de9cd
Reviewed-on: https://gerrit.instructure.com/51755
Tested-by: Jenkins
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2015-04-09 14:37:37 +00:00
Cody Cutrer b078234eff don't auto-require gems that are just dependencies
we have them in the gemfile to lock them to a specific version,
but normal behavior doesn't auto-require them

also, use 1.9 hash syntax in gemfiles (_except_ _before.rb)

Change-Id: I549c2775c65d48ff23ba1358b43713965df97813
Reviewed-on: https://gerrit.instructure.com/51636
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-04-08 15:55:26 +00:00
Zach Wily 5d232f03af initial live events implementation
This commit adds a new module called LiveEvents that knows how to send a
certain set of events to Kinesis. The module is configured via
normal plugin settings per account. Once the plugin is configured with
a Kinesis stream, events will start getting sent to that stream.

Events are sent asynchronously, in a background thread.

test plan:
 * See `doc/live_events.md` for instructions on how to setup a local
   kinesis stream and configure the LiveEvents plugin.
 * Start tailing the stream with the command specified in
   `doc/live_events.md` in a terminal.
 * Perform the actions described in `doc/api/live_events.md` and verify
   that events show up in your Kinesis terminal with the correct data.

Change-Id: Id799688c972205a1eee84a673912f84b0c7abb57
Reviewed-on: https://gerrit.instructure.com/50324
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
2015-04-03 15:22:33 +00:00
Simon Williams f1e0adc3ca allow bundler 1.9.2
Change-Id: Icf5255ac2c484d88d466c9ff714c0eeb913fbb58
Reviewed-on: https://gerrit.instructure.com/51314
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2015-03-31 21:42:59 +00:00
Joel Hough 439e119492 delete facebook integration
fixes CNVS-18978

test plan
- regression test canvas, particularly:
notifications, and their preferences
communication channels
messages
user ouath (like linkedin and google docs use)
avatars
profile page
user services (like twitter)
feature settings
context roster

Change-Id: I2d53125f76c9daf912fdeabc621c90ac1bd070df
Reviewed-on: https://gerrit.instructure.com/49267
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2015-03-30 20:21:58 +00:00
Cody Cutrer 3386e8c938 bump ruby-saml-mod
fixes CNVS-18892

Change-Id: I5ce7461d12f97d7d81b81ca88d8394224d017847
Reviewed-on: https://gerrit.instructure.com/50020
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-03-08 00:34:48 +00:00
Cody Cutrer 497cc8b1ca allow bundler 1.8.4
Change-Id: Id05be9454f923994b33fe75930055dd5cbd0954f
Reviewed-on: https://gerrit.instructure.com/50003
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-03-07 18:32:00 +00:00
Brian Palmer 25f32fb78d switch back to the official marginalia gem
The fix was merged and a new gem was released.

Test plan: enable with marginalia.yml, then test that the appropriate
comments still show up in logged SQL statements. For instance, load a
page in canvas, then look at the logs and verify the logged SQL
statements include controller, action and request id.

Change-Id: Ib7024c41b860ff7d4530974c74996c37e6c3d1a8
Reviewed-on: https://gerrit.instructure.com/49319
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2015-03-06 23:15:41 +00:00
Cody Cutrer 6d56769cf9 update to upstream ratom
Change-Id: I602ea1594917799cd0f6704641b7870a991f3ef7
Reviewed-on: https://gerrit.instructure.com/49470
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-03-06 17:35:29 +00:00
Cody Cutrer 11681e8445 bump switchman
fixes CNVS-19037

Change-Id: Ic10d42996b48baac80de2df858ae868d130d076d
Reviewed-on: https://gerrit.instructure.com/49852
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-03-04 20:05:08 +00:00
Jason Madsen e7b4d8cc01 send num AR objects per action to statsd
closes CNVS-18914

test plan:
* configure statsd in your canvas instance
* run canvas
* hit several pages in canvas that will query the DB and load AR objects
  * verify that active_record key is being sent for those controller actions

Change-Id: I5ae1279bc360d7fd5ce38a4488dc9f70b9de92bc
Reviewed-on: https://gerrit.instructure.com/49666
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2015-03-04 20:04:32 +00:00
Cody Cutrer dc8f37287a don't (directly) depend on libxml-ruby
nokogiri is better maintained, and java compatible (both
are based on libxml2)

Change-Id: Ia7c8edea15ec001cf4861b00494e480832bd2c63
Reviewed-on: https://gerrit.instructure.com/49467
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-03-02 20:01:02 +00:00
Hannah Bottalla 88ba655dff update simplecov version
Change-Id: I3fb4db517a618b2115c7b692d6e10b9875c60d67
Reviewed-on: https://gerrit.instructure.com/49274
Tested-by: Jenkins
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
2015-02-27 17:04:25 +00:00
Brian Palmer 17fbe349ab csv_diff gem
Change-Id: If566585cea572067bde2b019804c15dc1851f3e5
Reviewed-on: https://gerrit.instructure.com/48424
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Linda Feng <lfeng@instructure.com>
2015-02-26 15:52:58 +00:00
Cody Cutrer fac8369583 allow bundler 1.8.2
also make our bundler monkeypatch conditional on 1.8.0, since it
was merged upstream

Change-Id: I441755ff54c77a07b7ede03f46f45033c208e1e8
Reviewed-on: https://gerrit.instructure.com/49149
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-23 18:30:58 +00:00
Cody Cutrer f9f37c0c93 bump nokogiri to latest
Change-Id: I53258f7dc243c0a9083b9f86c12a1b81f90c9d3e
Reviewed-on: https://gerrit.instructure.com/49022
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-19 19:15:29 +00:00
Cody Cutrer 8993232f35 require released version of spring that incorporate the fix canvas needs
Change-Id: If1317a2c8376a940646a4d64767cf77f64b3d126
Reviewed-on: https://gerrit.instructure.com/48885
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-18 23:04:23 +00:00
Cody Cutrer d34df4bc67 bump rails 3 to github branch for ruby 2.2 compatibility
see https://github.com/rails/rails/pull/18306 for discussion on
why it's not released yet

Change-Id: Id0de57432df9e7db1767c8f4d75c7734799148b9
Reviewed-on: https://gerrit.instructure.com/48828
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-18 22:55:20 +00:00
Cody Cutrer 618eacf181 use eval_gemfile for bundler goodness
Change-Id: I1ce8c5135cb5b15f4e1fdd07cb890f5f823f11a4
Reviewed-on: https://gerrit.instructure.com/48952
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-18 18:15:14 +00:00
Nathan Mills a99c397662 Google Drive Collaborations & Submissions
force users to auth google drive when the plugin is enabled

Add support for google drive in collaborations and homework submissions
Everything still looks like google docs to the user.

fixes PLAT-892
fixes PLAT-893
fixes PLAT-894

Test plan:

create a google docs integration
and enable the google drive plugin
when you visit the colaborations page it should ask you to authorize canvas to use google drive

Regression test homework submissions with google doc and drive
Regression test collaborations with google doc and drive

Change-Id: I79bdbdcae915b08a19cc9a078a64b49ef5f34796
Reviewed-on: https://gerrit.instructure.com/48583
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2015-02-18 16:02:25 +00:00
Cody Cutrer 334863eba2 bump rspec
Change-Id: Ief41ee5726c018747a7be7df9865c387da22b276
Reviewed-on: https://gerrit.instructure.com/48825
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-17 20:06:26 +00:00
Cody Cutrer f62bb4fd5d bump nokogiri slightly
refs CNVS-18275

to the minimum version required by ruby-saml2

Change-Id: Icc66b62ab3828e6142785cb08855534b89167b34
Reviewed-on: https://gerrit.instructure.com/48720
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-02-13 16:55:57 +00:00