Commit Graph

408 Commits

Author SHA1 Message Date
Rex Fleischer 04ca6ab6dd separate feature flag definitions from code
fixes: ADMIN-2539

this moves and loads feature flags from yaml files. there should be
absolutely no changes to functionality of anything in the system.

Test-Plan:
change things with feature flags and different feature options, and make
sure they work the same way as before.

Change-Id: Id096e6c9975f86224c1ee07304cef79a0d4c7755
Reviewed-on: https://gerrit.instructure.com/187804
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-04-18 15:56:54 +00:00
Cameron Matheson 0327f446f3 make graphql pg timeouts work for mutations
Test plan:
  * set a short timeout in the rails console:
      Setting.set('graphql_statement_timeout', 1)
  * graphql queries and mutations should fail (500 error)
  * set a long timeout:
      Setting.set('graphql_statement_timeout', 60_000)
  * queries/mutations should succeed
  * a failure in one mutation should not affect the success/failure of
    other mutations sent in the same request

closes GQL-35

Change-Id: I3f4db8e951139b06372ab7bb69867efe6acf2283
Reviewed-on: https://gerrit.instructure.com/179545
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-03-02 18:04:44 +00:00
Cameron Matheson ceeed5f1d2 use apollo's instrospection matcher
Since Canvas's schema makes frequent use of interfaces and unions, we
need to provide some extra information to apollo to avoid warnings/cache
errors.

Test plan:
  pages that use graphql should still work

closes GQL-17

Change-Id: I95a7b343a1726abf02bf3da6e65337cc20583cd7
Reviewed-on: https://gerrit.instructure.com/172937
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2018-12-03 06:44:24 +00:00
Rob Orton f1e3a8cd7e Revert "run compile assets as part of initial_setup"
This reverts commit 701975c862.

Change-Id: I089597b3089f31435f86226e352ec6c2d22a5abc
Reviewed-on: https://gerrit.instructure.com/170843
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-02 16:05:31 +00:00
Rob Orton 701975c862 run compile assets as part of initial_setup
closes CORE-1981

test plan
 - rake db:initial_setup should run

Change-Id: I4ddebf513a4b75c7aa4ca16d9126198ced2acfc6
Reviewed-on: https://gerrit.instructure.com/170486
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-01 19:37:49 +00:00
Cody Cutrer 6a36bcc3f5 more accurately detect if schema cache needs cleared
and add override to force-clear it

Change-Id: I05a4b68be963ca8eceace456cc2d81f4556a9da6
Reviewed-on: https://gerrit.instructure.com/160992
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-08-16 14:23:57 +00:00
Cody Cutrer 29cab0d677 multicache and invalidate column definitions
closes CORE-1724

Change-Id: I2b57cf9c20b6c1dddc2fdd7f1c383ca3b56a3adb
Reviewed-on: https://gerrit.instructure.com/160907
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-08-15 18:25:56 +00:00
Robert Lamb 4684bd2606 spec: remove unused pact rake task
Remove unused rake task for publishing generic api consumer pact file.
We use the script bin/contracts_publish_api instead.

Change-Id: I507b35e1aef7df201309f09f171a8e816218c7d7
Reviewed-on: https://gerrit.instructure.com/158764
Reviewed-by: Anju Reddy <areddy@instructure.com>
Reviewed-by: Rohan Cheeniyil <rcheeniyil@instructure.com>
Tested-by: Jenkins
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-07-26 16:12:46 +00:00
Han Ngo f9a75654a1 Warm fix broken API Token Scopes file
Fixes PLAT-3550

Test Plan:
- Verify there is no 'API Token Scopes' under OAuth2
- Verify there is only one link 'API Token Scopes' under Resources
- Verify there is no code left related to generating the 'API Token
Scopes' table under OAuth2

