Commit Graph

105 Commits

Author SHA1 Message Date
S. Jacob Powell d3a1496b6c Add a formatted tag for canvas image consumers
test plan:
The build passes,
EXTERNAL_TAG image is pushed to starlord
for consuming by portal and others

fixes: CCI-307

flag = none

Change-Id: I8add91566b9adcbec62691fa6197967b779e4a3c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232901
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-04-06 19:46:12 +00:00
James Butters bf5a8f5a2a use parallel_tests for more parallelization
Using the parallel_tests gem allows us to parallelize more
and a bit simpler. Removes headless stuff now that we don't
use it anymore, comments out video recording code since it
doesn't work, removes all knapsack code.

flag = none
Test Plan:
Jenkins rspec and selenium builds pass
rspec and selenium builds copy results to html publisher
rspec and selenium have nodes split into processes

Change-Id: Ibd00eba77f8193be5eadd41aef1e0617c9ae470c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227677
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@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>
2020-03-30 21:38:47 +00:00
Benjamin Christian Nelson 152f6b91e2 add basic datadog stage metrics for Jenkinsfile
Change-Id: Ia7143515e665a37cf8b1473febfdc350c8cd4338
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230839
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
2020-03-30 17:25:06 +00:00
Rex Fleischer 14bedb09a2 add skipping on success to rspec and selenium
fixes: CCI-295
flag = none

Test-Plan:
- make sure jenkins passes.
- make sure a retrigger on success still causes an entire run
- abort on a build (to force failure), then retrigger to ensure
  they skip if possible

QA: PS7 shows the retrigger working for only rspec and fsc

Change-Id: Ifb3ff65a9f0adee5243c1e18869b0acd41575db9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231079
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-03-27 16:46:51 +00:00
Brian Watson 55cc7e778e Re-enable FSC while not failing builds due to timeouts
flag = none

Test-plan: - PS4: Times out and propagates a success from FSC
    FSC build 2038
    Canvas build 25027
  - PS5: Fails a spec and propagates a failure
  - PS6: Passes
Change-Id: Ibc0313088e5f2128d143f6aaeb4712c6ba2bfedf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-03-24 15:09:44 +00:00
Rex Fleischer b594098df5 run rspec and selenium tests off main build node
[skip-docker-build]

fixes: CCI-290
flag = none

Test-Plan:
- build passes on PS.
- build passes in main-for-coverage
- build passes in main-for-plugins

Change-Id: Iafb84175bb27e8a90a4cac2c3c049df53ceb4776
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230521
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-03-23 19:21:48 +00:00
Rex Fleischer dfd1cf11e3 simplify logic for skipping docker build
fixes: CCI-285
flag = none

Test-Plan:
- run with skip-docker-build and ensure it works.
- run without and ensure it works

Change-Id: Ida7d623b7b20496dc9d5cfeb6c571c56eca49b7e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230129
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-03-19 15:02:59 +00:00
Derek Bender f49eb28966 add branch and author to slackSend
Change-Id: I2a816e3f0334e3550ec67b8e579b384876af5f70
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230445
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-19 00:23:44 +00:00
Rex Fleischer 39dd5fcdf6 dont run linting or fsc when on covid branch
fixes: CCI-287
flag = none

Test-Plan:
pushing to covid branch first (will link in message),
then will push to master.

on covid, the linting and fsc should not run.
on master, they should.

covid test: https://jenkins.inst-ci.net/job/Canvas/job/main-canvas/24230/

Change-Id: Icc559df8453d4ab4f7267cdbd47329816e827ac9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230385
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-03-18 17:23:30 +00:00
Derek Bender 4a507646c9 Fix publishing previous-image
Fixes: CCI-283

flag = none

Test plan:
- PATCHSET_TAG and PUBLISHABLE_TAG should match in the print env step
- observe that the canvas-lms:previous-image steps work as intended on
  subsequent builds

Change-Id: I7a5da8703b118dc6a1d0bb209056235039156c30
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229910
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-18 13:30:42 +00:00
Rex Fleischer e9af621c2e covid branch handling
covid branch PS: https://gerrit.instructure.com/c/canvas-lms/+/230239

