flag=none
Test Plan:
- Add or modify a byRole query in a jest test
- Commit and push
* Verify linter leaves a -1, not a -2
Change-Id: I1722cdcab0d38f0f09de17b75fb2445d446cd78d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349055
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
flag=none
closes RCX-1848
Test Plan:
- Check out PS
- Add/Remove uses of byRole
- Make and push new commit
- Or run script/tatl_tael locally
* Verify comments only in files in /__tests__/
* Verify comments only on new uses of byRole
* Verify no comments on existing uses of byRole
Change-Id: I931f70a6fa2df94fe85b0d210a4888ff062e5113
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348071
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
I ended up needing to remove this with webpack -> rspack
Change-Id: I047c84b7355b89455f1df57a783dbcbfa5fd11a6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/337968
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
[skip-stages=Flakey]
[skip-crystalball]
99% of fixes are Performance/StringIdentifierArgument, but one or
two instances of each of Performance/Count, Performance/MapCompact,
Rails/Pluck in safe navigation chains
Change-Id: Ibd2292fb9e7c1e9162068021073c3c0f4b0d65df
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/335489
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Also:
- Remove some unnecessary use of @instructure/ui-themeable
- Remove use of TsMigrationAny
- Remove some instui-related module declarations
(no longer needed)
- Remove old upgrade-instructure-ui script
- Upgrade typescript and babel-plugin-typescript-to-proptypes in RCE
Test plan:
- Build passes
flag=none
Change-Id: I734183ed8bdf68422e4eb46285909c30bc31ee33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/334667
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
why: we decided that the lint severity level should be "warn"
and that it also should inform that the warning could be ignored
if you knew what you were doing.
refs: INTEROP-8268
flag=none
test plan:
- wip commit that modifies the variable expander file but not
the docs should cause lint warning message
Change-Id: I3f997cfa2b3da733bf4bf6cea06fb5e75ae95d9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/332836
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
why: when adding or editing an LTI custom variable expansion,
changes to the comments are not automatically synced to the
API docs unless `rake doc:api` is run. This often gets missed.
fixes: INTEROP-8268
flag=none
test plan:
- wip commit that modifies the variable expander file but not
the docs should cause lint warning message
Change-Id: Ibe331322a135f697fa115fb8e12f81ff32fd0fe5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/332325
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Steve Mcgee <steve.mcgee@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
update script prompts you to stop containers,
but previously it never restarted them
Change-Id: Id93d128755ea0ad176b429857b24fa15ec2649c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/332200
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Refs FOO-3190
Refs FOO-3708
Refs FOO-3913
flag=none
[fsc-max-nodes=30] [fsc-timeout=60]
Uprevs InstUI and addresses all post-uprev tasks. Also now that
InstUI is fully TypeScript, a bunch of type errors appeared
which needed to be addressed.
It builds against the commit of MRA that will have to merge
concurrently with this.
Still to do: theme -> themeOverride which is a separate commit
off of this one that is ready to go.
Test plan:
* cross your fingers
* (this will need some extensive review before merging)
Change-Id: I45a1138530d415398b019cfedcf8a3b57a051912
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/329443
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
well, somewhat. it's vendored for now, bugfixes and improvements
have been going into that gem, and we'd like those fixes in
Canvas.
Change-Id: Ib4f30926acddb364779b9f91b1ee129ba6b17ff0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
Refs FOO-3190
Refs FOO-3708
flag=none
[fsc-max-nodes=30] [fsc-timeout=60]
[pin-commit-multiple_root_accounts=03b5f961bbaa28af3d43b0a6a2ab072654cc6468]
Uprevs InstUI and addresses all post-uprev tasks. Also now that
InstUI is fully TypeScript, a bunch of type errors appeared
which needed to be addressed.
NOTE:
This is an amalgam of g/314136 and g/326557 which will get abandoned
once this passes Jenkins and is merged.
It builds against the commit of MRA that will have to merge
concurrently with this.
Still to do: theme -> themeOverride which is a separate commit
off of this one that is ready to go.
Test plan:
* cross your fingers
* (this will need some extensive review before merging)
Change-Id: I860c3dc04d34237e32aeaa138f6c377a016ceeae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327683
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
instead of an inline gemfile. this ensures the same lockfile is used as well
Change-Id: I885c6af20950ca331992e3ba0a0c06ef5ec673d5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327177
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
because of course there are three places for this (ノಠ益ಠ)ノ
Change-Id: Icc8e6dd9c4f35685a282af70162e1a911c9a6eca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326821
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
* don't ignore gems if they're part of another dependency group
* nokogiri got updated
* aws-partitions and sorbet-runtime are frequently updated;
we don't need latest
Change-Id: I91b53a833c4fd12a05c154a6f507ae03cb19d4e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326055
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
this functionality existed for 'local' canvas
instances, but this now adds it for dockerized
setups
flag=none
qa risk: low
test plan:
-run the script: `node docker_webpack_monitoring.js`
-start webpack logs: `docker compose logs -f webpack`
-trigger webpack by altering some front-end code
-monitor the logs manually
>confirm you get a MacOS notification shortly after
webpack ceases processing
Change-Id: I4877d411c271058b7544bbe8c2dd0e888396ba0d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/321140
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
[skip-stages=Flakey]
Change-Id: I6abefdfa9fed6dd4525c8786e93efa548b3710f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319603
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
closes AE-283
this eliminates script/sync_lockfiles.rb and integrates its
functionality directly into `bundle install`, `bundle check`, etc.
it also generalizes a few pieces so that the same approach is used
for all use cases:
* syncing versions between the main Gemfile and gems in gems/
* maintaining separate lockfiles for no plugins/including
private plugins
* maintaining separate lockfiles for multiple Rails versions
(crossed with the previous bullet)
The differences between them are just small variations on how strict
versions must match between lockfiles, and requiring pinning of
versions not in the default lockfile.
For full details, checks the docs on BundlerLockfileExtensions
This does change the strategy for filtering private plugin dependencies
out of the committed lockfile(s) - instead of filtering based on hash
of source, simply don't even include private plugin gems in the gemfile
when building the filtered lockfile (i.e. dynamic Gemfile, rather than
monkeypatching bundler to filter out -- semi-succesfully -- private
plugins from the Definition).
It also changes the "default" lockfile for Canvas that gets checked
in to be Gemfile.lock, so that other tools that are not
multi-lockfile aware can find it (such as rubocop, dependabot, and
others). This will be the lockfile corresponding to the current
default rails version for Canvas, and without private plugins.
Change-Id: I7ba398381974acbc4445f34fa3b788e8a07c5ce6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317888
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
Actually use Bundler to write them out. this ensure that all
constraints are checked with the gem's Gemfile. Had to resolve
several issues with gems along the way.
also removed RedCloth from canvas_stringex, because it's never
used
Change-Id: I614be19e147bdfd3e351e7f032fd6f9b0c1926be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317781
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
and remove now-duplicated config
also fix a few offenses that snuck in due to code review race conditions
as part of this, Rubocop was loading the lockfile, so our "clever" rubocop
binstub had to be adjusted to use a lockfile. this allows us to commit the
lockfile, which I then also updated the sync_lockfiles script to handle
this one as well
flag = none
test plan: N/A
Change-Id: I20ee2672c5219a40e90bc1138f8900a8d2ce08ee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317373
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
where ir refers to increasing the memory needed to run Canvas.
closes gh-2180
flag=none
Test Plan:
- specs pass
Change-Id: I63ea90221625bf95f4587bea59d68b0a0e3a5049
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316202
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
still need to ensure gem dependencies are consistent, but this should
prevent unexpected breakage during tests
Change-Id: I39420479fd3fe4f7e49a12a418eca033fcdc7564
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314979
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
the bundle check was falsely reporting as dependencies met
with updates to Gemfile.rails70.local.partial. Remove the bundle
check and just run bundle install, if there are not updates
it's still fast and doesn't cost any time
Test Plan:
-with a clean state
-downgrade a gem in Gemfile.rails70.lock.partial
e.g. strscan (3.0.6) -> 3.0.5
-run docker_dev_setup.sh
-confirm gem version in Gemfile.rails70.lock
-restore the gem in Gemfile.rails70.lock.partial
-run docker_dev_update
-the gem is updated in Gemfile.rails70.lock to match
Gemfile.rails70.lock.partial
Change-Id: Ide32d45667502df7882b374de4773b63f687d153
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315997
Reviewed-by: Andrea Cirulli <andrea.cirulli@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>
This adds 88 ignores and removes 32, and with more careful review
we could probably shrink the ignore list, but this will allow
brakeman to become more manageable/useable and therefore actually
useful
Change-Id: I65514b4fe5fa046560a92415db0b3d3403aa20f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315511
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
We only want the docker-compose version which is first so pipe it to head. This fixes the syntax error.
closes gh-2169
Test Plan:
- On linux and mac, run the script with and without the change. Confirm funtionality still works and syntax error is removed.
Change-Id: Ief1a69947f93a1aa4ce2039ab2734474e0a6dc7c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314123
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
we no longer need to remove the Gemfile.lock, remove the code that
does this as part of setup.
Test Plan:
- Jenkins docker smoke passes
- running docker_dev_setup.sh locally passes
Change-Id: Ic8807497f0f7489028ae474f0774cc5f871cb0f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311951
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Test plan:
- See that TypeScript errors are reported in Gergich for prior
failing build
- Tests pass for latest build for this commit
flag=none
Refs DE-1519
Change-Id: I3cd7e8fc43d24932fdd60b296e9015d76d3671ac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310278
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
flag=none
Test Plan:
Run setup script on a Mac.
Change-Id: I2adec5712d1afa0d7ad102bfb6a5605736ee1ea4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309008
Product-Review: Jason Perry <jason.perry@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
closes AE-30
flag=none
test plan:
- verify Canvas boots in CD
- verify no influx of new errors in CD
[fsc-timeout=30]
Change-Id: Ifa04bebe1b09f01c6d3b8b2d8f3bb424759730f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
Change-Id: I954402cb7016c1590748f149279865db967272a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308110
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Adds an override file you can use to run build:watch on the packages
that have es builds (since main webpack build is getting them from there
instead of watching the src directly)
Currently this is canvas-rce and canvas-media, but more can be added
flag=none
test plan
- Remove the canvas-media and canvas-rce volumes from your
`docker-compose.override.yml` file
(see changes to docker-compose.override.yml.example)
- Update the `COMPOSE_FILE` variable in your .env file to include
`docker-compose/watch-es-packages.override.yml`
(make sure it's after your main override file)
- `docker-compose up -d` to recreate your containers
- `docker-compose logs -f webpack`
Observe that the canvas-rce and canvas-media builds happen before
webpack starts
- Wait for the initial webpack build to complete
- Make a change to some JS file under canvas-rce and/or canvas-media
Observe in your webpack container logs that webpack rebuilds
- Go to https://canvas.docker and make sure the change you made is
reflected
Change-Id: Id08d52cc35bf120723b6ed05817ea01644ebec23
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300091
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Update this script so that you can call it with a `--domain-tld` option
This accommodates local setups that want to use SSL certs provisioned
against `local.inseng.net`, or other local setup variations
flag=none
test plan
- `docker rm -f http-proxy`
- `. script/common/utils/dinghy_proxy_setup.sh`
- `setup_dinghy_proxy`
* Expect that the `http-proxy` container is created
- `docker inspect -f '{{json .Config.Env}}' http-proxy`
* Expect to see `DOMAIN_TLD=docker`
Repeat the above, but with
`setup_dinghy_proxy --domain-tld local.inseng.net`
Expect to see `DOMAIN_TLD=local.inseng.net`
Change-Id: I9d13ec497cf087e9db174ac98a793933afcb20ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304582
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>