Commit Graph

574 Commits

Author SHA1 Message Date
James Butters 0df511b6a7 use docker-with-flakey-network-protection
Change-Id: I3428fe1de818813aad448a631e16fb5d08d30475
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276855
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-10-26 20:58:44 +00:00
James Butters 22cebefa58 rspecq on or off, no percentage
Change-Id: Idaecd8bcb1542d2e3624b4d8c7e8420bf6cdad79
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276818
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-26 17:19:15 +00:00
James Butters 0e69a91cf3 do not run node if queue is empty
[use-rspecq]

Test Plan:
-Jenkins passes both with and without rspecq
-add sleep to one node, wait for queue to empty
  -node will not run any stages since queue is empty
-add sleep to one node, wait but still have tests in queue
  -node will still run stages and tests

Change-Id: Iace45f456c19284c6a338f5537a367917fd4f9c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275325
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-10-25 20:17:59 +00:00
Brian Watson 8a6e5e5e3e Upgrade FSC to allow list-child-specs option
closes OUT-4802
flag=none

Test-plan:
- test with a custom_reports PS referencing this
- see comments for expectations of FSC re-runs, compare against
  actual

Change-Id: I94ead7b61e37512231b558b16b57a8bfb2cff4c8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276101
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-10-18 20:35:42 +00:00
Weston Dransfield 884495090a Fix string interpolation in some builds
Refs MAT-241
flag-none

Test Plan:
Check that command now interpolate SSH_USERNAME
in the package-translations build

Change-Id: I2268ebb04da58d1d02eeda7438c5349bbc1a7f09
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276083
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-15 18:32:44 +00:00
Brian Watson 45d068547a Revert "Upgrade FSC to allow list-child-specs option"
This reverts commit cd45dc7416.

Reason for revert: need to fix gem specs in FSC

Change-Id: I8e0d9bcc0fedeb50b5b876fe158414dbad8858b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275843
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-10-15 18:26:40 +00:00
Brian Watson cd45dc7416 Upgrade FSC to allow list-child-specs option
closes OUT-4802
flag=none

Test-plan:
- in PS1 builds,
  - examine changed specs and match it up with FSC queued up tests
  - in Jenkinsfile.selenium.flakey_spec_catcher, examine output, the new
    "raw result from catcher" and "raw result from splitter" should output
    similar lists
  - examine any differences and whether they are noteworthy or not
- in PS2 builds,
  - verify that FSC sub-build still functions after removing splitter

Change-Id: Icae697f1cedca8ab9a775a1f394891d4ca2007a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275765
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-10-14 21:08:32 +00:00
James Butters d3f90b67a5 Move threading to bash script
[use-rspecq]

threading in the groovy script causes each process to act as a stage
and severely slows down each step. Move the threading into a bash
script similar to how rspec/selenium are currently ran.

flag = none

Test Plan:
-Jenkins Passes
-Step timings are faster and each process is not separate stage

Change-Id: I520c5c6ceecb717d64eee75e02913cf8ebfede00
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275903
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-10-13 20:47:22 +00:00
James Butters 0d1cd8daa6 fix build summary page to work with rspecQ
fixes: DE-878

Change-Id: I1012afec3f25e2ce26bb10505286c345b3d37f47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274685
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-10-06 17:30:51 +00:00
Ethan Vizitei eab0f468e0 reset message bus settings to avoid state pollution from specs
refs FOO-2423
flag=none

TEST PLAN:
  1) run pulsar specs lots of times with many seeds
  2) they don't fail.

Change-Id: Ide7fbaebee5ddac37bf2db03d8699f32d1b57d56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275315
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-10-06 17:13:21 +00:00
James Butters bbfbbf3f1f default rspec_processes in jenkinsfile
flag = none

Change-Id: I7625b082367b9de6b977e31d93fbe6d738949677
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275164
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-10-04 23:20:55 +00:00
James Butters 6812a7cb78 only set RSPECQ_REDIS_URL if using RSpecQ
[use-rspecq]

flag = none

Change-Id: I2e2a8ed8c878c0da4ac04f62b321ee740410fac9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275093
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-10-04 14:35:27 +00:00
Kyle Rosenbaum 17d512c664 cleanup env variable interpolation
[use-rspecq]

Change-Id: I6eb610e9dda006c2acb5f394dc99777e7bd4331e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274578
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-09-29 21:00:12 +00:00
James Butters 070d7883c3 default rspecq password if not found
Change-Id: Ibd0139749979da87a56d09461459bac689ba7b49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274532
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-09-27 18:15:27 +00:00
Cody Cutrer b68d11de70 rubocop: go back to a single .rubocop.yml
it was just too confusing on which one an editor is using, double comments
in jenkins, etc.

this is accomplished by several things:
 * required cops are just marked as severe, instead of using a separate
   config for them, and failing if anything shows up from that config
 * get rid of all the logic to only include certain directories for
   certain cops. turns out it's not _that_ ominous to correct errors
   across the entire repository before marking a cop as required.
 * but still auto-generate config to turn _off_ autocorrect for
   non-severe cops. this is important because auto-correct must run
   for entire files, and we don't want it auto-correcting optional
   things that you didn't touch.
 * update gergich to get more details from the parsed comments.
   this plus the prior point means we _don't_ have to have heavy mode when
   in autocorrecting, but we still display out-of-context lines that were
   autocorrected

this also makes it so we can use per-dir .rubocop.yml files again, so
take some of the exceptions out of the root and put them in their own
directory

Change-Id: Ie936d1a9920b68910acd250ba817c7b4a670b958
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274394
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-27 17:21:02 +00:00
Kyle Rosenbaum 853637feda fix rspecq_redis_password warning in Jenkins
[use-rspecq]

Change-Id: I3d9e21acfc2252e5484807e3a65746f4985a55ac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274212
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-09-27 15:28:36 +00:00
Cody Cutrer bac7328a6e rubocop: run enforced config in heavy mode on jenkins
Change-Id: I42c9a8e6ab8cdd303c35e0d8d9756c783a653c69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274038
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-21 20:41:02 +00:00
Cody Cutrer e9d63396ff rubocop: split configuration
* remove spurious .rubocop.yml override files
 * split the configuration into an enforced and optional
 * run both configurations in jenkins (may result in some duplicate
   comments at different levels)
 * auto-correct the enforced configuration in the pre-commit hook
 * fix comments for Gemfile.d and the root dir; enforced configuration
   is only applied to that directory for now

Change-Id: I8da21073d74e19138b1b580d66c7aae6465348d4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273898
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-21 16:02:22 +00:00
James Butters 1233a0b886 move RSpecQ node count, file split, and requeues to canvas-builds config
[canvas-builds-refspec=467ec8d3c67450c44b02312c557233bb9b97a64c]

flag = none
refs: DE-849

Test Plan:
- Jenkins passes with corresponding canvas-builds sha

Change-Id: I3256d79173e9e64bdea952837e97996eb33fa87a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273554
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-09-16 18:41:43 +00:00
Kyle Rosenbaum 2a7f48ad61 set RSPECQ_ENABLED=1 when using use-rspecq commit flag; refs DE-822
test plan:
-set use-rspecq commit
-verify env var RSPECQ_ENABLED=1

Change-Id: I923cd7abc67535ffd5d38d09e7492320c27c760a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273712
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-09-16 17:19:14 +00:00
James Butters e33386240c move rspec, selenium, and rspecq process count to canvas-builds
[canvas-builds-refspec=2450c492e6342da15bdbabbe79bf6a21edc987df]

Test Plan:
- Jenkins passes with the corresponding canvas-builds commit
- Jenkins passes with canvas-builds commit and rspecQ

Change-Id: I45374a43a58b4240d862b2afb9e3cea9f67efcae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273441
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-09-15 15:29:41 +00:00
James Butters 3de24c2244 update-timings for RSpecQ on change-merged builds
each post-merge build will run update-timings to keep our
timings current. Also set file split threshold to high number
so we get accurate timings per file.

[use-rspecq]

Test Plan:
- Jenkins passes without rspecq
- Jenkins passes with rspecq
  - pre-merge:
    - RSPECQ_FILE_SPLIT_THRESHOLD equals 150
    - RSPECQ_UPDATE_TIMINGS equals 0
  - post-merge:
    - RSPECQ_FILE_SPLIT_THRESHOLD equals 999
    - RSPECQ_UPDATE_TIMINGS equals 1

Change-Id: I7c5e57fa6576c8b0cd1d724ae0b6958ceeb2707b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273267
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-10 19:16:27 +00:00
Kyle Rosenbaum 3a3ececdfc add ability to run rspecq A/B testing; refs DE-822
[pin-commit-multiple_root_accounts=b29762c8bf01c2ffd52494f7e61df26aab6af921]

this adds the ability to run rspecq based on percentage of
times executed. this defaults to 10% and can be modified using
the env variable RSPECQ_EXPERIMENT_PERCENTAGE

test plan:
-in approximately 10 builds, rspecq executes at least once.

Change-Id: I7b6709c28b2f0344dfa253cb006ad779d673ccdc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273048
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-09-10 18:48:15 +00:00
James Butters 27e6cc245b spec: skip certain flakey specs if RSpecQ
[pin-commit-multiple_root_accounts=eeb2c3571469a46b5bec97cd789ae5f86c0cd241]

Test Plan:
- Jenkins passes normal build
  - tests are not skipped specific to this gerrit
- Jenkins passes RSpecQ build
  - tests are skipped