fixes: CCI-286
flag = none

Test-Plan:
the QA happened in the covid branch. if the build for this PS
works, then the code path for master branch works.

Change-Id: I314f3c9b7f5db56c953e9b8a8b20dcd2951436a9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230295
Tested-by: Gentry Beckmann <gbeckmann@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
2020-03-17 23:32:12 +00:00
Rex Fleischer 15a0e84100 move linters to main build to include rebased changes
fixes: CCI-280
flag = none

Test-Plan:
it doesnt sent the migration warning

Change-Id: I6669adfc2ff937a3596e22a5a9b267c5e9349721
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229304
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-03-13 18:50:43 +00:00
Derek Bender 1ebaa435de Fix typo in builds
flag = none

Change-Id: I818101a50b45c429751a208d5011b55a6d80fe5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229614
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-11 16:34:21 +00:00
Derek Bender 78123c4cb6 Multiple rubies and postgres on Jenkins
Closes: CCI-214
flag = none

Test plan:
- The following builds pass:
  - main-canvas
  - main-for-coverage
  - main-canvas-postgres-12
  - main-canvas-ruby-2.6
  - main-canvas-postgres-12-ruby-2.6

Change-Id: I253d0cc8f0a808d8453fd3cbe1cfc3400ec8b12a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227304
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-10 22:30:51 +00:00
Rex Fleischer 4c9586960c make amount of nodes used in tests parameterized
fixes: CCI-278
flag = none

Test-Plan:
- the build works with expected amount of nodes

Change-Id: If3ef094d3f0e8cce955a1f9af0f9faa5890a79b1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229340
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-03-10 16:12:06 +00:00
Derek Bender 20ee14c835 Fix rebase step
Refs: CCI-272
flag=none

Test Plan:
- rebase passes

Change-Id: I1d1b6d8b9b13971c484f25d7a699f7cf638f508e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229100
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-06 15:47:11 +00:00
Derek Bender 4d90db2057 Jenkins: improve rebase step
This will allow better checkout options on Jenkins

Closes: CCI-272

Test Plan:
- After something else after the current parent merges
- The rebase step works for this patchset

Change-Id: If6ecd501ce273010120ec44a62323134c6f367d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229058
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-03-06 14:18:25 +00:00
S. Jacob Powell 27d9b29c1e Add rubygems snyk checking to canvas
test plan:
build passes
clicking the link found in snyk_result.json shows canvas-lms:ruby's
vulnerabilities, and the html is also a pretty report
4 snyk artifacts show up in artifacts (only on merge)

Example of artifacts in a build;
https://jenkins.inst-ci.net/blue/organizations/jenkins/Canvas%2Fmain-canvas/detail/main-canvas/22967/pipeline

fixes: CCI-212

flag = none

Change-Id: I2b375190a96a985ab0cc36a764e80fd27ba7966b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227610
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-03-04 20:05:59 +00:00
James Butters fbba03fa19 pull image if it doesn't exist for publishing
On retriggers the image won't rebuild so the publish image
stage will fail since the image doesn't exist that we are
trying to tag and push. Added an if statement to check for
image and pull it if it doesn't exist.

flag = none

Test Plan:
Jenkins passes and retrigger passes.

Change-Id: I215d32874e643fe7d61900e070a3b75688b6efd3
closes: CCI-262
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228562
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@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>
2020-03-04 18:18:33 +00:00
James Butters b5aa09359a FSC propagate false and reduce timeout
FSC needs some attention and is currently blocking
some patchsets from merging. Set propagate to false
while we work on some issues. Also reduce the timeout
to be similar to other build times.

flag = none

Change-Id: I0e2677fe3dea294c96c9285edd6b6519d34ed560
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228212
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Tested-by: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-02-27 17:07:44 +00:00
James Butters 6112608809 propagate fsc results
closes: CCI-226
flag = none

