Commit Graph

24 Commits

Author SHA1 Message Date
adam.lenning a0c8151ca1 Add canvas_lms as a consumer
closes OUT-3752
flag=none

FSC_REPEAT_FACTOR='1'

Test-plan:
 -tests pass, verify new tests run

Change-Id: Iccf54743d4a6206c5b593bc94523544cb4dc3480
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242528
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2020-08-27 18:24:30 +00:00
James Butters 18862fdf0e spec: revert pact scripts in bin/ to use web
pact scripts in bin/ are for local runs of pact and need to
use web container, new files that are in build/new-jenkins
don't need the check if Jenkins.

flag = none

Change-Id: I878b157b9856f1c25e160d7608b226f7185974a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/237520
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
2020-05-15 19:47:55 +00:00
James Butters 335f6c8c46 spec: more parallel of docker, better even
using the option project-name with docker-compose allows
us to have all services separate for each group of tests.

test plan:
Jenkins passes all build
logs are copied out of containers for archiving/test reports
run with force-failure flag


flag = none
closes: CCI-341

Change-Id: I99820f64023dde17a1b75e76bcec2dfe84529e91
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236029
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-05-11 15:07:18 +00:00
Landon Gilbert-Bland f45ab202a3 Generate schema.graphql on demand
This will fix some issues with jenkins builds failing if the
patchset is behind some newer graphql changes, as well as allowing
us to include content defined in our plugins in the graphql.schema
file.

Test Plan:
  - Jenkins passes

fixes USERS-210

flag = none

Change-Id: Ic44849ee57955e0b90395661a66f6d5840a38e87
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/222029
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Steve Shepherd <sshepherd@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2020-01-06 21:12:42 +00:00
Cameron Matheson f160c628f8 spec: publish live-events contract test results
closes CORE-3316

Change-Id: If50145e07b8538d7804319738da560c07a96534c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/212037
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-11-07 16:30:26 +00:00
Robert Lamb 91dfb20041 spec: add scripts to publish to public pact broker
test plan: passes jenkins

removed docker version of commands

Change-Id: Iefc345de1d272709b98dda9a8e5438b03e5414fb
Reviewed-on: https://gerrit.instructure.com/168904
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
2018-10-19 02:23:04 +00:00
Robert Lamb b811f3ea76 spec: Add git SHA to pact file consumer version.
test plan:
  - use the bin/contracts-publish-api file to publish
    a pact file to the pact broker
  - verify the SHA on the broker matches the HEAD SHA on your
    current branch using `git log`

Change-Id: I69a08a2e4fb735d1f211fb29d860f829c75113fd
Reviewed-on: https://gerrit.instructure.com/156448
Tested-by: Jenkins
Reviewed-by: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Anju Reddy <areddy@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
2018-07-07 00:01:58 +00:00
Anju Reddy 56c02eba10 spec: update path to consul.yml
Change-Id: Iaefb412ca4e3e6b46f2d6ce7fe83fe4f515ab087
Reviewed-on: https://gerrit.instructure.com/153905
Reviewed-by: Rohan Cheeniyil <rcheeniyil@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Tested-by: Anju Reddy <areddy@instructure.com>
2018-06-14 21:19:33 +00:00
Robert Lamb 07d9b2dd1e spec: add script to publish generic consumer pact
Add script to publish the generic consumer pact to
the inseng pact broker.

It relies on the environment variables PACT_BROKER_USERNAME
and PACT_BROKER_PASSWORD, so remember to set them in your
environment.

- updated path to consul.yml

Change-Id: I9b96d24a5ffda2851ba3888d8aee612334ca4d6d
Reviewed-on: https://gerrit.instructure.com/153681
Tested-by: Jenkins
Reviewed-by: Anju Reddy <areddy@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-06-14 17:13:07 +00:00
Michael Hargiss 992dae5042 fix pact script
Test Plan:
  - qa-cr if your name is Anju

Change-Id: Iea1bf31947eb5f4ab74abfc53bdaa2192989ca20
Reviewed-on: https://gerrit.instructure.com/153771
Reviewed-by: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Michael Hargiss <mhargiss@instructure.com>
2018-06-13 23:34:58 +00:00
Ryan Shaw e415eaa961 Use yarn workspaces
Run `script/nuke_node.sh` to clean everything up
Run `yarn install` it should install everything for everything
Run `yarn build` and `yarn test` they should work exactly as before

Change-Id: I11a27ff2d705c6cbb3b3f9029dd8b32138706146
Reviewed-on: https://gerrit.instructure.com/151356
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-04 20:02:02 +00:00
Tucker McKnight 72bc724fb3 spec: Move generic consumer tests into pact folder
This also moves the pact_config.rb file into the pact folder.

The line filtering :pact tests has been removed from spec_helper.rb,
since rspec won't try to run them anyway now that they aren't in the
spec folder.

Change-Id: I1d8f27f4f30aa2cdc85e570deb7e0aa2cdb89c66
Reviewed-on: https://gerrit.instructure.com/152144
Reviewed-by: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Jenkins
Product-Review: Tucker McKnight <tmcknight@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
2018-06-04 17:11:00 +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
Michael Hargiss 5f7d03b97f upgrade pact, allow native live events contract testing
refs QUIZ-4175

Test Plan:
  - in the quiz_pact_broker repo:

      bin/dev-setup

  - in the quiz_lti repo:

      bin/dev-setup && bin/contracts-generate

  - in this repo, spin up canvas natively (without docker), then:

      bin/contracts-verify-live-events

  - single spec should pass