Change-Id: Ibbec7b21f601fe242dd683e72cd3721d8a8a9eb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273134
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-09-09 19:08:52 +00:00
Kyle Rosenbaum d310b75f47 add RspecQ under feature flag; refs DE-803
RspecQ can now be used to run tests using the
'use-rspecq' commit message feature flag

test plan:
- build runs as normal without use-rspecq enabled
- enabling use-rspecq commit flag runs tests using rspecq,
no tests run via old rspec/slenium groups
- test numbers match between differing builds
- build artifacts are created with or without feature flag
- build summary report works with or without feature
flag

Change-Id: Ibaf32177a8ec28a89278eaa4277bd7a752cbfc58
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272130
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-09-01 20:26:52 +00:00
Cody Cutrer d75dd18a3a don't fail jenkins if there is a rubocop offense
gergich will process it and -1 it instead

Change-Id: I554ee1e63586bf27238b3cf0fc7fb70f1d2fe2c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272252
Tested-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-08-25 22:21:20 +00:00
Cody Cutrer 3587f79b14 separate rubocop gems into a dedicated gemfile fragment
so that we can reference only that fragment from our binstub
(which is de-springified), making it run significantly faster

Change-Id: I4f602e6c4d1feecf74eccd66e610781c76756ffc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271957
Tested-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-08-25 16:24:44 +00:00
Ryan Norton 7e87dd9242 add detail to feature flag linter
this adds some details around who and what is changing when
a user modifies a feature flag

flag=none

Change-Id: I36f6107aa1a0509243c2b169d017cd037451f51a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271559
Tested-by: James Butters <jbutters@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-08-17 16:25:16 +00:00
Ethan Vizitei dde25f0ffb async pulsar message producer
refs FOO-2198
flag=none

update AUA log compaction specs
to allow threaded queue to drain

TEST PLAN:
  1) be sending messages over pulsar in AUA
  2) cause some timeouts somehow
  3) pulsar messages back up in memory
     but canvas requests don't slow down.

Change-Id: I311f9d30699d6d07a58a80065a0d939472a2178e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/269906
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-07-26 17:50:08 +00:00
Aaron Ogata f87f9b72e7 report feature flag changes for approval
refs DE-777

Change-Id: I4bfa74ec75894eb93660e2e8ef0e1d75ec51d927
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/269865
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
2021-07-26 13:40:27 +00:00
Kyle Rosenbaum 3ec1d45704 fix jenkins dev branch builds
we had a typo in call function

test plan:
- dev builds rebase successfully

Change-Id: I81c1334f05e2f6083d5e1d83147187877a547357
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/268469
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-07-13 23:12:22 +00:00
Andrea Cirulli 8c75975b9d update cache version for docker and migrations
Since we are switching the main build to ruby 2.7 from 2.6
we want to rebuild the docker images and the migrations.
In order to do that we need to update the CACHE_VERSION var.

refs DE-745

test-plan:
- Jenkins build passes

Change-Id: Ia910603d14d7e9a5eacca7ead79a3e64ac822def
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/268795
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-07-12 17:37:30 +00:00
Kyle Rosenbaum e2eb4fe25a remove calls to withStarlordDockerLogin
refs DE-719

withStarlordDockerLogin was needed for EKS, but with EC2
no docker login is needed.

test plan:
  - EC2 builds continue to work as expected

Change-Id: Icbd3f28bf2ec6ec52c429c1eaf8fc6ce7bddd46b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267714
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-23 22:02:41 +00:00
Brian Watson 7693a35e6f Replace canvas-axe-selenium with stormbreaker
closes OUT-4491

flag=none

Test-plan:
- trigger axe build and results.html is appropriately created

Change-Id: Ibbab57c52b24152a49bc0912ea7ebb5638a7e657
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266394
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-06-23 20:19:51 +00:00
Kyle Rosenbaum 5677d7531d remove docker_base podTemplate usage, cleanup nodeRequirements usage
refs DE-718

test plan:
  - EC2 builds continue to work as expected

Change-Id: Ibed627a4e1d4b1e40520036df2b8a4e1d29d5fcc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267159
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-22 15:19:48 +00:00
Aaron Ogata 682da3f865 convert vendored gems to extendedStage
refs DE-716

Change-Id: I7b3da7250a5c7ba815bae54ce91505c5b9b2a70b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267160
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-06-15 18:21:22 +00:00
Kyle Rosenbaum 0e6ec8ff2e remove EKS specific keys from nodeRequirementsTemplate
refs DE-717

test plan:
 - EC2 builds continue to work properly

Change-Id: I1bc92605cae1f4b246752c3fb032961b65c80bf6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267156
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-15 17:43:16 +00:00
Aaron Ogata 9c6e169d55 convert contract tests to using docker bridge network
refs DE-715

Test Plan
1. Contract Tests passes

[canvas-builds-refspec=755cccfd95de9aafca779c0a1f5697fc9eb40b6f]

Change-Id: I077ae015ca7c50cf4d8774958438a948649c2fbf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267131
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-06-15 16:37:49 +00:00
Aaron Ogata 3dbf596e03 convert contract tests to EKS-compatible syntax
refs DE-707

Change-Id: I0d823124c25b879ff3c572240720f39ba9371909
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267009
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-06-15 13:57:51 +00:00
James Butters bfc3a16b63 fix linters code build for plugins
linters on plugin builds are currently failing because we are trying
to run git commands from /usr/src/app rather than the plugin
directory.

flag = none
closes: DE-713

Test Plan:
-Build passes
-plugin build with changes passes

Change-Id: Iad5b6275845e47159910e964993c71f40bf19672
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267100
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-06-14 22:50:19 +00:00
Aaron Ogata 3998b7a026 convert contract tests to extendedStage pattern
refs DE-707

Test Plan
1. Test count aligns with current master
2. Outcomes publish API step doesn’t publish on pre-merge and does publish on post-merge

Change-Id: Ic69f9b74137ffd36fc5a0964e5880a59457fca36
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266983
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
2021-06-14 15:29:15 +00:00
Aaron Ogata 5d33184845 convert linters to EKS-compatible syntax
Test Plan
1. Linters works on EKS
2. Linters works on EC2
3. Linkers runs appropriate stages
4. Yarn changes run appropriate stages
5. Groovy changes run appropriate stages
6. Linters reports back to patchset via gergich

Change-Id: I6c50ab5a6be2e1b7031b56c70ee6e2727e92580e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266509
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-11 20:04:35 +00:00
Aaron Ogata 9be94c6f23 restructure filesChangedStage for reusablity
refs DE-706

In order to access the buildConfig variables without duplicating constants in other shared library files, restructure this stage to be in its own files, and provide helper methods for getting / setting changed file state.

Test Plan
1. Normal build runs appropriate stages.
2. Local docker dev changes runs appropriate stages.
3. Groovy linter changes runs appropriate stages.
4. Migration changes run appropriate stages.
5. Spec changes run appropriate stages.
6. Yarn changes run appropriate stages.

Change-Id: I72e35d2b45d4842e195cc27351327a6907b073b7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266957
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-06-11 18:57:46 +00:00
Aaron Ogata 90dff6b5ea remove runAsUser root hack
refs DE-706

Test Plan
1. JS job passes

[canvas-builds-refspec=84d438a4b44cd177a0734d468a801fd1a15a333c]

Change-Id: I124a34dc26c018d4205ec32116490052a8655e6a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266849
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-06-11 16:06:12 +00:00
Aaron Ogata 3400c31a83 convert dependency check stage to using npm
refs DE-706

The snykSecurity() plugin doesn’t seem to work on EKS, fortunately we can convert it to using the npm package instead which also reduces complexity.

Test Plan
1. Dependency check runs and reports results to snyk on EC2
2. Dependency check runs and reports results to snyk on EKS

Change-Id: I317ffe8c90cda6754a2ad5df7227224450b86546
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266779
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-06-10 14:10:41 +00:00
Aaron Ogata 0fbf4b027f convert JS job to EKS-compatible syntax
refs DE-687

Convert jobs over to EKS-compatible syntax in order to perform AB testing on EKS builds.

Test Plan
1. EC2 builds JS job with correct number of test results
2. EKS builds JS job with correct number of test results

[canvas-builds-refspec=3f9a35ef55d38ac885c3a4daef03e7e19cd8f4e7]

Change-Id: I350f2983eebeda4aa634daba0579389b3b987c6b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265580
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-07 23:05:24 +00:00
Aaron Ogata c52da6c883 move JS distribution to jsStage
refs DE-687

Test Plan
1. Test counts align with current master

Change-Id: I1900817b51f0857c6e22ea8361683cc08f61a19f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266448
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-07 16:07:31 +00:00
Aaron Ogata fe5d819183 stop passing delegate manually as function argument
refs DE-687

Test Plan
1. JS test count equals master test count
2. "expected to call" CPS warning doesn't appear

[canvas-builds-refspec=5a9ac2821ed203759e4f0e37f579774a210c81ba]

Change-Id: Id5e5c8c3b80ad5483f8b08913806b2195401e334
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266238
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-06-03 19:58:12 +00:00
Aaron Ogata 37da99de3c move js stages to shared library
refs DE-687

Test Plan
1. All JS test counts align with latest post-merge

Change-Id: Id803db3f13999e149ecb2dfed32efc66dac61c76
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265419
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-05-21 15:20:26 +00:00
Aaron Ogata e76b7d4274 move docker copy operations to tearDownNode
refs DE-687

Test Plan
1. All test counts align with master for JS jobs