Change-Id: Id8a9e2c8ffe12b5fcb52171a4eabefa5e1beea13
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227740
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-02-24 19:31:38 +00:00
James Butters 8c9e1c4c0f spec: decrease timeout for fsc running tests
Decrease the timeout to a more acceptable time. Don't run FSC
on change-merged events.

flag = none

Change-Id: I4e2a4ceae64462f886c194e9c79977027b90c7f7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/226771
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-02-14 18:34:29 +00:00
Brian Watson 5dbd07d68c implement flakey_spec_catcher build
To optimize re-runs, FSC uses the same settings for
RSpec::Core::Runner but just clears the RSpec example queue
between runs. The changes in spec/selenium/common.rb ensure
that we don't start up a new webserver and driver when there
is already one existing. This creates connection issues.

closes: CCI-225

Test-plan:
 > export COMPOSE_FILE='docker-compose.new-jenkins.yml:docker-compose.new-jenkins-flakey-spec-catcher.yml:docker-compose.new-jenkins-selenium.yml'
 > docker-compose up -d
 > docker-compose run --rm web flakey_spec_catcher
 - verify that no specs are re-run
 - Try making changes to other selenium and api specs, re-run
 > docker-compose run --rm web flakey_spec_catcher
 - and make sure that the results appear as expected

Change-Id: I005ca9dec5e75f72788a7db5a9fa640f69071f6d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218480
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-02-11 19:39:47 +00:00
Derek Bender f682c195c8 Filter printenv in jenkins output
Filters keys ending in _KEY or _SECRET

Closes: CCI-202
flag = none

Test Plan:
- keys like GERGICH_KEY are no longer printed in the builds

Change-Id: I3c6b7cc882ba36b291dc44ac5fe9c958aa24cd60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/224898
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-02-04 14:14:08 +00:00
Rex Fleischer da2915bca5 turn off linters build for plugins build
fixes: CCI-198
flag = none

Test-Plan:
run in plugin build and ensure linters dont run

Change-Id: I40e04a7165ae5757a20a9cf556fabfe0811240a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/223817
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-01-20 18:43:44 +00:00
Rex Fleischer d3928567de pass gerrit project to subbuilds
fixes: CCI-197
flag = none

Test-Plan:
manually run the build in question and ensure it passes.

Change-Id: I21d8752d246c244db15f37978a867af251e3f2a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/223719
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-01-17 22:02:54 +00:00
Rex Fleischer f4059ac515 dont rebase unless it is a push to canvas-lms
fixes: CCI-194
flag = none

Test-Plan:
do a PS to a sub build and make sure it doesnt rebase canvas-lms

Change-Id: I12e9d006c901e3030414d08fd33600fd69fc6ca0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/223510
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-01-16 20:49:23 +00:00
Rex Fleischer df21d2730d fully setup master bouncer checks
[skip-cache]

do do this we had to add the master bouncer secret in
jenkins as well

fixes: CCI-166
flag = none

Test-Plan:
look at the logs and ensure the master bouncer check runs

Change-Id: Id9b72d1863863bf4e0bf2927e52c92ae87d937c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221473
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-01-10 15:10:32 +00:00
James Butters e608211798 spec: remove smoke test stage
It is time to remove the temporary smoke test stage.

closes: CCI-129
flag = none

Change-Id: I5df4e4a5de44516fde19201a509c5c2d3ce1e973
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/222546
Reviewed-by: Rex Fleischer <rfleischer@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>
2020-01-09 17:52:02 +00:00
Derek Bender d48348d032 Spec: Add escape hatch for build caching
[skip-cache]

Closes: CCI-69

Test Plan:
- in the job for this patchset look for the following message:
  "Build Cache is disabled! <snip>"

Change-Id: Ie9bc534f83aa821a5bb73818175397a11b2c365e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221866
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-01-09 17:48:32 +00:00
James Williams 2edbedf0ff spec: improve error reporting
Change-Id: I7a47e064c483170b7815d1c3b6a69ff52605a107
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221326
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-12-20 20:41:37 +00:00
Rex Fleischer d7d95e62aa cleanup main jenkins file for better usage
fixes: CCI-158
flag = none

