Commit Graph

574 Commits

Author SHA1 Message Date
Jacob Burroughs bcfffcc6e0 Move to rails 7 as the default rails version
Change-Id: I3c1fd74154a52aad96ef7ab85144dcc8dceb414a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310751
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
2023-02-10 16:26:06 +00:00
Aaron Ogata e4e60141c0 use transifex API token instead of username / password
refs AE-135, AE-134

Change-Id: I27272efac5a3a343412f2ce71ed454f0dd0e4908
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310445
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2023-02-06 16:42:35 +00:00
Aaron Ogata 39e0d58329 validate specs for additional lockfiles
refs DE-1492

Change-Id: I6420fcd3656201d0ed745c857a00c0bc9960c83c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310351
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2023-02-03 19:11:46 +00:00
Aaron Shafovaloff 9665762078 Use Gergich output for TypeScript errors
Test plan:
  - See that TypeScript errors are reported in Gergich for prior
    failing build
  - Tests pass for latest build for this commit

flag=none

Refs DE-1519

Change-Id: I3cd7e8fc43d24932fdd60b296e9015d76d3671ac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310278
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
2023-02-02 23:34:05 +00:00
Aaron Shafovaloff cec7be603b Fail builds on new TypeScript errors
Test plan:
  - Run `yarn run check:ts` and see that it fails on new TypeScript errors

Future improvement needed:
  - Improve Gergich to parse TypeScript errors

Closes DE-1519

flag=none

Change-Id: I16a498794839753c0f6494f413480df954c55ad8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310200
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-02-02 21:25:49 +00:00
Aaron Ogata 295674216c send a more meaningful failure message for cron jobs
refs AE-113

Change-Id: I7e29cd514b65bf79bbd231f218955f0ec51c83aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310236
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2023-02-02 15:35:38 +00:00
Aaron Ogata 3e4166d769 and now use the right operator
refs DE-1492

Change-Id: If5e0398c5e5da70bba907747a686c752d43f9137
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310149
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2023-02-01 18:14:30 +00:00
Aaron Ogata a8e3d41ee5 also copy plugin git folders to linters
refs DE-1492

Change-Id: Ia67bf8e4686db20febd56c9a398fde029a98118a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310142
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2023-02-01 17:49:28 +00:00
Aaron Ogata a1e30371dc always include git directory in linters image
refs DE-1492

Change-Id: I55a7171d4d25d8e5bd3a9c755945e2c80459456e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310128
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2023-02-01 16:35:01 +00:00
Aaron Ogata a806980fb3 also look for changes to gemspec
refs DE-1492

Change-Id: Ia34bbe17cbe3fa2133afc7151b15713461c3f597
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310024
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-01-31 17:53:47 +00:00
Aaron Ogata c80daf17ad add linter for Gemfile changes
refs DE-1492

Test Plan
1. Gemfile.lock is ok
2. Gemfile.lock is outdated
3. Private plugin specifies unique dependency

Change-Id: Ic5143faae2095fd5f02acaa86eda813aefd419c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309916
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-01-31 16:34:16 +00:00
James Butters 29f3f7dadf add require statements
add require statement that were previously removed
add pull images before rspecq reporter

Test Plan:
- crystal-ball build passes

Change-Id: I30a6e72247cfdfbe51c2b662620b44d5f46cb2f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308695
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2023-01-12 18:46:09 +00:00
Isaac Moore d6584b490a Remove unnecessary require statements
closes AE-30

flag=none

test plan:
- verify Canvas boots in CD
- verify no influx of new errors in CD

[fsc-timeout=30]

Change-Id: Ifa04bebe1b09f01c6d3b8b2d8f3bb424759730f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
2023-01-04 21:38:21 +00:00
Jacob Burroughs 1c0e96b844 Fix linters on ruby 3.1
Change-Id: I77159c0586ca760c5006b80a11ec2e985f45d509
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/307831
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2022-12-21 15:32:12 +00:00
Aaron Ogata 8531387076 only run copyright linter in OSS projects
refs DE-1337

[canvas-builds-refspec=559461b49765c84adea9950c183cc3e646a17e7b]

Change-Id: I056ea5905ed083012c7ca3bac696647381986798
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/307761
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-12-20 17:41:25 +00:00
Jon Scheiding f3afbb8290 Make package-translations build less chatty
Clean up some of the messy output caused by not mounting all the source

flag=none
test plan - none