Change-Id: Iffe8ca4f873429b258269d371da3c67c1363a0e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265395
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-05-20 20:16:53 +00:00
Aaron Ogata 55442143fd align all JS output directories to single directory on Jenkins
refs DE-687

As part of our work on EKS, we need to align the EC2 / EKS paths to pull artifacts from the same path on the container and host. As a step towards that, ensure that all containers output their test files to the same directory.

Change-Id: I312fb5f8505122c68ba5aaba30730aa5c1887177
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265370
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-20 17:28:03 +00:00
Andrea Cirulli 70bb73c35b add jenkins file to the groovy linter stage
refs DE-690
flag = none

test-plan:
- Build passes
- Build trigger groovy linter stage if a change to Jenkinsfile is
made
- Build fails if a Jenkinsfile has linter issues

Change-Id: Ifdabb4f28f6124afcb6621844375a8de4b35d453
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265279
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-19 20:51:13 +00:00
Andrea Cirulli 796257539e fix linter rules
Fix following linter issues:
- ParameterName
- CouldBeSwitchStatement
- UnusedMethodParameter

refs DE-690
flag = none

test-plan:
- Build passes
- QA build that triggers FSC and executes the spec changed

Change-Id: I11baf5094e96d33bc6be7f5f03d680f34cc1d026
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265266
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-05-19 15:43:33 +00:00
Brian Watson 62db8b77ee Add parsed results as csv to axe selenium
flag=none

closes OUT-4438

Test-plan:
- see axe build corresponding to latest PS
- in Build Artifacts under tmp, there should be axe_results.csv
  compare it against Test Results and verify that specs are mapped
  to specific a11y violations
- in Build Artifacts, verify that rspec_results with nested xml files
  are archived for axe build but not for main build

Change-Id: Ic8c9ccbe9350bde0d0fd6914f16330ca5155a95b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264673
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-05-18 22:56:14 +00:00
Aaron Ogata a1a55bd406 Revert "split rspec / selenium stages by thread"
This reverts commit c131c39e3d.

Reason for revert: broke Jenkins

Change-Id: I9b6f25f4b6f2128cae7e763073d3a3eadcd0ea30
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264748
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-18 13:55:22 +00:00
Aaron Ogata 390b69a59c Revert "remove run-and-collect-output script"
This reverts commit d84b446c6a.

Reason for revert: broke Jenkins

Change-Id: I67a18233892276ce4a7a273aee6a75504fffad27
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264752
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-18 13:55:19 +00:00
Andrea Cirulli 7a01e4977e add groovy linter stage
refs DE-643
flag = none

Add a linter stage for groovy to the main build:

- Build passes
- Build passes and trigger groovy linter stage if no
linter errors are present
- Build fails on groovy linter stage if a linter issues
is found

Change-Id: I8f3c2f2f577227854e19b1af83400018a4c792db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265024
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-17 19:43:03 +00:00
Aaron Ogata 073788ed9d movs JS setup / tear down functionality to new pattern
refs DE-687

Test Plan
1. Each JS stage executes all tests
2. Each JS stage build report summary works for failures

Change-Id: I2f9c9347ff6caac22ef3785e6a1a298870961f79
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265049
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-17 18:08:13 +00:00
Aaron Ogata d84b446c6a remove run-and-collect-output script
refs DE-644

Test Plan
1. Selenium performance Chrome build starts / runs the relevant tests (build currently fails on master)

Change-Id: I6f200eaea179664ec248b478868e3c31b4373e70
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-17 17:31:25 +00:00
Aaron Ogata c131c39e3d split rspec / selenium stages by thread
refs DE-644

[canvas-builds-refspec=c30dc5a5768e38eb7ef483a6b8b5e7c30af8a25d]

Test Plan
1. RSpec / Selenium use correct number of nodes and run correct number of tests
2. RSpec / Selenium retry according to RERUNS_RETRY value
3. Build Summary Report generates correctly

Change-Id: I886e41a8712bda5a98f58eee0ba42d034a08db25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265014
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-17 14:11:02 +00:00
Aaron Ogata 3f929c0bd2 move rspec / selenium runner to rspecStage
refs DE-444

Test Plan
1. RSpec / Selenium use correct number of nodes and run correct number of tests

Change-Id: I8d6524620e2407ee5a58cb3edb6d7a691ab92763
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265008
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-14 19:03:02 +00:00
Aaron Ogata 782b134074 move rspec / selenium tear down hooks to correct location
refs DE-444

Test Plan
1. RSpec / Selenium use correct number of nodes and run correct number of tests
2. Build Summary Report shows test results + HTML page

Change-Id: Icf39240c8f26e78024f4211ed7b12d3c61426b70
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-14 18:30:50 +00:00
Aaron Ogata e74037bf87 move rspec / selenium node setup functions to new format
refs DE-444

Test Plan
1. RSpec / Selenium use correct number of nodes and run correct number of tests

Change-Id: Ie95d0a504ae52ffa8e3540f3bc4facbed9d4fcad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265000
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-14 18:00:35 +00:00
Andrea Cirulli 17497b474c fix/skip linter rule issues
fix and skip following linter rules:
- PublicInstanceField
- NoWildcardImport
- UnnecessaryGString

test-plan:
- build passes

Change-Id: I9ad968b6770bf57f0b19e8bd1d04b878301a858b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264998
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-14 17:37:29 +00:00
Aaron Ogata 80330a434a remove unnecessary rspec / selenium stage runner wrappers
refs DE-444

Test Plan
1. RSpec / Selenium use correct number of nodes and run correct number of tests

Change-Id: I6a58419513becc2cf587b65e05df3ed75ff6fe43
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264996
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-14 17:19:53 +00:00
Aaron Ogata d7bb432cef move environment variables to correct location
refs DE-444

Test Plan
1. RSpec / Selenium obey force failure flag
2. RSpec / Selenium retry once upon test failure
3. RSpec / Selenium use correct number of nodes and run correct number of tests
4. Parallel log build works

[canvas-builds-refspec=5d46b7af0f1d5beb710b02863cf7b98689d0c332]

Change-Id: I7dbc2548f949ec307dec8e7d73d041ab24256072
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264978
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-14 17:05:57 +00:00
Aaron Ogata e6e2759196 integrate rspecConfig() and seleniumConfig() into their callers
refs DE-444

Test Plan
1. Rspec / Selenium use appropriate number of nodes
2. Rspec / Selenium retry only once
3. Force failure flag works

Change-Id: I2fde387b410b895f9cf0cade9e5986ee34dd8391
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264904
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-13 15:23:22 +00:00
Aaron Ogata 892b3bee6a move uploadParallelLog call to associated job
refs DE-444

This function is only used in one place, and we need to remove this file, so just integrate it into the calling job itself.

Change-Id: Ibda768b6672e1090947e72b1dd820662d895ab7b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264902
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-13 15:10:43 +00:00
Aaron Ogata 71207a592f remove unused MAX_FAIL variable
refs DE-444

This extra parameter isn’t used anywhere, so remove it.

Change-Id: I487e7a6d73fdd218f87263fdf1a8970057ae3ef8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264900
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-13 14:40:37 +00:00
Aaron Ogata 9e10e34935 prepare rspec / selenium stage generation structure
refs DE-444

Modify the generation of these stages to align with our new extendedStage() conventions in preparation for a refactor of how the stage internals are implemented.

Test Plan
1. All RSpec stages are queued and run the correct tests
2. All Selenium stages are queued and run the correct tests
3. Parallel log build works correctly

Change-Id: Id0a35f84ddf8471f1f06eede608d6ad4dc964dea
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264870
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-05-13 14:23:55 +00:00
Aaron Ogata dd382af5d9 remove unnecessary patchsetTag parameter
refs DE-444

This extra parameter isn’t needed, the cases that use it already have access to env.PATCHSET_TAG.

Change-Id: I60778b9efaccb49c4a2ca64ab0cf37c2f3f83c1e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264874
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-13 14:14:20 +00:00
Aaron Ogata c0d3dc25ee remove old coverage code from JS job
refs DE-462

As part of the EKS transition, we need to restructure the JS stages. The coverage code is currently not working and will get in the way of this transition. Remove it for now and refs the coverage restoration ticket so when we bring back the coverage build the code is here for viewing.

Change-Id: I7437584107ac13a79000d43f5c14baa31dac5027
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264864
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-12 22:19:42 +00:00
Aaron Ogata 03ed3ace4b remove old coverage code from rspec / selenium
refs DE-462

As part of the EKS transition, we need to restructure the rspec / selenium stages. The coverage code is currently not working and will get in the way of this transition. Remove it for now and refs the coverage restoration ticket so when we bring back the coverage build the code is here for viewing.

Change-Id: I137e7c20674542aac31184c6fd7aa648b6656362
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264859
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-12 22:08:32 +00:00
Kyle Rosenbaum 347f73b172 remove docker_processes from core rspec and selenium test runs
refs DE-467

it is no longer possible to spin up multiple docker containers
ona  single rspec or selenium agent when running tests. parallelization
is now exclusively done through multple rspec processes on
a single container.

test plan:
- setting docker_processes ENV variable has no effect
- settting rspec_processes still runs multiple test threads
- tests continue to run as expected given that docker_processes has
been set to 1 for multiple months.

Change-Id: I604d953a71ad220373b6a71d558f46bff29f820e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263701
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-05-12 19:47:12 +00:00
Kyle Rosenbaum 3b9f616401 add RSPEC_PROCESSES to Flakey Spec Catcher
refs DE-467