Change-Id: I816c9925bd4d02c7372dd123de26798268bf88a3
Reviewed-on: https://gerrit.instructure.com/148889
Tested-by: Jenkins
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Product-Review: Jeff Belser <jbelser@instructure.com>
QA-Review: Jeff Belser <jbelser@instructure.com>
2018-05-02 15:15:06 +00:00
Michael Hargiss 7293ebc942 add quiz lti contract tests for live events
refs QUIZ-4175

Test Plan:
  - qa-cr for now. A subsequent commit will include a comprehensive
    test plan once the Quiz LTI contract test is published.

Change-Id: I2ffe962d8a626994614f3cc904d131e41e3a00b1
Reviewed-on: https://gerrit.instructure.com/145857
Tested-by: Jenkins
Reviewed-by: Mark Grant <mgrant@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
2018-04-10 14:20:18 +00:00
bootstraponline 0a19298e1c Add lint script for open source
Test Plan

Run script locally and check for output.

Change-Id: I3134d7c666a9feebd3aa6b862334320a1dfbf00d
Reviewed-on: https://gerrit.instructure.com/143083
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Product-Review: Matthew Edwards <medwards@instructure.com>
QA-Review: Matthew Edwards <medwards@instructure.com>
2018-03-12 16:17:38 +00:00
Ed Schiebel ec05f824fc Put finishing touches on planner under canvas
- update README with new instructions
- update how canvas runs sub-package tests
- remove planner's test server

closes ADMIN-742

test plan:
  - when jenkins runs, check to see that planner's tests run too

Change-Id: I2493b65f580c76b28f225f1330e99e1ceb1378b4
Reviewed-on: https://gerrit.instructure.com/139882
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-02-21 17:49:03 +00:00
Landon Wilkins 9f47ed9a91 copyright linter auto correct, refs SD-2295
test plan:
* create a new file "test.rb"
* add "AUTO_CORRECT_LINTERS=1" to your .env
* install the pre-commit hook:
  echo "bin/lint" >> .git/hooks/pre-commit
  chmod +x .git/hooks/pre-commit
* git add .
* git commit -m "this should fail"
* verify the commit fails
* add the auto-corrected test.rb
* try to commit again
* verify it commits successfully

Change-Id: I3d52d6b192ca3bd83266a3e58d594acc3c516782
Reviewed-on: https://gerrit.instructure.com/111088
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-05-11 20:06:08 +00:00
Cody Cutrer 095e760ad4 update spring and binstub
fixes `bin/rake css:styleguide` and gemfile confusion

Change-Id: I4f46b9fdb2e610b4ff64af49b888f33aea0cdbdb
Reviewed-on: https://gerrit.instructure.com/92163
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2016-10-06 20:25:33 +00:00
Ben Rinaca a1a3fc26ba avoid port conflicts for remote debugging
if you're backgrounding multiple services on the same host in
development (ex: pow) then byebug_server would not be able to bind and
would cause your canvas to barf when booting. this change makes it so
it'll auto-assign ports and it also updates the byebug-remote to just
connect to the last one that had started.

also only starts byebug server if REMOTE_DEBUGGING_ENABLED is set, which
will be default for canvas docker development environment.

Change-Id: I646209e6bec64777945c56c45a3db29b847eb159
Reviewed-on: https://gerrit.instructure.com/81260
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ben Rinaca <brinaca@instructure.com>
QA-Review: Ben Rinaca <brinaca@instructure.com>
2016-06-02 15:37:32 +00:00
Ben Rinaca a9865a0136 Add support for remote debugging
Using remote byebug means you don't have to alter the configuration of
your docker containers to get a byebug session. Also makes it possible
to byebug a running job.

This will only run byebug when the process is started outside of a TTY,
ex: in a docker container, so that we're sure we don't interfere with
byebug when running locally instead of in docker.

Also add some notes on how to use pry-remote if someone prefers pry over
byebug.

Change-Id: I38b4365ce2ab7536bf16548f26a37b951273b792
Reviewed-on: https://gerrit.instructure.com/80772
Reviewed-by: Mark Severson <markse@instructure.com>
Tested-by: Jenkins
Product-Review: Ben Rinaca <brinaca@instructure.com>
QA-Review: Ben Rinaca <brinaca@instructure.com>
2016-05-31 22:11:35 +00:00
Derek Bender 53f134657e use binstubs for dress_code for spring
fixes CNVS-25520

test plan:
 - all of the following commands should succeed:
   - $ bin/dress_code config/styleguide.yml
   - $ bin/rake css:styleguide
   - $ bin/rake canvas:compile_assets

Change-Id: Ia1a1d020675ca1337b76a280597903b798991a55
Reviewed-on: https://gerrit.instructure.com/68158
Tested-by: Jenkins
Reviewed-by: Strand McCutchen <smccutchen@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2016-01-06 18:44:23 +00:00
Brian Palmer 99de86e787 rails 4.0.10
Some of these tweaks to bin and config were made just to match what a
newly-generated rails4 project looks like.

Change-Id: I57a7c71e2ddd7f3295ffadf30cb0976c4d15db6a
Reviewed-on: https://gerrit.instructure.com/41186
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2014-09-16 22:07:39 +00:00
Cody Cutrer 51e987de62 add springified binstubs
also switch rails3 lockfile to the default, so the spring binstub can
use the default lockfile and see itself

Change-Id: Id10cbc3df010671a59c73137a77583e2c2e0e5a8
Reviewed-on: https://gerrit.instructure.com/37802
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-07-21 15:45:13 +00:00