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
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>
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>
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>
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>
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>
test plan:
View the logs and see that it indeed does not call the pull.sh script
unless there are no cached migrated images
Change-Id: I7a9c5ba6a631b3a41c5bb550dfbd405413321c9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/217524
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
QA-Review: S. Jacob Powell <spowell@instructure.com>
Product-Review: S. Jacob Powell <spowell@instructure.com>
Overview:
This patchset is intended to save time by saving and loading migrated
containers and reusing the image.
It checks to see if all three database images were loaded (the cached
ones) and if so, then it uses those instead of migrating from scratch.
If one of them is not loaded, it performs the regular process.
The storing of the migrated images will only happen on merge.
It does run migrate on the cached images, but it correctly skips
anything that was already done.
This pattern will be repeated in each sub build, which should save a lot
of time not having to redo the migrations.
Test plan:
View the build and confirm that it passes when loading cached migrations
Should be about a minute or more faster
Fixes: CCI-30
Change-Id: Iba878bb646fd976deab5d624e8960cac63d09677
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/213268
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: S. Jacob Powell <spowell@instructure.com>
Product-Review: S. Jacob Powell <spowell@instructure.com>
fixes: CCI-37
Test-Plan:
look at the build logs and ensure the linters run
Change-Id: I6abed7e07296e72d5ddfea4356e98184c0a8d698
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215975
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
QA-Review: S. Jacob Powell <spowell@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
To test dual voting in canvas-lms gerrit project,
run only the smoke test and Vendored Gems test suites.
Change-Id: I9925c46eccd283a78e769b54d41dc219ce475623
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/216935
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Tested-by: Jenkins
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
fixes: CCI-44
Test-Plan:
jenkins works and we can retrigger the build without having to
redo all the stuffs in the new-jenkins build
Change-Id: I1c277c594423a6f45c0620cbbd99fb57813c82cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215423
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
Change-Id: I8b6bba9d6d9b41864b99fe1bbddaeae4e85ecde9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/216334
Tested-by: Jenkins
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
This adds the folder to the path for each test suite job.
Merging this will break the builds until I move the jobs in
Jenkins, so I plan to merge this in the evening and immediately
move the jobs.
Fixes: CCI-12
Test plan:
This patchset won't pass the New Jenkins jobs until their moved, so
we'll have to CR on faith. If there is a problem, I'll revert.
Change-Id: I9d214eab5cc4fa1df636ce31be6a7d39181cde46
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/216060
Tested-by: Jenkins
Reviewed-by: Gentry Beckmann <gbeckmann@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
fixes: CCI-43
Test-Plan:
ensure the build works? honestly not sure. need some help on
how to test this.
Change-Id: Ia8fdd120002091784a84a714d85f01667c27962d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215811
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
Change-Id: Iaea34b21ec593f83c43f67ff7d94ea5745876866
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/214078
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Every patch set doens't need to be wasting time on all test
stages until they are stable and reporting results.
Change-Id: I8d654275350687baa1986d7f068aa701125c868d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/213569
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
test plan:
Pushing commits (including this one) passes on jenkins
The docker image is loaded before the build command, bringing the time
down to <8 minutes for the build rather than <13 minutes
The docker image also is saved after the entire build passes, in the
post script
qa risk: medium
fixes: CORE-3335
Change-Id: Id6b0a82c2f2f1cc89ff00a063d32c6aa19f856dc
Reviewed-on: https://gerrit.instructure.com/211185
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Gentry Beckmann <gbeckmann@instructure.com>
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
so we don't get rate-limited from docker hub
closes #CORE-3344
Change-Id: I5c8f0e1716a84966dc9b0f0f8595a474649f89cb
Reviewed-on: https://gerrit.instructure.com/211250
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Change-Id: I392006e5656812cafec29714d0a832bd8086fde8
Reviewed-on: https://gerrit.instructure.com/211212
Reviewed-by: S. Jacob Powell <spowell@instructure.com>
QA-Review: S. Jacob Powell <spowell@instructure.com>
Product-Review: S. Jacob Powell <spowell@instructure.com>
Tested-by: Jenkins
Change-Id: Id4a31fe3d3c8784b65730d7c62d3bd1ef68767ed
Reviewed-on: https://gerrit.instructure.com/210756
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
instead of replacing the originals in the image
Change-Id: Ibb32bb32cf2487cf17eb4688eea30d19400b02a7
Reviewed-on: https://gerrit.instructure.com/210409
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
git rebase --abort resets HEAD to the original (pre-failing-rebase)
branch, but we need HEAD to be the current patchset
Test plan:
* specs pass
flag = none
Change-Id: If5a6a89c6166a8ee33772e1cb21038f44aab975b
Reviewed-on: https://gerrit.instructure.com/209110
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
Closes CORE-3304
Test plan:
Jenkins passes
Verify builds run on canvas_docker nodes
Change-Id: I789531b8962d7ca53ff938951366a173ed69f2ca
Reviewed-on: https://gerrit.instructure.com/208506
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
Change-Id: Ic7642beccfda949d1b2a16fd3a87d4cfaa705c1f
Reviewed-on: https://gerrit.instructure.com/207662
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
closes #CORE-3252
Change-Id: I0769f4e02040ca312d2a7616b25422bbc8fc64d2
Reviewed-on: https://gerrit.instructure.com/207153
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
most builds do not need selenium container so move the selenium
config into it's own yml and only add to env variable when
needed.
Removed docker-compose-build.sh, add docker-compose build code
into the build scripts.
closes: CORE-3253
Change-Id: I5698019c69dd8940624589928b8a7d4b65f940a5
Reviewed-on: https://gerrit.instructure.com/206247
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
test plan: New Jenkins build passes again
rebased
Change-Id: Ia5919cda9838d814357290ca0625a4fdd5b94993
Reviewed-on: https://gerrit.instructure.com/204617
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
Closes: GRADE-2072
Test Plan:
- quiz_lti e2e specs can be ran because the config
files (like database.yml) are in the right location
Change-Id: I9e8736f8187be989de5955ecd181afd9360fa4c8
Reviewed-on: https://gerrit.instructure.com/185212
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
Tested-by: Jenkins
Refs: GRADE-2049
Test Plan:
- Specs pass
- All plugins are checked out in the new build:
EDU Shared/canvas-image-wip build passes
Change-Id: Idc36e29e82c90bb3daaf2ce4185515fad3fda605
Reviewed-on: https://gerrit.instructure.com/184996
Tested-by: Jenkins
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Voting can't be enabled on two different jenkins servers so this one
will post messages manually.
Also combine Plugin and Config file steps into one since each step took
<1 second to process and likely wasn't benefiting from parallelism vs
the overhead of multiple simultaneous runners. If we need it back
we should do it in bash/ruby.
Add timeouts to other steps as a precaution and indicator that these
steps should never take longer.
Closes: GRADE-2049
Test plan:
- Specs pass
- EDU Shared/canvas-image-wip build passes
Change-Id: I125d85d9ff9db5a499c9850b0902f78ad5ffc5b0
Reviewed-on: https://gerrit.instructure.com/184902
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
Closes: GRADE-2045
Test Plan
- specs pass
- EDU Shared/canvas-image-wip
Change-Id: I84ad7dd5454ae3c66785f0ad4e9a981cf8e7f246
Reviewed-on: https://gerrit.instructure.com/183431
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
for patchset, tag with refspec
for merge, tag with 'master'
test plan: build passes and tag is correct
Change-Id: I940f38f8cf13b45eb610e08381925d539664fd87
Reviewed-on: https://gerrit.instructure.com/182446
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>