this change will require a followup to remove
DOCKER_PROCESSES.

test plan:
-run FSC with a changed spec.
-FSC runs the modified spec 30 times, 10 times in each thread.
-run FSC with multiple chnaged specs

Change-Id: I640c7b87e439db3c7efb42ac4e7f81e10dcbc5c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264703
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-05-12 00:18:44 +00:00
Andrea Cirulli 5f76e48163 fix UnusedMethodParameter linter issue
refs DE-643
flag = none

test-plan:
- Build passes

Change-Id: I4e00b018158c33f823bae8ebeea1f4e4c37721d3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264706
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-11 20:13:03 +00:00
Kyle Rosenbaum 0ed675c96b Revert "add RSPEC_PROCESSES to Flakey Spec Catcher"
This reverts commit d8fba6977b.

Reason for revert: Broken

Change-Id: I2a0feea7fac815a8a1abcecf4be0d9fdfb909174
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264019
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-05-11 18:40:10 +00:00
Kyle Rosenbaum 6370f7da0d Revert "modify flakey-flakey-spec-catcher to ONLY use RSPEC_PROCESSES"
This reverts commit bff2124548.

Reason for revert: Broken

Change-Id: Idbcede420c54db8cce570aa0ac275934daa649de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264018
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-05-11 18:37:18 +00:00
Kyle Rosenbaum bff2124548 modify flakey-flakey-spec-catcher to ONLY use RSPEC_PROCESSES
refs DE-467

Change-Id: If7b4158f752f8b8ab4982dbb2f667db1c17e349e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264689
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-05-11 18:12:29 +00:00
Kyle Rosenbaum d8fba6977b add RSPEC_PROCESSES to Flakey Spec Catcher
refs DE-467

this change will require a followup to remove
DOCKER_PROCESSES.

test plan:
-run FSC with a changed spec.
-FSC runs the modified spec 30 times, 10 times in each thread.

Change-Id: I26755f6b9c3bf63267eb9d1ac648901d67ee41df
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264129
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-05-11 16:45:43 +00:00
Aaron Ogata 35a01d7e8c move dependency check stage to linters node
refs DE-670

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. As part of this work, transition the dependency check stage to running as part of the Linters set of stages.

Test Plan
1. Dependency Check runs correctly on post-merge build
2. Linters runs correctly on pre-merge build

Change-Id: I16d9fb63b40b6eb9f8e24b4f5c4253538e91bbf0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264653
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-11 14:25:37 +00:00
Aaron Ogata db761b4f69 Revert "move dependency check stage to linters node"
This reverts commit 88829e1074.

Reason for revert: broke post-merge

Change-Id: I91384fd9c2a698eaabe02d1c63a959b8846a749b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264016
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 23:47:19 +00:00
Aaron Ogata 88829e1074 move dependency check stage to linters node
refs DE-670

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. As part of this work, transition the dependency check stage to running as part of the Linters set of stages.

Test Plan
1. Dependency Check runs correctly on post-merge build

Change-Id: Ifc9790e481e7d6cf7ba81e9f78b804a955f266b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264589
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 23:32:31 +00:00
Aaron Ogata 0194f77f2e pre-pull linters image as part of setup
refs DE-670

By pulling the image as part of setupNode, we get flakey network protection and also only pull the image once per build, instead of once per parallel stage.

Change-Id: I77b2d63a3ab971067604c30001387bbf67ad6c4a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264590
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 23:31:51 +00:00
Aaron Ogata f8f556d866 split linter stages into own node
refs DE-670

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. As part of this work, transition linter stages into their own node as a sibling stage to Builder.

Test Plan
1. Linters run correctly
2. allow-stages directive works with Linters
3. allow-stages directive works without Linters

Change-Id: Ieae121ae3e79b5e30864f9060042e4453a8093e6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264569
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 21:31:15 +00:00
Kyle Rosenbaum 531eda2a12 add RSPEC_PROCESSES to contract_tests
refs DE-467

this change will require a followup to remove
DOCKER_PROCESSES

test plan:
-run linters
-linters use expected db on a per thread basis

Change-Id: Ie0fee7d22a335899e6dac5490f4cadf567e4e32f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264294
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-05-10 21:10:47 +00:00
Aaron Ogata 20cce7ad2c remove antiquated linter scripts
refs DE-670

Remove scripts that are part of an old iteration of Linters that is no longer in use.

Test Plan
1. Linters passes and runs all appropriate linters

Change-Id: I773bc090c4d028695f81ff9982ccedab66c5228c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264562
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 20:26:15 +00:00
Aaron Ogata 8f2885814c merge master bouncer into Linters parallel stages
refs DE-670

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. As part of this work, transition Master Bouncer to using the Linters image since it uses Git.

Test Plan
1. Master Bouncer runs correctly

Change-Id: I8aa6d2f589326c4f88e313d423f023ec9af8a79f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264555
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 20:04:09 +00:00
Aaron Ogata c16a81dd02 always upload Linters image to starlord
refs DE-670
refs DE-500

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. To do this, the Linters stage needs to always upload its image so that EKS can pull it.

Test Plan
1. Linters properly reports to the correct gerrit for main builds
2. Linters does not become the runtime bottleneck

Change-Id: Ibe28d47c13f965ee468b49ce6a74e3d08b75715d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264549
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 19:25:44 +00:00
Aaron Ogata 2869b6e1cb remove need to mount .git directory as volume for Linters
refs DE-670

For the EKS transition, we need to ensure that the Linters stage doesn’t run on the EC2 builder node and instead properly uses EKS containers. To do this, the Linters stage needs to not depend on having the .git directory on the host machine.

Test Plan
1. Linters properly reports to the correct gerrit for main builds
2. Linters properly reports to the correct gerrit for plugin builds
3. Linters does not become the runtime bottleneck
4. Linters yarn.lock diff check works

Change-Id: I49650bfb3feece9614a667d3af5ec9dba8c2e838
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264539
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-10 18:57:42 +00:00
Andrea Cirulli 653fa0936e fix parameter name linter issues
refs DE-643
flag = none

test-plan:
- build passes

Change-Id: I5b324cec3b031754c40ac71595b6b6f86bc1ab65
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264431
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-07 14:27:56 +00:00
Andrea Cirulli f650b95f9a fix VariableName linter issues
Fix the linter issues and restore the previous behaviour of codeNarc
for final variables

  refs DE-643
  flag = none

  test-plan:
  - build passes

Change-Id: I16f5e388e32fe0aec6789f1f87b0da03b1eacc83
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264362
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-06 20:17:43 +00:00
Andrea Cirulli 6859b6eedf fix ImplicitClosureParameter linter issues
refs DE-643
flag = none

Change-Id: If4bc5c0ea42294e2ae1861d3ee802146fa10882f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264246
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-05 18:44:06 +00:00
Andrea Cirulli 19ad240abb remove all UnnecessaryPublicModifier linter issues
flag = none
refs: DE-643

Change-Id: I251321e6558ad1b7a0a36d1053a7b02f393bd233
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264178
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-04 18:23:21 +00:00
Ethan Vizitei 2244ec98ab AUA writes on message bus
closes FOO-1835
closes FOO-1837
closes FOO-1838
flag=none

TEST PLAN:
  1) enable aua on pulsar
  2) all aua log messages that go to the
     db also get sent to a pulsar topic

Change-Id: I0f90ab7c8aa32376a122e30a1c104a1651a507bf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263930
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-05-03 16:33:02 +00:00
Aaron Ogata e108e64784 apply formatting.ClassStartsWithBlankLine to linter
refs DE-643

Change-Id: I27c696a4c34a3109247b9da3c0158d19f44252c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264053
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-05-03 14:29:15 +00:00
Aaron Ogata 70b06aaa0b apply autoformatter to all files
refs DE-643

Change-Id: I9482afa27e6b8734640741fca784f971f782af26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264050
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-05-03 14:07:45 +00:00
Kyle Rosenbaum 72cba075d7 fix fatal: Not a valid object name master in linters
test plan:
-run linters on master branch

Change-Id: I1ba84324ea54e5480dc9416fa5fa2bb944030aab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263923
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-29 18:32:22 +00:00
Ethan Vizitei d815898134 make sure pulsar cert is on disk
and that we have a vault token

refs FOO-1842
flag=none

If a cert url is in the config, we need
to fetch and write it to disk before trying
to open a connection to pulsar or we'll
get failures.

Also add some config caching so
we aren't re-parsing the same YAML
blob over and over.

TEST PLAN:
  1) specs should pass
  2) be in a pulsar-enabled environment
      with a cert configured
  3) when you build a message_bus producer,
     the cert is fetched and written to
     disk at the configured path.

Change-Id: I2fb61badd05aedadb6d07475875692b30dd30db9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263687
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-04-28 15:36:05 +00:00
Kyle Rosenbaum 1e43e05241 add podTemplate and container definition to all applicable stages
refs DE-558, DE-582

[use-kubernetes]
[canvas-builds-refspec=24d3d83e8034ac6ad5380936498e1dcf01ab50eb]

modify the existing nodeRequirements to add podTemplate and
container definitions. initially, the podTemplate to be used
is docker-in-docker. the "use-kubernetes" flag must be set
as well.

test plan:
- build executes on k8s nodes in EKS when "use-kubernetes"
flag is set.
- build executes on EC2 when "use-kubernetes" flag is not set.

