Commit Graph

87 Commits

Author SHA1 Message Date
Aaron Ogata 2dcc3df114 introduce canvas-builds-refspec commit flag
refs DE-349

[canvas-builds-refspec=f04c7902ccabadb61cee13fa93f09b1184925b84]

Test Plan:
1. Build pulls master when flag does not exist
2. Build pulls specified commit when flag exists
3. Build pulls master for post-merge when flag exists

Change-Id: I365efd3a305d08f7a3df76fd44799756104b4c1f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251635
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-11-02 19:33:54 +00:00
Aaron Ogata 1bfb887395 cache migrations by md5sum
refs DE-23

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

flag = none

Test Plan:
1. Jenkins pre-merge build with a new migration re-builds migrations
2. Jenkins pre-merge build with migrations cached does not re-build
3. Jenkins post-merge build with migrations cached re-builds migrations
4. skip-cache directive does not use the cached migration
5. Jenkins non-main builds works as expected
6. Jenkins FSC works as expected

Change-Id: I3221400a15220884740ad5136de7185a88ae2b39
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241013
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-10-08 16:39:18 +00:00
Aaron Ogata f5fe83f030 bail if all rspec tests are skipped
Change-Id: I0bcff09c5cc49b48e654036ddbdac2805d01fafd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/249456
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-10-07 01:01:06 +00:00
Aaron Ogata c14b877f6a don’t report aborted build as timed out
refs DE-295

Test Plan
1. Ensure that aborted build doesn’t report to slack
2. Ensure that timed out build reports to slack as warning
3. Ensure that successful build reports to slack as success
4. Ensure that failed build reports to slack as failure

Change-Id: I42117d95e4bf9808fcbed8b1f6def87815f06f66
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248838
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-09-30 17:13:16 +00:00
Aaron Ogata 4196cdb7c4 clean-up FSC plugin path
refs DE-298

Test Plan:
1. Ensure FSC plugin build passes
2. Ensure FSC main build passes
3. Ensure FSC distributes selenium tests correctly

Change-Id: Ic60d34adb16e114700c69ec67834d56155dee2e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248876
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2020-09-29 22:48:11 +00:00
Aaron Ogata 0d6fe19a3a fix FSC for plugin builds
refs DE-297

Test Plan:
1. FSC works for plugin build
2. FSC includes all tests for incomplete / last partition
3. FSC properly balances tests across partitions

Change-Id: Ie2aa7bfbf37737b00184a4d1ce6c91fbd4a2ed4e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248840
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
2020-09-29 19:22:50 +00:00
Aaron Ogata 61527e8c47 balance FSC node usage
refs DE-291

Test Plan:
1. Ensure that node times are approximately equal.
2. Ensure that FSC refuses to use over 10 nodes.

Change-Id: I08352fa231bb4f4acb7e64c1a3974895e495f26b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248756
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-09-29 15:43:30 +00:00
Aaron Ogata c3f7f55de3 use rspec dry-run to split test blocks
refs DE-286

Test Plan:
1. FSC passes when running against blocks

Change-Id: Ied2b077e78f401744499f0f70a5c976cc8fdafcd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248161
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2020-09-28 15:19:11 +00:00
Aaron Ogata 894697a01c re-use main node when running multiple FSC nodes
refs DE-288

Test Plan:
1. Ensure FSC runs with single node
2. Ensure FSC runs with multiple nodes

Change-Id: I30a7ec4fa60970900e149da4c15e05512fc59115
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248486
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-09-28 14:17:41 +00:00
Aaron Ogata 98da1a91ee prevent FSC from erroring when no test changes detected
refs DE-281

Change-Id: I95418ff125fe9964d437557b6f8c9a9d398ee2dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248451
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-09-24 19:59:56 +00:00
Aaron Ogata 269d3e23da refactor FORCE_FAILURE logic for clarity
refs DE-285

Test Plan:
1. FSC works for main build
2. FSC works for plugin build
3. FSC works for force-failure path

Change-Id: If1c632fa047b6a7776f458baf5aa3926e62c5070
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248421
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
2020-09-24 19:58:37 +00:00
Aaron Ogata 8bed209ee6 move FSC distribution code to Jenkins
refs DE-281

Test Plan:
1. FSC with multiple nodes
2. FSC with single node
3. FSC with force-failure
4. FSC on plugin build