Change-Id: Ib00a4aeec102eafc22169ac5322b581fef797a0b
Reviewed-on: https://gerrit.instructure.com/155247
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-06-27 17:38:28 +00:00
Anju Reddy 2c8dfe64f3 spec: Automatically tag with branch name when pact is published
Change-Id: Ia53a6f82d2bb62ddf8938170d19cb3dbb3282170
Reviewed-on: https://gerrit.instructure.com/155297
Tested-by: Jenkins
Reviewed-by: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
2018-06-26 20:14:58 +00:00
James Williams 88e9276054 don't load pact tasks without test group bundled
Change-Id: I0262c02e289eb8476a01c136ea5a291e91173cf9
Reviewed-on: https://gerrit.instructure.com/155009
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Tested-by: James Williams  <jamesw@instructure.com>
2018-06-25 14:02:31 +00:00
Cody Cutrer 57a8cd956e this method got renamed
Change-Id: Ib26b053d9d6c408fc90c7e5a3c1bb73c1f88efcd
Reviewed-on: https://gerrit.instructure.com/154781
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-06-22 14:05:03 +00:00
Deepeeca Soundarrajan 6d5bda6b35 spec: Modify cnvas_rake file for pact
Test Plan:
  -- Passes Jenkins

Change-Id: I55c8cc6d0a742afd330e54c6c1c74d08cd6332ef
Reviewed-on: https://gerrit.instructure.com/153898
Reviewed-by: Anju Reddy <areddy@instructure.com>
Tested-by: Jenkins
Product-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
2018-06-18 16:54:35 +00:00
Anju Reddy dd10968a22 wip: Add rake script to push results to broker
Test Plan:
  -- Passes Jenkins

Change-Id: I071c93e36414b80c32adbf3eba7f03bb5c0fff3f
Reviewed-on: https://gerrit.instructure.com/151510
Tested-by: Jenkins
Reviewed-by: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
2018-06-05 19:53:03 +00:00
wdransfield 8b0740be29 Add API Token Scope Docs
Closes PLAT-3394