Change-Id: I13c68e5420bbf414532518eaf69ac82f9310bfbf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263257
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-27 19:47:25 +00:00
Aaron Ogata 4afde2cb63 split linters stage into multiple stages
refs DE-628

Test Plan
1. Ensure that code / webpack always run
2. Ensure that yarn linters run only when package.json or yarn.lock changes
3. Ensure that build summary report works when each stage fails

[canvas-builds-refspec=f2c74ae95319648ac9fe19f306d7067adda9c534]

Change-Id: I64eb9f794e00737b2f0b87a1d962a4aaaeb174d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263365
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-22 18:52:00 +00:00
Aaron Ogata 93bf8e655e uniqify master bouncer docker-compose project
When we moved Master Bouncer to run in parallel with Consumer Smoke Test, it created a race condition where 2 networks with the same name could spin up at once. Fix this by assigning a custom project name to Master Bouncer.

Change-Id: I7e2fb6e768cf1b2e472f5b3bcd1924ea4fb43dcf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263470
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-04-22 17:15:43 +00:00
Aaron Ogata 5ad6a24f34 split lintersStage setupNode / tearDownNode functions
refs DE-628

In order to improve the build summary report UX and also to increase compatibility with podTemplate / container, split the setup / tear down pieces of the Linters stage to prepare for moving each piece to its own Jenkins stage.

Test Plan:
1. All linters run and fail if error is found
2. Linters post status to gerrit
3. Plugin build Linters works

Change-Id: I4c4769eed80f201532edc34907f2428ceb465773
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263323
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-04-21 15:07:24 +00:00
Kyle Rosenbaum 16469f7cfa add support for EKS container to protectedNode requirements
refs DE-558, DE-582

[canvas-builds-refspec=f9c80c0ac4b80de60ac50633523e30d5c2eb28b1]

modify the existing nodeRequirements call to pass a Map containing
the label as well as the possibility of container or podTemplate
params. this change only modifies the existing nodeRequirements to
continue using EC2 agents, not EKS.

test plan:
- builds still work as expected acquiring nodes

Change-Id: I0458a13a4c85e37aeb2f5dc56347e27101705646
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263208
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-04-20 21:51:16 +00:00
Aaron Ogata 44d8ac1f73 move linters docker image vars to Jenkins stage
refs DE-628

Test Plan
1. All linters run and fail if error is found
2. Linters post status to gerrit
3. Plugin build Linters works

Change-Id: I085ba8c7af64e57882625613ee0ceb280e08a49c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263287
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-20 21:49:00 +00:00
Aaron Ogata 0a072dd68a move uploading linters debug image to Jenkins stage
refs DE-628

Test Plan
1. [upload-linter-debug-image] directive works

Change-Id: Ide32089b0c1f7c6bf4444d084a7353af7e507dc8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263280
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-20 21:13:52 +00:00
Aaron Ogata 07e94e2703 split linters script into 3 pieces
refs DE-628

In order to improve the build summary report UX and also to increase compatibility with podTemplate / container, split the linters script into 3 pieces to prepare for moving each piece to its own Jenkins stage.

Test Plan:
1. All linters run and fail if error is found
2. Linters post status to gerrit

Change-Id: I127337ee53438b10cb3c6bee3f94409618d79d20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263209
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-20 13:56:20 +00:00
Aaron Ogata 042f00b4d6 unify failed stage parsing logic
refs DE-619

Merge the current logic for handling the main build failures with the logic for sub-jobs to reduce complexity and ensure consistent handling.

Test Plan:
1. Ensure sub-job test results appear
2. Ensure rspec / selenium failure stages appear
3. Ensure sub-job failure stages appear
4. Ensure parent stages do not appear

[canvas-builds-refspec=6e70b5b572e9297f1cd06020ec61a551e7c0d323]

Change-Id: I7410cec5340714b3617a310f83549011a2a0ce0a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262979
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-19 23:09:35 +00:00
Aaron Ogata b7b9d8cc4d remove redundant node clean-up code
refs DE-338

The protectedNode() function now handles automatic cleanup before / after a node is used, so much of the code here can be removed.

Test Plan:
1. Main build passes, FSC passes

[canvas-builds-refspec=81cc926fe89d6efd9f604d0c573630318fb4eb86]

Change-Id: Ie21d242aabe9826353f05149abb304a85223cebc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/263149
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-19 16:37:23 +00:00
Ethan Vizitei a0624c197c MessageBus integration vector
refs FOO-1835
refs FOO-1850
closes FOO-1862

TEST PLAN:
  1) MessageBus specs actually run in build

Change-Id: Iaec6b7206830bd2d6d28177d8fc3b9aa4680a800
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262754
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-04-15 22:14:38 +00:00
Aaron Ogata 3027dcdbd7 rename handler to hooks
refs DE-628

[canvas-builds-refspec=a5aca2425b1f885f5fcb4298479c0081d73065ff]

Change-Id: I0581d820fc521fb4857c04a28804be1c9a2d19a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262947
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-14 22:50:58 +00:00
Kyle Rosenbaum bb4092d8c5 fix cat command output on thread timeout
this change also moves file command start and end notations
into the logfile for better readability in the event that
process dies due to timeout.

test plan:
- when process timesout, logfile is printed to console
after process has timed out
- logfile includes === START OUTPUT
- logfile includes === END OUTPUT

Change-Id: I6e19359e868bcb0b96ae58e0e0ad98022e808695
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262870
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-04-14 18:27:09 +00:00
Aaron Ogata 1a2b0052f1 convert extendedStage -> protectedNode to nodeRequirements() pattern
refs DE-621

Make the stage configuration aware of its node requirements for future EKS support and allowing nospot to be removed.

Test Plan:
1. RSpec / Selenium build works
2. Contract Tests works
3. JS works
4. FSC works
5. Vendored Gems works

[canvas-builds-refspec=480f3570a6a6ebee5cedaecbb3a089476a008215]

Change-Id: I6cb63df20abe8c1f913db4f1b21bb01bd4d30312
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262898
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-14 15:23:01 +00:00
Aaron Ogata e18887bf26 move docker cleanup to protectedNode() handler
refs DE-624

As part of making extendedStage() aware of stage node requirements, we need to remove consumers of the cleanupFn() functionality and replace them with extendedStage() compatible patterns.

Test Plan:
1. All stages execute correctly

[canvas-builds-refspec=07f1a75ee23f8f6a9a1bbe062316373b761e7a30]

Change-Id: Ica11b78ebead5c9239dea112677a077654c7090d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262814
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-13 18:02:41 +00:00
Kyle Rosenbaum f29ffc0d8e capture logs and archive logs if timeout of build occurs
refs DE-472
[flag=none]

test plan:
- force timeout of thread and view build artifacts
- force timeout of all threads and view build artifacts
- abort build and view build artifacts

Change-Id: Ic5f02a56d7c6f85b02d9dd33e51374a9f78e31fa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256891
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-13 15:58:50 +00:00
Aaron Ogata 3de82e1931 stop using buildkit for linters image
refs DE-608

When we pull the experimental syntax docker image, buildkit can fail with the error “failed to solve with frontend gateway.v0: frontend grpc server closed unexpectedly”. We don’t actually need buildkit or the experimental syntax for this image, so stop using it.

Test Plan:
1. Linters passes in main build.
2. Linters fails when webpack file size is wrong.
3. Linters uploads image when upload directive specified.

Change-Id: I6b508cbf7fc42d0d93b066804ba07dc994b9625d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262734
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-12 19:19:32 +00:00
Aaron Ogata ddc875d672 move file change detection into own stage
refs DE-617

In order to properly split the stages for nospot removal, none of conditional jobs in Parallel Run Tests should directly depend on a heavyweight executor to know if they need to run.

Test Plan:
1. CDC Schema Check triggers when migrations change.
2. FSC triggers when specs change.
3. Local Docker Dev triggers when related files change.

[canvas-builds-refspec=3828a4bcd9f172fb6cec7046742cb678e3e489bf]

Change-Id: I578e4665d382aa27f03932d172604b20a8a1497d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262551
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-09 15:17:20 +00:00
Andrea Cirulli 87b5082958 move setup stage to new conventions
Move all the logic related to the setup stage to its own
groovy file.

refs DE-615
flag = none

Test-plan:
- Setup stage works the same way
- Main build passes

Change-Id: I32771f8a6262f3dad905ea71d8774cbdf96aac57
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262525
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-04-08 21:27:10 +00:00
Andrea Cirulli 2bee2274a0 move dependency check stage to new conventions
Move all the logic related to the dependency check stage to its own
groovy file.

refs DE-615
flag = none

Test-plan:
- Dependency Check works simulating post-merge

Change-Id: I2164ab028b885cea0f8a72c6c6fb1d09360403c8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262514
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-04-08 20:05:09 +00:00
Andrea Cirulli ffe67c6310 move linters stage to new conventions
Move all the logic related to the linter stage to its own
groovy file.

refs DE-615
flag = none

Test-plan:
- Linters works

Change-Id: I4b15b59bf7d76b16ce5f9773d8be4565f08849c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262511
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-04-08 20:02:38 +00:00
Aaron Ogata d9c8be2b4a add missing license headers
Change-Id: I3992179bdefc988e1e4fcbc45044a14d9e50b1ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262508
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-08 18:53:09 +00:00
Aaron Ogata 4a4172d7d7 move Run Migrations to new conventions
refs DE-615

Test Plan:
1. Run Migrations works