Change-Id: Id41b12ea7ec860af66151ead333d621280bf595f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/306986
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-12-09 15:33:03 +00:00
James Butters b3ba447056 updgrade Jenkins Chrome version 107
closes: DE-1483

Test Plan:
- new image starlord.inscloudgate.net/jenkins/selenium-node-chrome:107.0
- Jenkins build uses chrome 107
- No failures in Jenkins

Change-Id: I31f453d34dcfcbc71c88b3bc379380bbd17ef133
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/306441
QA-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
2022-12-06 02:28:57 +00:00
Aaron Ogata a5d18d91db split vendor overrides into own file
refs DE-1465

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

Change-Id: I12e7883091614883b724e4a50164aa5abf4f5cca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/306294
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-11-30 15:22:04 +00:00
Danail Kozhuharov 629d030012 spec: Improve some "custom_wait_methods.rb" methods stability
-----------------------------------------------------------------------
This PS reimplements "wait_for_ajax_requests" and "wait_for_animations"

The changes mitigate some corner case failure scenarios and removes
the dependency of these methods on the in-browser events. The new
implementation relies on iterative polling of the browser for state
changes.

Method "wait_for_animations" is now waiting for all JQuery animations
to complete and rises exception if not all are done.

The poll-waiting iteration controll and timeout choice is delegated
to a new module CustomWaitMethods::Poller. The logic recognizes
when a test is being re-run and increases the timeout. This allows
failures due to overloaded environment to pass during the rerun.
This also enables tests, which caught degraded performance to still
complete their functionality validation role on the rerun.

Framework method "move_mouse_to_known_position" was disabled as it
was found to cause long running JQuery animations, resulting in
test stability issues.

Test results summary page was updated to highlight the tests falied
due to timeouts waiting for AJAX requests or IQuery animation.
(see build/new-jenkins/library/vars/rspecStage.groovy)

fixes DE-1442
flag=none

test plan:
- Trigger multiple Jenkins test runs and check for method failures

Change-Id: I456dfcb5e290e6f53b1cafb217726aa4ff47d83d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304610
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Danail Kozhuharov <danail.kozhuharov@instructure.com>
Product-Review: Danail Kozhuharov <danail.kozhuharov@instructure.com>
2022-11-23 17:13:55 +00:00
Andrea Cirulli c5fed47346 unpin snyk
Change-Id: Ie45881293f278e57b8c54e6c780408e863020df3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305048
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: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@instructure.com>
2022-11-09 20:55:46 +00:00
Bobby Buten aebec5111e clean up bundle size reporting
[build-registry-path=jenkins/canvas-lms/de-1217]
[change-merged]

refs DE-1217
flag=none

TEST PLAN:
  - run post-merge build test
    - confirm webpack size is properly run and recorded

Change-Id: I2e84dbd5509276a3ec817d916c56c15e6fb9ef50
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304585
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Bobby Buten <bobby.buten@instructure.com>
Product-Review: Bobby Buten <bobby.buten@instructure.com>
2022-11-02 19:23:27 +00:00
Andrea Cirulli 4eebfbbc88 bump docker cache to force container rebuild
Change-Id: Ieab676ba034e08b87ba7d0e87ce3265d47f319ba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304398
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-10-31 20:11:36 +00:00
Jon Scheiding 6672e8a039 Fix package-translations build
Address "detected dubious ownership" error message

test plan
- `export SSH_KEY_FILE=./nonexistent`
- Run the script
  `build/new-jenkins/package-translations/sync-translations.sh`
- Verify that the value of `$?` is zero

Change-Id: Icd9c3e25b39549103d92127721b7983f32fa7fb2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303138
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-10-21 13:29:55 +00:00
Jon Scheiding 3f10c924f7 Make package-translations build fail when it fails
Includes:
- Take `git status` command out of condition so failure is detected
- Guards in the `sync-strings.sh` script so it can run locally
- Dockerfile change for better cache usage when iterating locally

test plan
- `export SSH_KEY_FILE=./nonexistent`
- Run the script
  `build/new-jenkins/package-translations/sync-translations.sh`
- Verify that the value of `$?` is non-zero

Alternatively, observe the differences between these two builds
 - https://jenkins.inst-ci.net/job/Canvas/job/package-translations/1166/
   run against the master branch
 - https://jenkins.inst-ci.net/job/Canvas/job/package-translations/1167/
   run against this PS