Test-Plan:
make sure there are no artifacts when build succeeds.
also make sure linters dont run when merging.

Change-Id: Ibf812480fbcdbf886ffd282dae7146065a7e8ead
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221107
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-18 20:43:00 +00:00
James Butters ad769bf6e1 spec: propagagte results of rspec and selenium
flag = none

Change-Id: I5041e548edef71a646b3e4c687ef4a661fb3b5a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220974
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-12-17 16:43:46 +00:00
Rex Fleischer 18cc86979d add GERGICH_PUBLISH to be read from env
also added a build param named GERGICH_PUBLISH that is default
to 0. we can change it to 1 when we want to start publishing

fixes: CCI-157
flag = none
Test-Plan:
ensure the build doesnt change

Change-Id: I3a36aa4cd1d2500156d930dea7825d6f22643ff6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220957
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-16 21:55:47 +00:00
James Butters 3546768d3f spec: watch new rspec builds for stability
trigger rspec builds, with propagate set to false
while we are monitoring and comparing against old
jenkins rspec builds.

closes: CCI-125
flag = none

Change-Id: I5e48b6b331e466c0e77b9f7e74025af5d89849ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217411
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-12-13 22:14:36 +00:00
Derek Bender cf4c31ecac Fix standalone performance build for nightly runs
Closes: CCI-7

flag=none

Test Plan:
- Main build passes normally
- Trigger a build manually for `selenium-performance-chrome` with this
  patchset's refs/changes/18/219818/<PATCHSET_NUMBER>
- The build should run normally without configuration type failures

Change-Id: Icc67d1274783b47166ea10f09061cc76727fbc62
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219818
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2019-12-12 22:42:11 +00:00
Rex Fleischer 4e2ce175d8 allow the docker-cleanup script to fail
fixes: CCI-151

flag = none

Test-Plan:
make sure it runs through the pipeline correctly

Change-Id: Ib1b76010b8122dcb76d9f257a1f2d674f6afc2c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220247
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-12 16:26:24 +00:00
James Butters 61d94bdf96 Trigger the selenium build
Trigger the selenium build so we can watch for issues and flaky
specs. Skips a few flaky specs with jira tickets to come. Set
reruns to 2 so we can rule out any minor flaky specs.
rspec-tests.sh and rspec-with-retries.sh removed nounset and all logging
for rspec-with-retries.sh.

fixes: CCI-126
flag = none

Test plan:
Selenium builds are triggered with each ps from the main-canvas build.

Change-Id: I504e1b158e1c85e9c137a5b5757be101207420d0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219425
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-12-12 15:31:30 +00:00
Rex Fleischer 84cb85fdd7 add cleanup to jenkinsfiles
fixes: CCI-148

flag = none

Test-Plan:
look through the logs on each build and ensure the pre-clean runs

Change-Id: I1e10ab43deeb4dbcaa7b9c4f08ea3737675ebdf4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220000
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-10 17:14:57 +00:00
Rex Fleischer 3da956e3d4 update the Jenkinsfile to pass a CANVAS_LMS_REFSPEC is requested
there is also quite a few changes to the build configurations:
- main-from-plugin changes
  - add CANVAS_LMS_REFSPEC to build params and default to master
  - add GERRIT_CHANGE_COMMIT_MESSAGE param so it can be passed
    in for manual builds
- _all_ test-suites builds
  - add a CANVAS_LMS_REFSPEC and default it to $GERRIT_REFSPEC:$GERRIT_REFSPEC
  - update pipeline repo refspec to $CANVAS_LMS_REFSPEC

this will allow parent builds to override what _canvas_ refspec is used
in subbuilds. this gives us a few things:
- the plugins build can override to use master
- the plugins build can test changes via manual builds
- the main build is unchnaged

fixes: CCI-60

Test-Plan:
there was quite a bit of trial and error in this change, so looking
at thoses could help. but for direct QA, we need:
- to ensure that the main build is not changed (this commit passes normally)
- ensure this gets pulled and ran from a manual build in main-from-plugins