Change-Id: I47feba5c2be963882d03404f87b5e5e77abfcbeb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262505
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-08 18:30:35 +00:00
Andrea Cirulli 99ab71113f abstract rebase logic to its own rebaseStage groovy
In order to make the Jenkinsfile more readable move the rebase logic
to a self groovy file rebaseStage. This will also allow to create
unit test against it

[canvas-builds-refspec=fa26046c2b1382a956c3891debcd54eac7ed4166]

refs DE-615
flag = none

test-plan:
- Rebase stage should passes and behaves the same way

Change-Id: I7649346572b3ad6a0684dbdc75ae6ba4682fe5e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262488
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-04-08 18:26:17 +00:00
Aaron Ogata d6e8d7ad57 move Build Docker Image to new conventions
refs DE-615

Test Plan:
1. Build Docker Image works
2. Build Docker Image (Pre-Merge) works
3. JS Image build works

[canvas-builds-refspec=fa26046c2b1382a956c3891debcd54eac7ed4166]

Change-Id: I7bdcdb492b48c73316bc194216c0cd4c1fc3c6a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262494
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-08 18:20:35 +00:00
Aaron Ogata b33dd6121f convert buildSummaryReport normal stage path to onStageResult()
refs DE-602

We need to reduce the different permutations of extendedStage() that live outside of that step. In order to do this, a handler can be registered that provides a pre-defined interface of functions that can be called.

Test Plan:
1. Jenkins main build passes.

[canvas-builds-refspec=0836fe0779bf81547ed1ea1c063ba806dc2a35e5]

Change-Id: I0cc268d09f10459b8417b0386383435b2ac74b74
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262402
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-04-07 21:58:19 +00:00
Aaron Ogata 2b4747c4b5 cache docker/dockerfile to allow flakey network script usage
Change-Id: Ide628034a970e2e6fded7c2971712d9dfed6391e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262253
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-04-05 15:39:21 +00:00
Cody Cutrer 103dce1f4a add frozen_string_literal comment to binaries
Change-Id: I4d0b95c1f22891772cfdc8a20adf0ff1e1bc8a8b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261819
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2021-03-30 18:14:03 +00:00
Andrea Cirulli 708709717b add end to end testing
Add the ability to test the local shared library groovy files
in canvas-lms, using the same framework used in canvas-builds

refs DE-443
flag = none

test-plan:
- Ensure build passes
- Ensure tests passes locally

Change-Id: I7957781206925c0a2fd75036f549187bdc95b1c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256548
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-03-30 17:10:48 +00:00
Andrea Cirulli c81019a0b2 move rebasehelper to local shared lib
move rebaseHelper function into its own groovy file.

refs DE-587
flag = none

test-plan:
- rebase stage works as expected

Change-Id: I7919f849b2acb4294c666fc896b201fc5ddc8b0a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261653
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-03-25 20:27:31 +00:00
Andrea Cirulli 3f2061ba56 Revert "Revert "add the ability to load local shared library""
[canvas-builds-refspec=84e5313a87dea47cc544ff1cb8fae728efa1af21]

refs DE-555
flag=none

This reverts commit 872961eb55.

Reason for revert: fixed issue in canvas-builds

Change-Id: Ia5d9232f1bec05724c0062fa6fdec31fd93e2ad4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260740
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-03-24 21:30:59 +00:00
Andrea Cirulli 872961eb55 Revert "add the ability to load local shared library"
This reverts commit b4a90a4ffa.

Reason for revert: causing build issues

Change-Id: Icf4c6d0fe26ec073d7b7ad67d1670efdee761c16
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260738
Tested-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-03-24 16:07:08 +00:00
Andrea Cirulli b4a90a4ffa add the ability to load local shared library
move rspec and distribution into a library folder that
can be loaded as local shared lib to avoid the load code
in the jenkins files.

refs DE-555
flag = none

[canvas-builds-refspec=d4cf97caed1edf2c9c91c48460e94f99e58a4d0a]

Change-Id: Id947a389d22f04126a8654bd5e4957433cddd330
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261289
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-03-24 16:02:38 +00:00
Aaron Ogata 4db066e5e4 rename timedStage => extendedStage
refs DE-338

[canvas-builds-refspec=c9a2defcf07854831310c015926d53a8894a31dc]

Change-Id: Ia6567b31d3b0e5b2579c7718f01fb010e15153da
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261285
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-03-22 18:03:07 +00:00
Aaron Ogata 28454e524d work around flakey starlord token issue
refs DE-579

Change-Id: I0889b9e34c27a667ffa0573982bb77a37f103dc3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261023
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-03-18 18:20:52 +00:00
Aaron Ogata 4cd931dd92 add skip-eslint flag
refs DE-565

Change-Id: Idbcc8ac2b4d780c6cf5cf26a4fcdcec85bc86eb3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260812
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-03-16 18:02:37 +00:00
Aaron Ogata 8b21e0daeb only run yarn linter if relevant files have changed
refs DE-562

Change-Id: I5a1f783666eea4f74c4c8883622b3c29edb94111
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260574
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-03-15 22:21:32 +00:00
Aaron Ogata 8ba5a59acf allow ENABLE_AXE_SELENIUM to be used as env var
refs DE-560

[skip-rebase]

Change-Id: Ida5d5433d477ab092468a81cbaf0cbb419cfd0a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260547
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-03-15 15:11:09 +00:00
Cody Cutrer c0ff9592f1 use binstubs when possible when running specs
so that if spring is running, they'll boot fast

Change-Id: I35e972b6ad28664f4b4f1a349e2dc5f63a6ae13a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259794
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-03-12 00:21:22 +00:00
Aaron Ogata af2422813c use spring for rspec loading
Change-Id: I1f1a5f02d26c68e5fc0bfa9e554d6b099be61d76
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253994
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
2021-03-10 20:32:49 +00:00
Kyle Rosenbaum d41b62429f fix rerun log file numbering; refs DE-556
test plan:
-Rerun logs at /usr/src/app/log/spec_failures/Rerun_ are ordered
properly starting with 1 and incrementing up by 1 for each rerun

Change-Id: I7b777eed1975cbea24a51602bef5b00fc8fd58f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260317
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-03-10 19:41:33 +00:00
Aaron Ogata bc1a61ff84 improve failure report
refs DE-519

Test Plan:
1. Build successful
2. Build failure w/ no detected causes
3. Build failure w/ rspec failures
4. Build failure w/ intermittent failures
5. Buidl failure w/ stage failures

[canvas-builds-refspec=fa9df2ba5173b83b29c035460fb41d3d2eba8d65]

Change-Id: I55812ea5a82255d2d922817e7e641079d8d556a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259854
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-03-09 18:51:01 +00:00
Aaron Ogata 00d6488718 allow forcing linters job to fail
Change-Id: I3503dbe280f94efe72e38c640c330d19522297fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260122
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-03-08 16:59:57 +00:00
Ethan Vizitei b33b74151b stage 1: audits engine extract
refs FOO-1644
[fsc-propagate=false]

  - create engines directory
  - put one empty-ish engine in there
  - add general engines dependency to
     gemfile construction
  - update build pipeline to run tests all engines
     just like gems
  - add engines directory to jenkins-cache build
  - get rspec running successfully with a dummy app
     inside the audit engine
  - stop failing with no message if environment
     unloadable in css config
  - generally set pattern in build artifacts and in
     code organization for pulling out an engine

Change-Id: I8650f5e0aa7d72556d2f02156886d2b503a111fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258988
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-03-04 20:27:06 +00:00
James Butters e7fcc698a3 skip yarn linter if plugin build
Change-Id: I20138f0b243501701f9f8314556ed90803a28a95
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259256
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-02-22 21:57:51 +00:00
Aaron Ogata 0d88b4b2ea actually delete all plugins before running yarn.lock check
Change-Id: Ia79bbbb27b8e57e1386a303ee0c997b83574105c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259226
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-22 17:34:34 +00:00
Aaron Ogata bb166ff784 reduce confusion around yarn.lock file linter errors
Currently, if the first error appears, then the second error is also guaranteed to appear, causing confusion. Fix this so that if the yarn.lock file is incorrect, we don’t check the dedupe condition as well.

Change-Id: I9e2c8abb1a3e85c07600cf8b18cb810b9753539f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259089
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-18 23:47:36 +00:00
Andrea Cirulli 4da7c8e29f fix find command not finding migrations file
refs DE-542
flag = none

test-plan:
- Ensure it will run migrations if a new one is present (canvas-lms)
- Ensure it will run migrations also for plugins

Change-Id: I2caf7ab8a32c0dd324c38de942ae2ceab10b76c5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259008
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-18 16:25:51 +00:00
Aaron Ogata 6816a822ce pre-load correct image for cache calculation
In a previous PS, we cached the ruby-passenger image on starlord and update it via a cron job to prevent cache disruption during the working day. Unfortunately, we forgot to update the image pulled for the hash calculations, causing it calculate the wrong hash if the dockerhub image has changed and the sync job hasn’t run yet.

Change-Id: I17bb91f7f08ca4352fc3f0ae88563867f3ece6f6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258833
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-18 16:21:45 +00:00
Aaron Ogata 9d703a261a allow JS image failure to be debugged
refs DE-541

Change-Id: I2392649a7f1144dd0a17df85a619c27928055ca8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258574
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-02-18 02:26:02 +00:00
Aaron Ogata 5d4b7a827a ensure plugin migrations are included in hash
refs DE-539