Test Plan:
- Run the `doc:api` rake task
- Navigate to /doc/api/index.html and verify there
  are two new links in the OAuth2 section ("Developer
  Keys" and "API Token Scopes")
- Verify both links work
- Verify the token scopes documentation has a table
  for each scope group and includes all Canvas
  scopes
- Verify "Resources" documentation pages now display
  the scope along with each API endpoint

Change-Id: I2fea0ff531744dbaf63d24619b3c0e9655a25a7a
Reviewed-on: https://gerrit.instructure.com/151010
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Tested-by: Jenkins
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-05-29 18:21:57 +00:00
Michael Hargiss 8568525f24 consolidate contract tests
Test Plan:
  - follow the instructions in spec/contracts/README.md to run
  the live events contract tests locally
  - follow the instructions in
  spec/contracts/service_providers/canvas_lms/README.md to run
  the "Generic Consumer" Canvas API contract tests locally

Change-Id: I316747f53731f411ab82432587596e335c2fd059
Reviewed-on: https://gerrit.instructure.com/149766
Reviewed-by: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Product-Review: Michael Hargiss <mhargiss@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
2018-05-18 22:34:20 +00:00
James Williams 7423e4fb94 rails 5.2
closes #CORE-1301 #CORE-1302

Change-Id: I687132b066d12cf35e3c7a593dff9b2a91337f33
Reviewed-on: https://gerrit.instructure.com/147220
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-04-25 19:15:20 +00:00
Rob Orton 25c2220268 remove more scribd
Change-Id: Ia8a928a8447b878cab571ab400143e6145db194e
Reviewed-on: https://gerrit.instructure.com/146535
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-04-10 20:14:50 +00:00
James Williams f41e9d6477 rescue loaderror loading pact tasks in production
Change-Id: I4cfe467351801513f2077de2f8acfeb2d7a95c38
Reviewed-on: https://gerrit.instructure.com/145528
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-04-02 14:44:36 +00:00
Robert Lamb a9a89c3993 spec: WIP - add pact provider files
Add pact provider files in Canvas base project following
Pact search conventions where pact_helper.rb is located in
canvas-lms/spec/service-consumer/

Add copyright to files

proxy.app doesn't work yet - unable to create token

Change-Id: I505a6165650ba1d89fcf054441e172e584a39305
Reviewed-on: https://gerrit.instructure.com/143296
Tested-by: Jenkins
Reviewed-by: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-03-13 16:30:34 +00:00
Ryan Shaw 06d3ceb331 git rid of our vendor’ed fork of mediaelement
refs: CORE-24

test plan:
* this net result of this change should mean that we are using the exact
  same code as we were using before, just pulled from github directly
  in our package.json instead of vendored into our repo.
* testing the follow-on commits should show this worked correctly

Change-Id: Ie6d022d5fe8ed1a607f66f9d426c47ec7e8f5b14
Reviewed-on: https://gerrit.instructure.com/142381
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 16:17:43 +00:00
Ryan Shaw 1ad9fa2771 [webpack] build both dev/prod for ?optimized_js=0
Closes: CORE-720

We have this thing where you can add ?optimized_js=0 to the url of any 
page and it will try to serve the dev js bundles. But at deploy time
we weren’t actually building the dev bundles so they weren’t available.
(You can see this by going to a page right now in prod and adding 
?optimized_js=0 to the url and seeing all the 404s for the js bundles).

This makes it so we build both so if you do the ?optimized_js=0 thing,
they will exist and it will work.


Test plan:
* run RAILS_ENV=production bundle exec rake canvas:compile_assets
* start a server in prod mode
* go to a page, all the js should be minified
* go to the same page with ?optimized_js=0 at the end of the url
* all the js should work and should be the same as what you see in dev
  mode
* the selenium Jenkins build should not take any longer than it normally
  Does since it should not build both bundles.

Change-Id: I612222cfc4ef5282a986a2467e76d70ffcf30629
Reviewed-on: https://gerrit.instructure.com/134107
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-06 21:22:21 +00:00
Ryan Shaw 10fd975be6 Log `yarn install` output while it is running
This change makes it so we don’t wait until it
Exits to log the output. Because something is going
On in the deploy boxes where it just dies midway and 
never finishes.

Test plan:
* run rake canvas: compile_assets, 
* you should see log output while the yarn part runs

Change-Id: I8e2fc0cc559e631bbde2372fa548e93d77af13a6
Reviewed-on: https://gerrit.instructure.com/130115
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-11-06 16:35:09 +00:00
Ryan Shaw d103898bcc always set up plugin symlinks b4 compiling sass
Fixes: CORE-352

Test plan:
* in a deployers vm (or somewhere where you don’t have a full
  Rails environment set up with a database connection and everything)
* run compile_assets
* you should see some `compiled plugins/analytics/analytics.scss …`
  output in your console
* `grep analytics public/dist/brandable_css/*bundles_with_deps.*`
  Should have stuff about analytics

Change-Id: Ifaa17c42f5fc62a911a84febbb674c2bb570db37
Reviewed-on: https://gerrit.instructure.com/131123
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-28 16:27:27 +00:00
James Williams 32003f4c3d ensure plugin symlinks before compiling js
Change-Id: I7e52ee10ae3e6d4e666452a7a53e5459dfad43f4
Reviewed-on: https://gerrit.instructure.com/129032
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Tested-by: James Williams  <jamesw@instructure.com>
2017-10-09 20:10:29 +00:00
Ryan Shaw a9eb19ffa6 make compile_assets work when there’s no db.yml
Fixes: CNVS-39854

Test plan:
* mv config/database.yml config/database.yml.backup
* bundle exec rake canvas:compile_assets
* it should work
* Docker build should pass

Change-Id: I0786d1de1d6f6f69d665e10b0428571e77d7f859
Reviewed-on: https://gerrit.instructure.com/128974
Reviewed-by: James Williams  <jamesw@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>
2017-10-09 16:13:31 +00:00
Ryan Shaw 79a06e9fc6 Ensure db migrations exists if brand defaults change
closes CNVS-39664

Test plan:
* start your rails server, it should work
* make a change to app/stylesheets/brandable_variables.json
* restart your rails server
* it should throw raise an exception
* do what it says in the error message
* after you moved those files an restarted rails like it said,
* start your rails server, it should not throw an error

Change-Id: I30042f59baa31908c2e902445fb1bf3b06f3b45c
Reviewed-on: https://gerrit.instructure.com/127667
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-10-04 17:43:54 +00:00
Ryan Shaw 094d65a1cb Remove remaining dynamic brand css code
closes: CNVS-39103 CNVS-39104 CNVS-38650

test plan:
* do a general css styling regression pass
* make sure that the urls to css files look like
  /dist/brandable_css/new_styles_normal_contrast/<bundle>-<fingerprint>.css
  and not:
  /dist/brandable_css/<big long md5>/new_styles_normal_contrast/<bundle>-<fingerprint>.css
* make sure that stylesheets loaded by handlebars templates work
  eg: go to the calendar page and make sure it is styled correctly
* verify that the theme editor works. especially the process when you hit
  "preivew" and "apply"
* set up config/canvas_cdn.yml to use the dev cdn
* run `bundle exec canvas:compile_assets && bundle exec rake canvas:cdn:upload_to_s3`
* load a page, all the css should load from the cdn
* verify the theme editor works when using the cdn too.

* also review the changes in the brandable_css npm package:
  https://github.com/ryankshaw/brandable_css/compare/c6bef...b159d5

Change-Id: I55db41e90f6bc54183a661128f1050445a086d6b
Reviewed-on: https://gerrit.instructure.com/120912
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-10-03 22:49:11 +00:00
Ryan Shaw a0fa00259d Remove unused canvas:compress_assets rake task
closes: CNVS-39669

we don't need this because we serve our css/js from cloudfront and
it handles gzip for us. for any open source users, you'll want
to make sure that you have the apache/ngix module that does on-the-fly
compression of text mime-types as gzip set up.

test plan:
the css/js served in production should still be gzipped

Change-Id: I41efba5dd47d7ce86ad291e2c43dd5c5d97e2316
Reviewed-on: https://gerrit.instructure.com/127435
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-09-29 19:07:12 +00:00
Ryan Shaw 550f581de0 run gulp rev before brandable_css in compile_assets
fixes: CNVS-39666

test plan:
* rm -rf public/dist
* bundle exec rake canvas:compile_assets
* load a page, you should see the branding
  for your brand. AKA, the page should not be
  just plain white with no colors.

Change-Id: I794544a1ae6f84df377d8a98ed3c24a6409e20b5
Reviewed-on: https://gerrit.instructure.com/127830
Reviewed-by: Jacob Fugal <jacob@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>
2017-09-29 19:04:52 +00:00
Cameron Matheson 7562615671 add rake task to generate graphql schema
refs CNVS-39078

Test plan:
  - run the graphql:schema rake task
  - review the graphql.schema file

Change-Id: I0e4ec5ef0c6e36a58c42529865936ee4c321f927
Reviewed-on: https://gerrit.instructure.com/127246
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Michael Jasper <mjasper@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
2017-09-25 22:06:53 +00:00
Tyler Pickett 099365aec1 Add rake task to populate Consul from dynamic_settings.yml
Fixes: CNVS-39293

Since we eliminated the pre-population functionality from our Consul
wrapper we needed something to conveniently populate the KV store.

Test Plan:
- Start a Consul server
- Run `bin/rake canvas:seed_consul`
- Verify that values were written to the KV store.

Change-Id: I340011b7d00ed4e3dd2918e3f101f6377fc72d7e
Reviewed-on: https://gerrit.instructure.com/126574
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Tyler Pickett <tpickett@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
2017-09-19 18:08:39 +00:00
Simon Williams 315eed97f1 mediaelement accessibility
bump mediaelement to 2.47.0, and port the keyboard/screenreader handling
strategies that arc uses to canvas.

fixes CNVS-31892

test plan:
- test keyboard and screenreader accessibility on video and audio
players
- should be able to tab to menus and toggle with arrow keys
- should work like the Arc player

known issues:
- voiceover seems to get confused about the order of components in the
player controls. haven't been able to figure out why

Change-Id: I07fa5904addf1d707b4ace12cd474350c6237f33
Reviewed-on: https://gerrit.instructure.com/114749
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2017-09-07 20:36:07 +00:00
Cody Cutrer 2a11facc7b pass --frozen-lockfile for yarn install during build process
Change-Id: I495d02544e43ac721346e4556140874f600d06c3
Reviewed-on: https://gerrit.instructure.com/122662
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-08-14 18:58:44 +00:00
Cody Cutrer 622ed3314a require yarn, not npm
Change-Id: I2dbb037d4cbb0de7952dde19196c6937d18924e9
Reviewed-on: https://gerrit.instructure.com/122554
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-08-14 15:27:14 +00:00
Ryan Shaw d6e594ae2c Generate css, json & js files for themes on build
Closes: CNVS-38601


This change makes it so if you have a database 
connection, it will look at the db for the brand_configs
that exist there and generate them all when you 
compile_assets. It should prevent people in dev 
mode from getting the vanilla white page
that you get when you get a 404 for the css file
That has all of your brand_configs css variables.


Test plan:
* set up a custom theme for yourself in canvas
* rm -rf public/dist
* check this out
* run bin/rake canvas:compile_assets
* load a page, 
* you should not get a 404 for a css file or js file
  with your brand_variables
* the page should be themed and not be a vanilla white page 

Change-Id: I796ac99c06aafe5d7d229e457988094a7b48e8bd
Reviewed-on: https://gerrit.instructure.com/122155
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-08-09 22:11:43 +00:00
Ryan Shaw 0f2832dcb0 Write css file with brand variables
closes:  CNVS-38408

NOTE: this does not actually change any behavior, it just
gets things set up so we can actually start using css variables
in follow-on commits.

test plan:
* with this checked out,
* run bundle exec rake brand_configs:generate_and_upload_all & compile assets
* open a page in canvas
* there should be a stylesheet near the top of the <head> with css variables
  of all the theme editor variables.

Change-Id: I2caa210917d9245ae103d1444d6353ecfdeb59fe
Reviewed-on: https://gerrit.instructure.com/120574
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-07-28 22:23:25 +00:00
Simon Williams 13e71ca726 upgrade mediaelement.js to instructure/mediaelement#1a177ed2cc
fixes: CNVS-34022

test plan: should include general improvements and bugfixes from
upgrade, but no core functionality should change.
- video and audio player
- speed controls
- quality controls
- caption track controls (including upload and delete)
- note: this does not yet fix all a11y issues

Change-Id: Ifc0afbece6044cd04087f474c9e9c6a30caca74d
Reviewed-on: https://gerrit.instructure.com/111518
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2017-05-25 15:13:20 +00:00
Ryan Shaw ed415c5a4e Actually log webpack errors in compile_assets
closes: CNVS-37098

this should get rid of all of those cases where jenkins fails with
an error from webpack but everything works locally for a dev and they
have no idea why it is failing on jenkins

Test plan:
* look at the output of 
  http://jenkins.instructure.com/job/canvas__selenium/13893/console
  (which is based on this) and verify that it prints an error message
  of actually why webpack failed

Change-Id: I49581a8b77b0f563ff88ceb5c54ed24a23d7def9
Reviewed-on: https://gerrit.instructure.com/112813
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins
2017-05-23 19:47:00 +00:00
Landon Wilkins a1cbdc0388 da licença part 35
add consistent license headers to all source files

Change-Id: I14190f63a3c218a0762ef24bc91738bee3e5b919
Reviewed-on: https://gerrit.instructure.com/110063
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 17:30:19 +00:00
Jon Jensen 326d5b24ed spec: bring over current CI docker-composing, refs SD-1574
Change-Id: Ibc6bea11f899b289ff2cb2c6ab45852a6b551065
Reviewed-on: https://gerrit.instructure.com/109536
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins
2017-04-24 19:36:19 +00:00
Ryan Shaw d9123d811e Take out message about compile_assets going way
rake canvas:compile_assets is still the recommended
Way of making sure all of your stuff gets updated.
We can put a message back when there is something
That really does replace it and runs everything

Change-Id: Ic3f75955b1f0a65097c8fb4e8089258636d4c3b4
Reviewed-on: https://gerrit.instructure.com/108582
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-04-18 00:16:00 +00:00
James Williams 5a04dbe37a fix js:npm_install task for ruby 2.4
Change-Id: Id641a49b62339a9495917eef38601d77c4b1cccb
Reviewed-on: https://gerrit.instructure.com/107837
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-04-07 15:17:46 +00:00
Simon Williams 2564a544fa make canvas:compile_assets_dev run webpack
Change-Id: Iab62455a896c6a480ab5bd09403d8c341b0b0468
Reviewed-on: https://gerrit.instructure.com/105064
Tested-by: Jenkins
Reviewed-by: Omar Khan <okhan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2017-03-29 15:59:59 +00:00
Cody Cutrer 7ccd78c001 rails 5: fix eager loading in production mode
fixes CNVS-34845

in particular, delete a file (lib/kaltura.rb) that is never used anymore,
and move api_routes.rb out of lib, as it's not meant to ever be loaded
in the app

Change-Id: Ia950b3eb50b90dfaccec1784e3e612589091989e
Reviewed-on: https://gerrit.instructure.com/105444
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-03-21 23:04:28 +00:00
Ryan Shaw 5b88629fe0 Remove RequireJS support
closes: CNVS-31785

test plan:
all builds should pass

Change-Id: I2925934692a3d2f115f1289d7b50cb72d8cb907f
Reviewed-on: https://gerrit.instructure.com/104492
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-03-13 22:10:23 +00:00
Cody Cutrer 944b292561 don't explicitly require an autoloaded file
refs CNVS-35238

especially since it's a plain module, it breaks autoextending it

Change-Id: I5a4d655aa8c402081d208ddd203e3873773956a1
Reviewed-on: https://gerrit.instructure.com/104706
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-03-10 16:19:55 +00:00
Landon Wilkins 4c57eac401 use current bundler environment styleguide generation
Change-Id: I8d254531981c8b50b0b28cea0995adb9ce158ad4
Reviewed-on: https://gerrit.instructure.com/104419
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins
2017-03-08 16:23:36 +00:00
Ryan Shaw 05f55c1c30 Deprecate `npm` client. Use `yarn` instead
Closes: CNVS-35152

This changes all our tooling that used `npm` to
Run scripts to use `yarn`. `npm` will still work
for now but if you have yarn installed, it will use
that.

Cheat Sheet:
old command      -> new command
npm install      -> yarn install (or just `yarn`)
npm run webpack  -> yarn run webpack
npm test         -> yarn test
See more at https://yarnpkg.com

Test plan:
* all Jenkins builds should pass
* without yarn installed:
* run script/nuke_node.sh
* it should work and warn you about how `npm` is deprecated
* now install yarn, e.g.: `brew install yarn`
* run script/nuke_node.sh again
* it should work and you should see silly yarn emoji
  in the output and it should be a lot faster

* the docker changes I made should work and docker should
  build correctly and use yarn.

Change-Id: I4aa31eeae3ecc504634a7c72a1ea0d3396f445e3
Reviewed-on: https://gerrit.instructure.com/102969
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-03-01 19:39:01 +00:00
Jon Jensen 31c0b81cd6 ensure you can still do requirejs and webpack simultaneously
regression in 02d13b4e

test plan:
* `USE_WEBPACK=1 COMPILE_ASSETS_WEBPACK_RJS_FALLBACK=1 \
   rake canvas:compile_assets`
* it should work

Change-Id: Ie9f51367e11b97315fe2fc4b0fd6ac254802cfd7
Reviewed-on: https://gerrit.instructure.com/103404
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins
2017-02-28 03:00:19 +00:00