Change-Id: Id5aa7eb52cb630e366173e08039e4d8fde945e20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248219
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
2020-09-24 15:52:18 +00:00
Aaron Ogata 46b1d47f9e distribute plugins across multiple nodes
refs DE-284

Change-Id: I94bcdcbfa17022185b8c37dbd6fdcbf65d69309d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/248337
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2020-09-23 22:18:41 +00:00
Aaron Ogata b7124d052b protect FSC against spot instance failures
refs DE-139

[skip-docker-build]

Test Plan:
1. Ensure job passes with 0 node removals
2. Ensure job retries upon node removal
3. Ensure job runs finally / clean-up block(s) correctly
4. Ensure job runs when FSC doesn’t split into multiple nodes
4. Ensure job runs when FSC splits into multiple nodes

Change-Id: Iacbc6f08162e8a68342a7cef3236fc255a52ebcf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243451
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: Aaron Ogata <aogata@instructure.com>
2020-07-28 18:03:49 +00:00
James Butters 102e009094 spec: uprade chrome to 84
Upgrade chrome browser to version 84 as part of browser.yml upgrade.
https://github.com/SeleniumHQ/docker-selenium/releases/tag/3.141.59-20200719

closes: DE-135

Test Plan:
-Jenkins builds pass
-chrome 84.0.4147.89 is used, verified in jenkins logs

Change-Id: I1fa8c552ca93dd0266058786ff69055f0e501c46
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243004
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: Aaron Ogata <aogata@instructure.com>
2020-07-22 21:05:34 +00:00
Aaron Ogata d9905f860a add BUILD_REGISTRY_FQDN to environment in FSC
Change-Id: Ic2c9751f8b81f57a3eaa5f078815db67beaaa7ee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243081
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-07-21 15:07:30 +00:00
James Butters 5298bf7b9a add selenium version to jenkinsfile.selenium.fsc
flag = none

Change-Id: Iefd519cd2eedf9ada5a7756ded47b5040df4d713
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241546
Reviewed-by: Ryan Norton <rnorton@instructure.com>
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: James Butters <jbutters@instructure.com>
2020-06-30 17:17:05 +00:00
Rex Fleischer c5c3820042 use shared library for configuration
fixes: CCI-389

Test-Plan:
we need to run all the builds that we can for this:
- the current build needs to pass
- main-for-plugins needs to be ran
- master-bouncer
- dive?
- translations

Change-Id: Iae7f9dad7668b90653a0b9a8edc20ec69fa109c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240345
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-06-18 18:36:49 +00:00
Rex Fleischer 03bcc04e8c update fsc to go into the plugin directory to do tests
[skip-docker-build]

fixes: CCI-402
flag = none

Test-Plan:
execute the plugin build with this PS

Change-Id: Id8c85ef80671a5cd055e2aafd15cfb98d8251045
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239678
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-06-17 14:58:09 +00:00
Rex Fleischer cf86e6d5ec change from using WORKSPACE to current directory for builds
while migrating to a build repo, we need to be able
to run these build scripts within the dir(){} on the checked
out root of this project. that will allow us to run these
scripts.

refs: CCI-393
flag = none

Test-Plan:
this build run and we test it with force-failure.
execute this with the canvas-builds while referencing this
PS to ensure that it will fix the WORKSPACE problem.

Change-Id: Idfe656771e2e4208e3b0980c942186a516f3bac1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/237905
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-26 18:33:29 +00:00
James Butters 335f6c8c46 spec: more parallel of docker, better even
using the option project-name with docker-compose allows
us to have all services separate for each group of tests.

test plan:
Jenkins passes all build
logs are copied out of containers for archiving/test reports
run with force-failure flag


flag = none
closes: CCI-341

Change-Id: I99820f64023dde17a1b75e76bcec2dfe84529e91
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236029
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-05-11 15:07:18 +00:00
Derek Bender 0f40402dfb Add timestamps to all builds
Closes: CCI-368

flag = none

Test Plan:
- All builds now have timestamps in the logs

Change-Id: I76f6b329c1b7f04511c6f63643964d6ccc8aa350
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236719
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-05-08 22:20:37 +00:00
Rex Fleischer 0bae9c44df add force failure for fsc
[skip-docker-build]