Change-Id: I2dbe96d0c581b7e113da6247b98cbf7731acb631
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258905
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-17 17:17:25 +00:00
Cody Cutrer f67d08e13f default to rails 6.0
you can switch back to rails 5.2 one of these ways:
 * ENV CANVAS_RAILS6_0=0
 * consul key rails6.0 with value `false`
 * touch config/RAILS5_2

Change-Id: I811884b2250b865220a1a9d84c7254f42d79e18f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257587
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Michael Ziwisky <mziwisky@instructure.com>
QA-Review: Michael Ziwisky <mziwisky@instructure.com>
Product-Review: Michael Ziwisky <mziwisky@instructure.com>
2021-02-08 23:32:22 +00:00
Aaron Ogata 7d73da5f3f disable translations for Jenkins build
refs DE-517

Disable locales on pre-merge Jenkins build in order to save ~25s on builds that require webpack to recompile. This also lets us clean up the code that builds the js-runner image. Pre-merge builds will still verify the i18n tasks in the Linters job, and post-merge builds will continue to build / run all tests using locales.

[build-registry-path=jenkins/canvas-lms/de-517]
[change-merged]

Change-Id: I8ded5d675b72d713738307403502f459adc79a73
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258197
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-02-08 16:03:06 +00:00
Aaron Ogata a8102ab205 cache JS runner image
refs DE-490

Change-Id: I83f15e273f0b6fa059ab259780db4f3ac026805f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257869
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-02-03 19:30:30 +00:00
Aaron Ogata 2eb6756a4b run linters against main-from-plugin build
refs DE-383

Change-Id: I9a4e413ae0e95167e43beb057bd6c54992c355e3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257621
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-28 15:03:52 +00:00
Aaron Ogata df7bd93b75 convert docker build to using remote tagging logic
refs DE-432

[build-registry-path=jenkins/canvas-lms-de-432]
[change-merged]

Change-Id: I1691d0a729abfd304eaad11a9e8aa0cc05874ac8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257003
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-20 18:59:03 +00:00
James Butters 9bcdf76bec fix parallel log generation
need unique logs for each process in a docker container

flag = none

Test Plan:
- Jenkins passes

Change-Id: Id673ae151aec404daca145dab0f08b3bfae911e3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256985
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2021-01-19 22:13:34 +00:00
Aaron Ogata 3740ac4267 add salt to migrations image tag
refs DE-471

[build-registry-path=jenkins/canvas-lms/de-471]
[change-merged]

Change-Id: I16df8f4bba4e71e0da16b4274b07fd02ea384395
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256874
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-01-19 21:59:43 +00:00
Aaron Ogata 8c602e04df convert docker build to using unique scope
refs DE-471

Change-Id: I5ed9b8506bc62aba7ac7004f0db3647ba482d415
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256976
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-19 19:01:56 +00:00
Kyle Rosenbaum 11168c53ec unbuffer parallel output
refs DE-468
flag=none

we now use run-and-collect-output.sh to buffer output based on thread.
as each command finishes in rspec-with-retries, the output is dumped.

test plan:
-cmd output is still buffered based on command, not on gnu parallel
process.
-test output is still readable by thread with distinct start and end
with all related output grouped.

Change-Id: I18d553fc83c04b5bc66a8f1b2ce8522f00bfb4f8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256906
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-01-15 22:44:00 +00:00
Ahmad Amireh 46f8efd61f modernize canvas_quizzes
fixes FOO-1409
flag  = none

no more client_apps, canvas_quizzes now lives as part of canvas-lms
proper inside app/jsx/, which makes the build leaner and leaves us with
one less thing to reason about

logical changes:

- converted from AMD to ES modules
- upgraded to recent react + react-router
- dropped RSVP in favor of native Promises
- used CanvasModal instead of home-grown Dialog
- removed dead code; notifications in particular were fishy as there had
  no dependents at all and did not even show up in the graph
- ported tests to Jest, added more unit ones and two integration ones
- removed "config.onError" and now throws errors where appropriate
- disabled console statements in non-dev

:: test plan ::

- create a (old-school) quiz containing all types of questions
- as 3 distinct students, take the quiz and try to randomize your
  answers

at this point it's helpful to have a reference to compare the screens; I
replicated the quiz on my production sandbox for this

- go to /courses/:id/quizzes/:id/submissions/:id/log
  - verify it looks OK
  - click on a specific question in the stream and verify the question
    inspector widget works OK
  - go back to stream and push "View table"
  - verify the table and its controls are OK

- go to /courses/:id/quizzes/:id/statistics
  - verify it looks OK
  - click on ? in the discrimination index chart and verify it displays
    a dialog with help content
  - click on "X respondents" in one of the charts and verify it displays
    a dialog with the respondent names
  - verify the interactive charts do interact as expected (no logic
    changed here so just a quick glance)
  - link to "View in SpeedGrader" for essay-like questions works

Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-01-14 22:45:10 +00:00
Kyle Rosenbaum a4e1da3aea add the ability to run parallel rspec processes in container
refs DE-225
flag=none

By specifying RSPEC_PROCESSES, we can now run multiple
rspec processes in a single container. This change modifies
the existing database setup to create 1 database per rspec
process. This also impacts results.xml using a 1 results.xml
per rspec process.

Rename database key to db for redis configurations to match
current version of redis.

test plan:
- rspec runs as expected in single threaded mode
- rspec runs as expected in multi threaded mode
- results.xml contains valid results with no duplciate tests
- reruns only run for failing threads
- reruns work in single and multithreaded mode

Change-Id: Ib2e549d467e8a6d8fef9914f2733d9ddfa460e99
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255120
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-01-14 21:12:45 +00:00
Kyle Rosenbaum 852dcd7d03 tag images with number of threads used when running migrations
refs DE-419
flag=none

test plan:
- migrations add tag suffix with default of 1
- tag exists in starlord

Change-Id: Ic06173dcaa07042c7caf3fcc0175db4681e8a057
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256666
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2021-01-14 18:24:13 +00:00
Aaron Ogata 360ddf34a0 improve lint:browser-code debugging
refs DE-465

Change-Id: I560c445ee7bd4b501686bb10bc4ffb64b4b910ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256692
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-14 16:18:14 +00:00
Aaron Ogata f2b1a73108 output docker logs upon failure
refs DE-405

Change-Id: Ibc0fb950ee7e08495feec2239c2b15e6e3ae9a2d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256586
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-14 15:34:25 +00:00
Aaron Ogata a20e69ecc9 enforce yarn.lock deduplication via linter
refs DE-397

When upgrading packages through yarn, the yarn.lock file tends to become bloated with multiple versions of the same packages, even if the latest version is compatible with all of them. Enforcing the yarn deduplicator allows us to keep the file as tidy as possible.

Test Plan:
1. Ensure that the linter passes when the file is properly deduped.
2. Ensure that the linter fails when the file needs to be deduped.

Change-Id: Ib606f7ab2c40dcb29bec7ba1c8cb7af2c8611f97
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256675
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-13 22:55:43 +00:00
Aaron Ogata 3453d541b7 align migration image naming conventions with other images
refs DE-442

Change-Id: I63d8b34cb23e0e8accf857b88438997c1f63a7d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256513
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-12 22:07:26 +00:00
Aaron Ogata 3e92cc4498 move execute function under libraryScript
refs DE-442

[canvas-builds-refspec=eecea52ff75a74be10cd0d2c1434dc917bd726af]

Change-Id: I7412d590e1c08a47eb48b1fd82af9eaf0d5eb145
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256507
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-12 00:32:08 +00:00
Tucker McKnight 7d1469f397 spec: re-enable CDC schema check
Change-Id: I8ed784a561d8ff7e73616e9ce25eaf7ac0104e5e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256411
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Wagner Goncalves <wagner.goncalves@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2021-01-11 19:21:42 +00:00
Kyle Rosenbaum 31dd59c243 remove uneccessary code from rspec_retries; refs DE-79
flag=none

test plan:
- build passes as expected with proper exit code
- retries work as expected
- run test stage timeout after 15 minutes
- with failing test, build reruns tests 3 times and post build failure.

Change-Id: I99117c3d033eaacc2ca7b17488353e22e395c30d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255540
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-01-05 02:14:29 +00:00
Aaron Ogata 34c6147bf4 split debug logs for sendSlack() length limit
refs DE-431

[build-registry-path=jenkins/canvas-lms/de-431-try-2]
[change-merged]

Change-Id: I4f7eead3f696535f29603291a5f4e2a863904026
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255503
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-17 17:43:39 +00:00
Aaron Ogata 802e1d854e add valuable build cache logging
refs DE-431

Change-Id: If4a4bb9ee982800239d1f516073bb4b14adb0b75
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255414
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-17 01:48:23 +00:00
Aaron Ogata cfa2510471 update build cache documentation
refs DE-427

Change-Id: I2cd01a0073561375e0336e87d2f389ce53f6e9ab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255264
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-17 00:16:17 +00:00
Aaron Ogata c44d24538b align ruby-runner loading with other images
refs DE-421

Change-Id: Iea1cd10bc15741acdb44e4942cc1abdb402f05bc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255370
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-16 22:33:30 +00:00
Aaron Ogata 0750f062d0 cache ruby-runner by MD5SUM
refs DE-421

[build-registry-path=jenkins/canvas-lms/de-421]
[change-merged]

Change-Id: Id101de0be2e69832a1ea558d7540dda6c1788bfe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255220
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-16 14:35:45 +00:00
James Butters da9fd405ff upgrade selenium to version 87
flag = none

Test Plan:
- Jenkins build passes with browser 87
- docker locally builds and runs selenium tests on chrome 87
- local install of canvas runs seleniums on chrome 87