Change-Id: Ifa74770f2ff1ac7526577587abfc1e5a128fbde0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303133
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-10-21 13:29:29 +00:00
Aaron Ogata 960655b498 introduce new algorithm for computing rspecq node count
refs DE-1220

[force-crystalball]

Change-Id: I64454f12e47183246924103fd466dcd65060bf6b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303297
Reviewed-by: James Butters <jbutters@instructure.com>
Build-Review: 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>
2022-10-18 19:34:01 +00:00
Aaron Ogata 2ff35d9bf7 ensure webpack-cache image is always usable after post-merge build
refs DE-1379

Change-Id: I0fb7367186d1f15c89b809fce86422b6041c54c5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302324
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-30 15:29:52 +00:00
Aaron Ogata 1eea879394 differentiate save / load tags for cache images
refs DE-1379

Change-Id: I37fae48ee9886331e9bf948ca58d76fe0735b236
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302143
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-28 18:21:02 +00:00
Aaron Ogata 56a8f55295 permit webpack cache to be used on packages changes
refs DE-1379

[build-registry-path=jenkins/canvas-lms/de-1379-webpack-4]
[change-merged]

Change-Id: Id131c894e5fc02cb2e7d8c2f2bbb1e154132c250
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302117
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-28 15:57:49 +00:00
Aaron Ogata 9500171125 preload packages-runner image
refs DE-1379

[build-registry-path=jenkins/canvas-lms/de-1379-webpack-3]
[change-merged]

Change-Id: I801cbb81dd3390d02d104147f74e20967c4445ab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302107
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@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>
2022-09-28 14:25:20 +00:00
Aaron Ogata 1734090658 cache compiled webpack assets
refs DE-1379

[build-registry-path=jenkins/canvas-lms/de-1379-webpack-3]
[change-merged]

Change-Id: I61bef0e398b917611136bdee34284bb7584c5aa6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301946
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-09-27 19:43:55 +00:00
Aaron Ogata b286d9d0c5 re-use CSS compilation cached assets in pre-merge builds
refs DE-1379

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

Change-Id: I1e33e24ee61afa114739cbd4acd9eddb163e1f76
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301709
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>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2022-09-26 15:44:29 +00:00
Aaron Ogata 9d390cd24f fix JS test impact analysis for plugins
refs DE-1379

Change-Id: I88884510728e80d06ad4eb9c9a785cca433ed465
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301875
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-09-26 12:37:46 +00:00
Aaron Ogata 71bcd55d90 use bind mounts for cache helper image copies
refs DE-1379

Test Plan
1. JS Impact Analysis works
2. Tarball hashes are reproducible crossbuild

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

Change-Id: I69631a80dd2cbdc03467b1ae690c0eeeaeda555c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301748
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-09-26 11:51:46 +00:00
Aaron Ogata 78d9bacf42 pre-load webpack images while performing git commands
refs DE-1379

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

Change-Id: I2f322fe85f43a3c2dc807ff2676aca539b3d5df7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301661
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Ryan Norton <rnorton@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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-23 13:47:41 +00:00
Aaron Ogata 9d191376e4 split webpack-runner into own Dockerfile
refs DE-1379

Change-Id: Ieb01b5039273299ffd3023454d3c9373d31c96ba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301622
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bobby Buten <bobby.buten@instructure.com>
Build-Review: Bobby Buten <bobby.buten@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-09-22 14:33:29 +00:00
Aaron Ogata e3f7655028 split cache-helper-collect-webpack into dependencies and built assets
refs DE-1379

Change-Id: Ib3b9f23508ae04631452202aa627f5df06c1e5f6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301453
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-22 12:29:41 +00:00
Aaron Ogata aee77c859a make jenkins-cache file more readable
refs DE-1379

Change-Id: I3c89afdedb0d65c69166681bf2f04b7f98bbf07b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301517
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-09-21 17:48:15 +00:00
Aaron Ogata f135d25758 rename webpack-cache image to webpack-assets
refs DE-1379

Change-Id: I50d9482c465daa410d693ef46ddf0942a6ee4343
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301424
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: 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>
2022-09-20 16:57:47 +00:00
Tucker McKnight 7b46350f6b Wait for graphql.schema before schema check starts
fixes INTEROP-7608

flag = none

Change-Id: I8c6d0053657d078c0bb4f610654c81a0c47adf80
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/299288
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2022-08-30 17:00:53 +00:00
Aaron Ogata 1f8bda1aed fix js change detection for plugins
refs DE-1296