fixes: CCI-350
flag = none

Test-Plan:
add force failure to commit message and ensure fsc
actually gets forced to fail.

Change-Id: I3825dd389c9643ed8abb911cb0cd04b7101c6f9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235673
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: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-05-07 20:18:44 +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
Derek Bender 7e452e280e setup postgres extensions on all test dbs
Closes: CCI-345

Test Plan:
- set your COMPOSE_FILE to docker-compose.new-jenkins.yml
- remove any existing database volumes via
  `docker rm canvas-lms_pg_data` or `docker-compose down -v`
  which will remove all volumes in the project.

- update the image with `docker-compose build postgres`
- start the container

    $ docker-compose up --detach postgres

- create a second database:

    $ docker-compose exec -T postgres createdb -U postgres \
      -T template1 canvas_test1

- check both databases:

    $ seq 0 1 | parallel "docker-compose exec -T postgres psql -x \
      -U postgres \
      -d canvas_test{} \
      -c \"SELECT * FROM pg_available_extensions \
        WHERE name = 'pg_collkey';\"

- Expect two records to be present:

    -[ RECORD 1 ]-----+-------------------------------
    name              | pg_collkey
    default_version   | 0.5.1
    installed_version | 0.5.1
    comment           | ICU collation function wrapper

    -[ RECORD 1 ]-----+-------------------------------
    name              | pg_collkey
    default_version   | 0.5.1
    installed_version | 0.5.1
    comment           | ICU collation function wrapper

Change-Id: If1417df3edab788372927b16632e146069a6829e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235310
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-04-27 18:25:57 +00:00
Rex Fleischer 06b0f6441f configure fsc to ignore gem plugin specs
fixes: CCI-306
flag = none

Test-Plan:
run the build with a test that should not be ran and
ensure it gets ignored.

PS4 showed the above

Change-Id: I55434d1e77c119e06e20b2a0cb2aca31fa94f498
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234086
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: Rex Fleischer <rfleischer@instructure.com>
2020-04-15 17:16:23 +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
Derek Bender 68d03c9e94 Add verbose flags to builds
Closes: CCI-248
flag = none

Test Plan: builds pass

Change-Id: Ia0421d4036eb1655a10497363e0327779c69746b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229446
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
2020-03-18 13:41:00 +00:00
Brian Watson 453f88d436 Add slack output to fsc
Test-plan:
 - look at previous PS and their corresponding FSC jobs
   and verify the jobs pass/fail accordingly
 - go to #flakey_spec_catcher_noisy and click the links
   verify that the correspond to the right builds
   and that the slack message colors correspond correctly
   to pass / fail

Change-Id: I00678ea186196f4202f6f3aa3620e67869bef26c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229240
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2020-03-12 15:46:00 +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
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 9b683a0b82 change container to web
we're trying to copy from flakey_spec_catcher container, should
be web container for output file.

flag = none

Test Plan
  Jenkins passes

Change-Id: Ic17a3d6287ccd073ddff317e4bdadcd83844128d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228096
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
2020-02-26 23:13:00 +00:00
Rex Fleischer 63a71e7cc7 make flakey spec catcher build potentially distributed
fixes: CCI-236
flag = none

Test-Plan:
get it passing as is, then make a version of this
PS have a bunch of test changes to force the distributed
path to trigger.

- test with one node
-- PS 11
-- https://jenkins.inst-ci.net/job/Canvas/job/test-suites/job/flakey-spec-catcher/299/
- test with multiple nodes
-- PS 14
-- https://jenkins.inst-ci.net/job/Canvas/job/test-suites/job/flakey-spec-catcher/306/

and for testing with no spec changes, the latest PS will have no tests

Change-Id: I4c69ce5c4cb67448ed270ae9fb3255ce21356b11
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227214
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2020-02-20 21:02:26 +00:00
James Butters 8294c8059d add use-parent option for flakey_spec_catcher build
flag = none

Change-Id: Ice5002596684c5000d1b8190b75dd16e7cf04a6f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227057
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-02-18 22:10:21 +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
James Butters 552c5b504c spec: archive output and cleanup
Add stage to copy over output from fsc for debugging. Add
cleanup post steps.

flag = none

Change-Id: Ibe8795e114f23efea86488285fe788bc8347a8de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/226416
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-12 22:15:03 +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