Change-Id: Id1600e002c202a4dd90405d9b68a3ff092cbd764
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255045
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-12-15 16:24:37 +00:00
Aaron Ogata 5ba8d07034 cache yarn-runner by MD5SUM
refs DE-408

[build-registry-path=jenkins/canvas-lms/de-408-yarn-runner]
[change-merged]

Change-Id: If44f0db0907a935ae12e0b3aefbebe557e61582e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253480
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-15 16:11:35 +00:00
Aaron Ogata 5550d959bb Revert "cache yarn-runner by MD5SUM"
This reverts commit 6ea577d1ae.

Reason for revert: broke Jenkins

Change-Id: I8586baed2bba8878ac2f180363b2c411a5380be3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253479
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-15 01:10:52 +00:00
Aaron Ogata e47606d8c1 add salt to image tag for forced invalidation
refs DE-422

Change-Id: I20cfd825c4161f4f43df7ce02a9be427f8f0db6e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255112
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 23:38:36 +00:00
Aaron Ogata 6ea577d1ae cache yarn-runner by MD5SUM
refs DE-408

[build-registry-path=jenkins/canvas-lms/de-408-yarn-runner]
[change-merged]

Change-Id: Ifaecab20dfeb2b146dd4f642b414b666f5af4116
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255091
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 22:57:58 +00:00
Aaron Ogata 9b7837030b retry another flakey network error
Change-Id: I21f24872305d4d9065f9c3ba206607878e621911
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255109
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 22:53:39 +00:00
Aaron Ogata 94c8143ad1 cache webpack-builder by MD5SUM
refs DE-408

[build-registry-path=jenkins/canvas-lms/de-408-webpack-builder]
[change-merged]

Change-Id: I9d50e674274b21aac92f195937865501e9f49d56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255062
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 21:16:45 +00:00
Aaron Ogata a4c95722e1 split dockerfile cache vars
refs DE-412

Change-Id: I49ef92c05ac6d869e99032611933c03bbd9afd95
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255057
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 19:16:14 +00:00
Aaron Ogata 70cb526131 split yarn from webpack-builder into yarn-runner
refs DE-412

In order to cache the webpack-builder image by MD5SUM, we need to split it into 2 pieces, yarn-runner / webpack-builder so that changes to the packages directory don’t need to reinstall all of yarn.

[build-registry-path=jenkins/canvas-lms/de-412-pt-2a]
[change-merged]

Change-Id: Ib90920d0a8330ebee0365d530c3d4a0744da779a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255044
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-14 18:49:51 +00:00
Aaron Ogata 87122c93c0 abstract common cache patterns
refs DE-412

Change-Id: I7285bc7d5b776ffa63c81c63a832f24410723242
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254886
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-12-14 16:27:32 +00:00
Kyle Rosenbaum 826f9542be exclude contract test from general rspec test run; refs DE-201
general rspec tests were running contract tests as well as the
contract tests build. contracts-generate-api.sh was duplicating
tests run in rspec.groovy.

test plan:
  - build passes
  - contract tests build runs contract tests as expected
  - rspec build does NOT run contract tests

Change-Id: Ia3cacbf0ac099a52e016527800390d6dd17eb057
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254748
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2020-12-11 16:56:52 +00:00
Aaron Ogata 0c2e58f334 remove unnecessary directory creation for webpack-cache
refs DE-411

Change-Id: Ic5b153f59d3e68447d7aba5248f1d89d5fa0f783
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254815
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-10 18:49:55 +00:00
Aaron Ogata be41ac6b76 allow post-merge build to use relevant pre-merge images
refs DE-407

We want to ensure that the pre-merge build cache for new commits is available as soon as possible. To that end, we allow the webpack cache to attempt to use an available pre-merge built image and tag it as the post-merge image.

Also, rename the WEBPACK_CACHE_*_SCOPE variables to CACHE_*_SCOPE in anticipation of ruby / yarn usage.

Test Plan:
1. Make a webpack change
2. Build the PS with a unique build-registry-path
3. Add the change-merged directive to that PS and ensure that the pre-merge build image cache pulls the pre-existing tag, and retags it as the generally available cache image.

[change-merged]
[build-registry-path=jenkins/canvas-lms/de-407]

Change-Id: Ibf86f94c2c91a80b0a0851a00cdea0db2822e4eb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254644
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2020-12-09 16:26:21 +00:00
Aaron Ogata b4815ed9bf add build arguments to cache computation
refs DE-407

Add the build arguments to the webpack-cache cache ID computation to prevent post- / pre- merge builds from using each others cache when we remove the prefix distinction.

[change-merged]
[build-registry-path=jenkins/canvas-lms/de-407]

Change-Id: I73d9eb2c908bcb7e5bc04152eccd8fac9791c943
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254610
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-08 18:41:21 +00:00
Aaron Ogata eb3f181d70 pull docker images in parallel
refs DE-393

Change-Id: I4b1f821fe74f3700d5644dbdebf739ca4feefd96
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254588
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-08 16:33:37 +00:00
Aaron Ogata cba7565a76 move selenium-chrome build to helper job
refs DE-384

Change-Id: Ibcaa7295774145cef04eef77a3056b8e9b456bfd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254586
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-12-08 14:41:39 +00:00
Aaron Ogata 29c8d5bffa remove obsolete gerrit_builder usage
refs DE-320

Test Plan:
1. Ensure test counts are consistent between current master and this change.

[canvas-builds-refspec=544a8f8710c148035fd39b1118e118ae963f520f]

Change-Id: I56b9ee05321528aef96c92e090cd1b484a525162
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/252805
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-07 16:46:01 +00:00
Robin Kuss 43b5d065fc update jenkins for canvas-rce-api image
Closes LS-1661
flag=none

Test Plan: Jenkins selenium runs pass

Change-Id: I40b519f232926f97b8afb9c933fe6b461d123d7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254458
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
2020-12-07 16:40:09 +00:00
Aaron Ogata 8dddd036af add image dependencies as metadata
refs DE-402

In order to improve image debugging, store the tag of the dependency image as a label. This also allows us to tag those layers on each rspec / selenium node for free, preventing future builds that run on the node from having to download them again.

Change-Id: Ib36ad11463f98e03a3692c9ded80290e638df11a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254289
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-04 19:07:03 +00:00
Aaron Ogata 09c7b0ab15 tag patchset-specific webpack-cache images
refs DE-398

Currently, when the webpack-cache image is built, pre-merge builds tag the image with the same format as the post-merge default cache. This causes debugging to be difficult and also prevents the image from being cleaned up later. Fix this by prepending a suffix to each type of image, branch name for post-merge and patchset number for pre-merge.

When we do the above, we can also cache patchset-specific images for free. This will allow rebuilds to use a fully cached docker image if the webpack-related files have not changed.

[change-merged]
[build-registry-path=jenkins/canvas-lms/de-398]
[canvas-builds-refspec=53a5214f29ec16da5ea3aea28d77d0286b1c7deb]

Change-Id: I09e0c8792c688c899ca32b934e86be65202b4102
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254068
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-04 15:51:40 +00:00
Tucker McKnight d5320adb8a spec: Skip the CDC schema check that runs on migrations
It's failing on some issue unrelated to the migrations in
the given commit.

Change-Id: I1aef9172e8cc767805c3bc9e55cc96787630833d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254208
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Wagner Goncalves <wagner.goncalves@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2020-12-03 21:46:49 +00:00
Aaron Ogata ba63f0b812 ensure constant load on Jenkins master
refs DE-400

[canvas-builds-refspec=edee3adfdef77f31206a6e2fea22d92579e92db3]

Change-Id: I146e6ab95cae487c39b2c1b2766732d9aaceceff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254143
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
2020-12-03 21:04:27 +00:00
James Butters 1823baea9a add linter for dockerfile changes
Add linter to check if Dockerfile or Dockerfile.jenkins* changes
are found, Dockerfile.template is also included.

closes: DE-203
flag = none

Test Plan:
- Normal build passes with no linter errors
- Build with Dockerfile changes errors for no template changes
- Build with Dockerfile.jenkins changes errors for no template changes
- Build with both Dockerfile and Dockerfile.jenkins changes
  errors for no template changes
- Dockerfile and Dockerfile.jenkins changes with changes
  to Dockerfile.template for the jenkins changes only errors
  for Dockerfile not modifying the template

Change-Id: I8545382c6e00c0c9bdce34d190bb6baed965d6c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254036
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
2020-12-03 14:17:19 +00:00
Aaron Ogata 856fdfc172 improve naming of variables for consistency
refs DE-376

Change-Id: I3ebf42aff57ae4234a3b162b679e5c66fe8b279a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254058
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-02 16:04:18 +00:00
Andrea Cirulli 4b46ce7ef9 move reports.groovy to canvas-builds
refs DE-56
flag = none

test-plan:
- Build passess
- Rspec parallel log build passes and produces the expected
gerrit PS for paralle logs

Change-Id: I4752f845c633fdbf58d72ce4c323a19e66efcac4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253620
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2020-12-01 21:51:24 +00:00
Ryan Norton 06c7dd9398 work around docker-compose network race condition
Sometimes docker-compose up can try to create 2 networks with the same name at exactly the same time, causing an error. Fix this by assigning a unique project name to each container, so that it creates differently named networks.

Change-Id: Ie25793a316f815db03bd834b6f8e4dcaeac8f024
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253588
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-12-01 19:05:22 +00:00