Change-Id: Ia292015874727bf8afabd90c9d246770d717b7fc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219668
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
2019-12-06 23:06:05 +00:00
Derek Bender 66aa7fc851 spec: remove perf build from main build
Refs: CCI-7

Change-Id: Id3708557adb6c7b088e7f141e3b58a5e7b2b200f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219469
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2019-12-05 22:00:09 +00:00
Rex Fleischer caf7eac708 set propagate to true for linters and js build
fixes: CCI-121

flag=none

Test-Plan: things pass

Change-Id: Ic8aecc5993f892a37393c21edf0597922cae25af
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219441
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-05 16:02:56 +00:00
Rex Fleischer f9edb9a513 add graphql linter and cleanup some groovy scripts
fixes: CCI-115

Test-Plan:
do these steps in one PS:
1 - make some changes that would fail the graphql
2 - add the skip-ci flag in commit message to skip old jenkins
3 - set the GERGICH_PUBLISH = 1 in the main Jenkinsfile
4 - look at patchset 9 for these

Change-Id: I9f3a7028cac5c659d8e3a3b8c8e6f6fbe5423bc2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218401
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-12-03 19:11:01 +00:00
James Butters e08fceccbc spec: trigger contract-tests builds and propagate results
closes: CCI-124
Change-Id: I9868eeb09686fe7d29ad80c78863f09636c2b3de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218716
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-12-02 21:12:17 +00:00
Robert Lamb f98fe4fae7 Rename Frontend build to JS and oncomment
fixes: CCI-120

test plan: Jenkins build passes and runs the JS test suite

Change-Id: If924af6c0eceece51f826c4cd337735d24081b1e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
2019-11-27 17:20:25 +00:00
Rex Fleischer caa23cbd8d add gergich integration to builds
also added a commit flag checker and moved the credential
methods to another location to share in linters build.

fixes: CCI-80

linters build changes:
- added build param: GERRIT_CHANGE_COMMIT_MESSAGE
- added build param: GERRIT_HOST
- added build param: GERGICH_PUBLISH

Test-Plan:
made some changes and saw gergich send -1 those changes.

Change-Id: I8ff32e1e890f495d4afd0f9791ff183dfeabf750
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217416
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-11-22 20:08:11 +00:00
James Butters d6e645a1c6 spec: add slack alerting for failures
closes: CCI-40

Change-Id: I78a022754cb6cff0c40e9d7a2413ff204fd20bf6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218003
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2019-11-21 17:03:35 +00:00
Derek Bender 2ed92a2075 bump Publish Merged Image timeout
Change-Id: Id2d799eb631a33c10940c200e1abe9f070a33d03
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217832
Tested-by: Jenkins
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: Derek Bender <djbender@instructure.com>
2019-11-20 14:43:56 +00:00
S. Jacob Powell 8f6dad2acd Enable vendored gems and loading migrated dbs
test plan:
This enables vendored gems to propagate, since those will have been
fixed by the first part of this commit which is ticket CCI-96
Loading migrated images is also enabled again in this commit, since they
will be correct after merging the CCI-96 patchset (they will be stored
on merge of that commit)

This follow up commit allows for a two-step verification that the new
cassandra changes actually work, and don't fully rebuild cassandra but
pull the base image and configure it instead. This will also fix
vendored gems from failing due to having to build cassandra, since it
will be using an existing image, therefore propagate will be turned back
on

fixes: CCI-101
Change-Id: I64803acb324132784e8caf5eb3957e094dbf7adc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217637
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: S. Jacob Powell <spowell@instructure.com>
2019-11-19 16:12:45 +00:00
S. Jacob Powell 65cbdb7c22 Set vendored gems propagate to false to stop failing builds during fix
Change-Id: I0dc8376a1bb5b6a5dc771babfc2c8a25cd33827e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217599
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: S. Jacob Powell <spowell@instructure.com>
Tested-by: James Butters <jbutters@instructure.com>
2019-11-18 16:29:22 +00:00