Commit Graph

87 Commits

Author SHA1 Message Date
Jacob Burroughs 9a9fdf3a65 Remove auditor cassandra support
Also remove the engine experiment, because that never really went
anywhere for canvas and was just one more "different" thing

[fsc-max-nodes=15]
[fsc-timeout=45]

Change-Id: Ib990deb94bf5e25d587d554f64c535c9b96cce26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314469
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Migration-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2023-04-03 15:40:22 +00:00
Aaron Ogata 1e6312a404 move nodeLabel out of canvas-builds
refs DE-1359

Change-Id: I09cbcb708f9f8451a205b4fc470c27224bac49c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313499
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-03-16 19:41:00 +00:00
Aaron Ogata a6aae57a48 convert remaining boolean flags
refs DE-1359

[canvas-builds-refspec=1f02879d6f1b3a3ca631b542539aa0b699e64146]

Change-Id: Id0b5e194f7e7d1ba55723fcbb5c0dcede028c5de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313490
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-03-16 18:30:43 +00:00
Aaron Ogata 32e454884a remove remaining use cases of configuration.getString()
refs DE-1359

Change-Id: Ib0680f9e97ce833aa6fdae0f7e4ae950bbcc89a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313481
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-03-16 18:06:15 +00:00
Aaron Ogata 9f1ca5f895 remove usage of configuration.getInteger
refs DE-1359

Change-Id: I500acf9fefd0a5d4f247da80c08ed7093d7dd7f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313393
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-03-16 15:10:08 +00:00
Aaron Ogata 80a5f8fc5d replace checkoutRepo with checkoutFromGit
refs DE-1559

[canvas-builds-refspec=4e6cb119dedfbcbeea5045e2cc77754a568088cd]

Change-Id: Iff0c62d0ea6da2359b786a474d7ab735a16c2dde
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313117
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-03-13 21:17:18 +00:00
Jacob DeWar 5272cc0a3a spec: Re-enable HTML editor sanitize HTML spec
closes MAT-386
flag=none
test plan:
- Spec passes flakey spec catcher

Change-Id: Idf1ba038b007994e690cd1b47722ed259aa0cabc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/299001
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: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2022-08-23 15:05:30 +00:00
Aaron Ogata 983bc779d3 allow node label to be overridden for testing
refs DE-1258

[canvas-builds-refspec=2b6856c05a90d298d5c25fb613233df9bc22af12]

Change-Id: Ic529fc5afce5a06c94a7efc71f8da01a55142c69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/295032
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>
2022-06-29 14:41:05 +00:00
Aaron Ogata c78a877f1d remove mostly useless copy files script
refs DE-1221

Change-Id: Ic1719c364ea2bf9561de2b5d8e0a091c77a880cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/293438
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>
2022-06-09 15:16:39 +00:00
Brian Watson 2f2a27d91b Upgrade to Selenium 4
Switches from standalone containers to explicit node+hub config

Selenium 4 has some differences in handling stale elements that we
should be aware of moving forward

closes OUT-4988
flag=none
[skip-stages=Flakey Spec Catcher]

Test-plan:
- make sure screenshots can happen for failures
- retrigger a few times and make sure things pass
- verify build summaries are intact
- verify FSC can still run seleniums
- verify local selenium running still works
  - firefox / chrome / edge where applicable
- verify docker selenium running still works
  - firefox / chrome / edge where applicable

Change-Id: I8f2fe5a34d712b5ccd7191bae7a9aeeb6f1f473d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284811
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2022-03-09 15:28:31 +00:00
James Butters 712e8938c5 fix qti_migration_tool setup in lintersStage.groovy
Change-Id: I4893b0ff11ae495fef0548877b7517242d37640d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283078
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>
2022-01-19 15:19:20 +00:00
James Butters 27214d2f51 update chrome version and cleanup SELENIUM_VERSION
[ignore-stage-results=Flakey Spec Catcher]

update chrome version to run tests against. A few small
fixes to work with new chromedriver.

closes: DE-930

Test Plan:
-Jenkins passes
-FSC build passes
-Run test local docker dev setup
-Run test local dev setup

Change-Id: Ie2d5dd918f85cbcc01d0f8b572efa8aab71c1803
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279959
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-12-07 14:18:47 +00:00
Aaron Ogata 89a3495473 always include 3rd argument for onStageEnded hook
refs DE-372

[canvas-builds-refspec=fc746b7045171fb46e3c11275eedc91f2612f35e]

Change-Id: I73cd0ee9e85e786acdfa46e83b5399801b40b0b4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279839
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-11-30 19:22:19 +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
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
Brian Watson a613e61b59 Don't pass shared_examples to fsc after rspec dry-run
Test-plan:
- view PS4, see that changes were made that would have caused
  shared examples to be queued up directly in FSC rather than
  from within their contexts
  - k5_dashboard_student_spec.rb:77 should be run by FSC
  but
  - k5_announcements_shared_examples.rb:193 should no longer be
  added

Change-Id: If909647c5efe10137b734f47a074365bcef3c944
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274596
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-09-29 20:01:08 +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
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
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
Andrea Cirulli f4757ca66a fix linter issues
Fix the following linter issues:
- UnusedVariable
- ClosureAsLastMethodParameter
- CatchException
- UnnecessaryGString
- ImplicitClosureParameter