Change-Id: Ib81427932b8d8141a2a2663825b52819a9b74237
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298906
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-08-17 17:22:58 +00:00
Aaron Ogata 0ce3a33a1b only run JS tests in pre-merge if JS-related code changes
refs DE-1296

Test Plan
1. Validate Normal Build
2. Validate Plugin Build

Change-Id: I1cb97e03d9e8d7b34cf51037f81a6090f7f35bd9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/297316
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-08-17 16:36:55 +00:00
Aaron Ogata 33c90aa925 stop loading webpack-builder image twice before running JS specs
refs DE-1345

saves ~90s when running JS stages

Change-Id: I3cdb97193e8b420e7eed3f63eecedf7a12a5d907
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298579
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
2022-08-17 13:45:40 +00:00
Aaron Ogata e6d57cab06 fix graphql files check
Change-Id: I8818debfaf41d3bf6f5ba157d28a7ab3af675571
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298824
Reviewed-by: Ryan Hawkins <ryan.hawkins@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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-08-16 22:35:11 +00:00
Ryan Hawkins ea90e32223 Remove rover as dependency for schema checks
Rover was originally added as a devDependency so that Apollo Studio
schema checks could be performed. However, Rover does not build under
linux/arm64, so developers with newer M1 Macs were unable to get Canvas
running. Instead, the schema checks will be run inside of a separate
rover specific container, removing the dependency.

[canvas-builds-refspec=1b94202e657e6899de6629afd85b628a1e27b66c]
[force-graphql-schema-check]

closes INTEROP-7174

flag=none

test-plan:
- the simulated post-merge build succeeds
- M1 users can run yarn install without issue
- devx is happy :P

Change-Id: I92f8862b580b4300b14ee98bc9e9826c8d649e96
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298396
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
2022-08-16 21:04:38 +00:00
Aaron Ogata c81178caf7 remove karma-builder image since local Chrome is no longer needed
refs DE-1334

Change-Id: I3fb5de6c396dc627813953b7cc31c7f40665b713
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298395
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>
Build-Review: Aaron Ogata <aogata@instructure.com>
2022-08-15 14:19:35 +00:00
Aaron Ogata d4ee7b314c use selenium grid for karma tests
refs DE-1334

Change-Id: I61e78a60498b9fd64ea9d5333504c4db10c8c03f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298285
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: 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>
2022-08-11 18:31:34 +00:00
Ryan Hawkins 5fdaac076d Add GraphQL Post-Merge Schema Check
why:
- Schema checks ensure that any change to the Canvas GraphQL Schema
  don't impact existing queries as well as ensuring we don't break
  supergraph composition.
- We're starting with a post-merge build to see how common of an issue
  this is for now. We'll move it into the deploy and pre-merge steps
  once we're sure we like it.

flag=none

[canvas-builds-refspec=0e2b75ca09d79fe85fdb749b9288dabbbfc86012]
[change-merged]
[build-registry-path=jenkins/canvas-lms/interop-7174]

closes INTEROP-7174

test-plan:
- the simulated post-merge build reports to the appropriate Slack
  channel and we *don't* get a message about a schema check failure.
- we'll get eyes from devx and our SET to make sure everything looks
  A-OK.

Change-Id: Ibdb55c1f50d0ab71d809bb06a5f0d01a5b7fbc02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296771
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
2022-08-10 21:31:58 +00:00
Ryan Hawkins f412d1f65e Create generic alert Slack failure method
Creates a generic Slack failure for Jenkins. This is useful for newer
processes that need to customize where an error message might be sent
and whether or not the author of the failing patchset should be alerted.

refs INTEROP-7174

flag=none

test-plan:
- The current alerting methodology still works

Change-Id: I952548c2c3954028f63c2bfc9a23a8c4a3efd40b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296974
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
2022-08-10 21:31:43 +00:00
Aaron Ogata ea2048e314 exclude JS specs from triggering webpack rebuild
refs DE-1295

Change-Id: I5261da693d723cac28605f3ab0001ccdb02db326
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296963
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>
2022-07-28 15:39:49 +00:00
Aaron Ogata ed9f9d737f remove feature flag change notification experiment
refs DE-1273

Change-Id: I3f173051039248bff415362aeb09507ea8f95c26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296964
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
2022-07-26 13:44:40 +00:00