Commit Graph

116 Commits

Author SHA1 Message Date
Rex Fleischer ed7bcbb275 add external configuration for fsc propagation
note:
FSC_PROPAGATE folder config file added in jenkins canvas folder

[skip-docker-build]

fixes: CCI-349
flag = none

Test-Plan:
run the build with FSC_PROPAGATE config set to 1, and ensure
propagate was set to true. then set to 0, and ensure propagate
was set to false.

Change-Id: I929929725df88d50e78ab918803c6e67460795f4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235659
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: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-05-01 15:30:19 +00:00
James Butters c864cab227 spec: add postgres_password to fsc build
We missed adding the postgres password to fsc build.
This adds that env var and propagates the results.

FSC build working with changes:
https://jenkins.inst-ci.net/job/Canvas/job/test-suites/job/flakey-spec-catcher/4785/

flag = none
closes: CCI-355

Change-Id: Ia9eea1ed9c42f1946b9c840472d1e51383987e7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235737
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-04-30 16:10:39 +00:00
Rex Fleischer 85c2ac5338 turn off fsc voting
fixes: CCI-348
flag = none

Test-Plan:
jenkins passes without fsc voting

Change-Id: I92d2a16f2520336d4201f5c002b84fb76f301d7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235654
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Tested-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-04-29 16:48:22 +00:00
Derek Bender 7c97f93a18 disable spring in ci, again
Closes: CCI-344

Test Plan: No mention of spring in any stage that uses
build/new-jenkins/docker-compose-create-migrate-database.sh

Change-Id: Iafe5bb635bf936f83fdad1170398bb8852ebb804
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235312
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-04-27 15:27:13 +00:00
Rex Fleischer 33b539552b use folder level BUILD_REGISTRY_FQDN value
fixes: CCI-337
flag = none

Test-Plan:
build needs to work while consuming the new config value

test notes:
example of noisy error:
PS7 -> https://jenkins.inst-ci.net/blue/organizations/jenkins/Canvas%2Fmain-canvas/detail/main-canvas/28616/pipeline

example when param not found:
PS10 -> https://jenkins.inst-ci.net/blue/organizations/jenkins/Canvas%2Fmain-canvas/detail/main-canvas/28619/pipeline/

example of being able to override with build param:
PS11 -> https://jenkins.inst-ci.net/blue/organizations/jenkins/Canvas%2Fmain-canvas/detail/main-canvas/28622/pipeline/49
look for the SHARED_REGISTRY_FQDN env variable

Change-Id: I9e41eead91e629e971a690e6c09fba754ad54a29
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234928
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: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-04-23 17:18:08 +00:00
Derek Bender 24f95643bf Disable Spring in CI
Closes: CCI-339
flag=none

test plan: spring is not referenced in builds

Change-Id: I6c3fb84f7e5d84d6507698b77495b8d376867fb3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234826
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-04-22 21:33:01 +00:00
Derek Bender cdd01025a4 Update slackSend for ruby-2.6 builds
Closes: CCI-338
flag=none

Test Plan:
- Tested by faking out the logic to detect merge-patchsets,
otherwise this isn't really testable until we have future failures once
this is merged

Change-Id: I81a95dca425fc25e85a8a7425e864a0740cf1f49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234747
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
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: James Butters <jbutters@instructure.com>
2020-04-21 20:03:16 +00:00
Rex Fleischer d5012fb459 Revert "set shared image to go to artifactory"
This reverts commit ac4f235b56.

Reason for revert: CCI-335

Change-Id: Ie97b3c2a03126beb4c4b23ef96f3168dbc3eba79
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234761
Reviewed-by: Derek Bender <djbender@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-04-21 13:07:58 +00:00
Rex Fleischer ac4f235b56 set shared image to go to artifactory
fixes: CCI-313
flag = none

Test-Plan:
the build works and is generally faster

Change-Id: I419826a31dd311454d3d0ac44d338a93118f13fe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233041
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: 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>
2020-04-20 21:12:55 +00:00
Derek Bender e9aac0210b Add set options to inline scripts for builds
Refs: CCI-326

This will allow us to more easily detect errors when manually triggered
builds don't have the correct environment variables set.

The rebase step had no capacity to check for unset environment
variables. Adding these options fixes that.

Test plan:
- Manually trigger a build so that GERRIT_EVENT_* variables are all
  unset
- Rebase step includes the correct name and email, which have defaulted
  to $GERRIT_PATCHSET_UPLOADER_*
- Build no longer gets hung up on Linter step for master bouncer

Change-Id: Id9defa7235119a9586bbe2e1127beab6b87429c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233916
Reviewed-by: Rex Fleischer <rfleischer@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-04-17 16:12:46 +00:00
Rex Fleischer ec61fca7ea add failure messages to be sent to gerrit PSs
fixes: CCI-304
flag = none

Test-Plan:
retrigger until there are error and ensure the message is
sent correctly. so make sure that no messages are sent when
no error is happening.

QA: example on PS35

Change-Id: I10f41c54ec3764f761284ae0d984ed1d67af391d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232289
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-04-10 15:39:11 +00:00
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