test-plan:
- Build passes
- FSC qa build passes and it executes the changed test

Change-Id: I9f814e8f3466cd6a271a3b24afc410c32fc66022
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265218
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: James Butters <jbutters@instructure.com>
2021-05-18 20:11:48 +00:00
Andrea Cirulli 3f057e9c0c fix jenkins files linter issues
Fix linter issues related to variable name, space after closing bracket.

refs DE-690
flag = none

test-plan:
- Build passes
- QA build with spec change executes fsc stage

Change-Id: I6f985fb3dfa8627703a27325b1eb25fae4585505
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265188
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2021-05-18 18:58:33 +00:00
Andrea Cirulli 67d6ccc360 fix jenkins file linter issues autofixable
refs DE-690
flag = none

test-plan:
- Build passes

Change-Id: Ie748a1e585ce8e3ec4978c7a5faa45dab524a905
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265184
Reviewed-by: James Butters <jbutters@instructure.com>
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>
2021-05-18 16:48:15 +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
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 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
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
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 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
Aaron Ogata 5d1fb9b734 convert on*Result -> onStageEnded
refs DE-628

Test Plan:
1. Build summary report works for sub-jobs and normal stages
2. Sub-jobs run cleanupFn

[canvas-builds-refspec=82ccf7ae185871e45c658f225cc664ef05cda74d]

Change-Id: I9d4476b75e6488bcc388a89e9f7cf87150d0ae6d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262951
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-15 13:54:20 +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
Aaron Ogata bd051859cd skip performance directory for FSC
Change-Id: I2553b06e08d1bd6d8abf10cc1d33ba8c0c6f25ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262935
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
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-14 20:42:20 +00:00
Aaron Ogata b3f6ee3b54 fix allow-stages directive
refs DE-621

Change-Id: I77e620defe993e37425cfd1f6e9c78d2574fb922
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262904
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 17:37:00 +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 0772092370 remove cleanupFn usage from FSC job
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. FSC behaves correctly

Change-Id: Id5407fc398a78fab3f606a8e176cf1a620a8331f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262856
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 22:18:43 +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
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 bfd5be09a4 ignore engines in FSC
Change-Id: I9b05a106c39ef6eab517af068ab73414c284d684
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259921
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-03-04 18:41:26 +00:00
James Butters 7938aaa722 add node number to log file for fsc
add the node number to the dir of archived
log files to help find the correct log.

flag = none

Test Plan:
-jenkins passes, fsc has logs in sub dirs with node num

Change-Id: Ifd79d38239fc683c0d5afda54689298489c1ebd1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258893
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-02-17 17:01:01 +00:00
Aaron Ogata 189ca7fbef align FSC max nodes error with actual behaviour
Change-Id: I3b6b9e87f4d3105b4a3b7efac8041c689e5fe192
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258098
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-02-03 21:40:55 +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
Andrea Cirulli 4d672c2f6a add global timeout and reevaluate all timeouts
Add timeout to all builds and set the proper values for the existing
timeouts

refs DE-307
flag = none

test-plan:
- Force the build to timeout and check that jenkins fails the build

Change-Id: I2e3ae36f828da1bc047bf5a2cfbc79c167b84d5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256171
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-01-11 21:24:03 +00:00
Aaron Ogata dd6e2d3b00 add max nodes configuration flag for FSC
Change-Id: I9e8c59a0ec700a82aa1d4afb03f51c2ffd04df7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255217
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 19:13:53 +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
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 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
James Butters 4874eb444b fix FSC output archiving
flag = none

Change-Id: I25c87b7d701a09fc0d1ffde38a1157a92bf78373
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251897
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-11-04 22:16:08 +00:00
Andrea Cirulli ba4ad02c38 abstract checkout code in jenkinsfiles
refs DE-351
flag = none

test-plan:
- Build passes
- Test FSC is working

Change-Id: Id3844dd12600e5d3a80d267bf67916c4d43d2548
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251743
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-11-04 20:58:00 +00:00
James Butters 986c935bdf checkout Jenkinsfile from master
These changes need to be accompanied by changes
to Jenkins config:
  - main-canvas-postgres-12-ruby-2.6 and
  main-canvas-postgres-12-ruby-2.6-postmerge, SCM
  refspec changed to master
  - sub-builds scm changed from canvas-lms-refspec
  to JENKINSFILE_REFSPEC defaulting to master
  - add Jenkins parameter JENKINSFILE_REFSPEC to sub-builds
  - add new Jenkins build for main Jenkinsfile changes
  - main build don't trigger on Jenkinsfile changes using
    forbidden path.

Testing once merged:
- verify builds without Jenkinfile changes pull the master
  version of Jenkinsfile
  - verify sub-builds as well
- verify gerrit with Jenkinsfile changes triggers new build
  - verify sub-builds get Jenkinsfiles from gerrit not master
  - test a combination of Jenkinsfiles, not just the main one
  - verify main build is not triggered
- run a plugin build without canvas-lms-refspec
- run a plugin build with canvas-lms-refspec

Change-Id: Ic6be8b446f80d57f7b0f25c77e6cffb959e03236
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251634
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: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
2020-11-03 03:08:08 +00:00