Fixes: GRADE-2257
It appears that several `yarn build:canvas` scripts in
packages/ open files with `rw` permissions that they
don't have at an early enough stage in the Dockerfile.
We were previously making all the directories writeable
but this wasn't going far enough since it was ignoring
files. I have a hunch that the files don't need to be
opened with `rw` permissions but that might be a problem
with babel or something else upstream. Since we eventually
make all files owned by docker:docker might as well do it
sooner with `COPY --chown=docker:docker`.
A follow up patchset should do add this feature to all
the other COPY directives.
Change-Id: I6a09161a34d6895284a87750091de3f82aa44e15
Reviewed-on: https://gerrit.instructure.com/197837
Tested-by: Jenkins
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Also print out debug info while it's trying to pull archives
from AWS S3.
Change-Id: I41dec09de8c67652b4900255a2e53f1655dfab5d
Reviewed-on: https://gerrit.instructure.com/196747
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
In order for the `yarn build:canvas` task to work in
`packages/js-utils` canvas’s root babel.config.js needs to exist
on the filesystem.
Because our docker file didn’t do something with it in its cached
build layer steps it wasn’t there by the time docker ran that step.
Test plan:
* the docker build should not fail with:
@instructure/js-utils
| `yarn build:canvas` failed with exit code 1
…
| { Error: Babel was run with rootMode:"upward" but a root could not
be found when searching upward from "/usr/src/app/packages/js-utils"
Change-Id: I5bd4b45ca25493768a867d1662bca059c9b056cd
Reviewed-on: https://gerrit.instructure.com/194403
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes CORE-2329
There were some tests that were expecting a snapshot-like value
where it expected `new Date().toLocaleDateString()` to give something
Like “2016-7-11” but that was actually wrong. If you do
`new Date().toLocaleDateString()` in a browser it will give you
something like “7/11/2016”. And this new version of node matches what
a real browser would have done, so I just updated the specs so they
are looking for the correct format. This change does not actually
reflect a change in what a real user would see. Just what
jest/jsdom/node formats it as.
Test Plan:
- check to make sure that the assignments 2 availability dates
component produces markup exactly as it did before
- Automated tests pass
- Build canvas locally, everything passes.
- Build canvas with docker, everything passes.
Change-Id: I74285cd6d9b251ca60ab79396e332cc3a419bcee
Reviewed-on: https://gerrit.instructure.com/177198
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
This adds the RCE API as a new service to the docker-compose file that
is used by Jenkins.
Removed some unused values from the mock dynamic settings.
Also added a metadata option for tests to ignore the browser console
warnings. There are still some browser console warnings being thrown
by the sidebar that we aren't ready to fix yet. (This can be removed
later.)
fixes CORE-1805
Change-Id: I561a6050074d50a556ab40e86b98fa6f2070ad24
Reviewed-on: https://gerrit.instructure.com/161920
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
test plan:
- docker-compose down # take down existing containers
- docker-compose build
- docker-compose run --rm web yarn install
- docker-compose run --rm web bundle exec rake canvas:compile_assets
- docker-compose up
- Ensure canvas loads
Change-Id: I47862fdbacc7414bf39e86344deb082667736e35
Reviewed-on: https://gerrit.instructure.com/171513
Tested-by: Jenkins
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
if you are having problems after this commit you need
to either: `brew upgrade yarn` or` apt-get install yarn`
or rebuild your docker container or do whatever else you
use to manage software versions
Change-Id: I5c163baa8c4c814eeabca9a46501d508736a4ca1
Reviewed-on: https://gerrit.instructure.com/167252
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
if you are having problems after this commit you need to either:
`brew upgrade yarn` Or `apt-get install yarn` or rebuild your docker
container or do whatever else you use to manage software versions
Change-Id: Ie338a24544bd4677f68222b69cfa178c0ef21ca9
Reviewed-on: https://gerrit.instructure.com/160616
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
if you are having problems after this commit you need to either:
“brew upgrade yarn”
Or
“apt-get install yarn”
Or
Rebuild your docker container
Or do whatever else you use to manage software version
Change-Id: I8428112b4a44c28edd2608124bff9e01a8e960d9
Reviewed-on: https://gerrit.instructure.com/151423
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
Change-Id: I6769b05e6e4440793424171ee5b4e3171c5cf40a
Reviewed-on: https://gerrit.instructure.com/145870
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
closes: CORE-949
this also upgrades us to use what was on canvas-planner master
as of 1pm on 2/1/2018 (specifically 9569cc1)
test plan:
* canvas planner should work
* all automated builds should pass
Change-Id: Iecce81d640c8aacb79189e2b26946613a03d25f2
Reviewed-on: https://gerrit.instructure.com/135947
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Change-Id: I47783225771b1e6165770abbb12e6cdb2c55c2ce
Reviewed-on: https://gerrit.instructure.com/138346
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
If you are getting errors about “The engine "node" is incompatible with
this module. Expected version ">=8.9.4”.” after applying this change,
It means you need upgrade your node to 8.9.4. to do so:
if you use nvm: `nvm install` inside the canvas dir
If you use brew: `brew upgrade node`
If you use apt-get: see https://github.com/nodesource/distributions
If you use docker: rebuild your docker container
Closes: CORE-704
Test plan:
* js tests should pass
* webpack and brandable_css should generate the exact same
CSS and JS output as before.
* all of our build tooling, including docker stuff, should continue
to work and use Node 8.
If you know of something else that needs to be updated to use node 8
everywhere, let me know
Change-Id: Ic019710c219d8b8c627ce03e0dffde731cfa2856
Reviewed-on: https://gerrit.instructure.com/136802
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
This might help mitigate the dreaded postgis error we've been seeing
(OperationalError: could not access file "$libdir/postgis-X.X) while
allowing us to continue to use our docker volume caching mechanism
in jenkins
Change-Id: I9ae8f660709ce4e261ac064ce294740264166882
Reviewed-on: https://gerrit.instructure.com/133015
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Shahbaz Javeed <sjaveed@instructure.com>
Refs: TS-3299
We think the problem is that we're using old data files with a newer
version of postgis, there is already a script to fix the problem we just
need to run it.
Change-Id: I666deb0efde95738aaa44a72a7656e1a4b287ac7
Reviewed-on: https://gerrit.instructure.com/132927
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Tyler Pickett <tpickett@instructure.com>
QA-Review: Tyler Pickett <tpickett@instructure.com>
postgres' deb repo is busted for now, so we'll use http so we can carry
on with our projects.
Test Plan:
- build a docker image
- it should succeed
Change-Id: I63369f690fa7bf96b6b18d537f40eec790c95873
Reviewed-on: https://gerrit.instructure.com/132621
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Commit a0e14364b8 upgrades the postgres image to 9.5, but the Canvas
Dockerfile does not install a corresponding client version. This leads
to errors like this on setup:
pg_dump: server version: 9.5.9; pg_dump version: 9.3.19
pg_dump: aborting because of server version mismatch
rake aborted!
failed to execute:
pg_dump -s -x -O -f /usr/src/app/db/structure.sql --schema=public canvas
This commit fixes this issue by updating the Dockerfile to use
postgresql-client-9.5.
Test plan:
- Use a fresh dinghy VM
- Run through the docker development setup instructions
- Verify that there are no pg_dump errors
- Verify that Canvas starts and runs as expected
Change-Id: Icafbe4f280a2c40b839c36717ebe7ee133ee9b3c
Reviewed-on: https://gerrit.instructure.com/130146
Tested-by: Jenkins
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Omar Khan <okhan@instructure.com>
test plan:
docker-compose build works again \o/
Change-Id: I2d599a9463cdcca7d48e8d310c658f040b42c6a3
Reviewed-on: https://gerrit.instructure.com/125573
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
this also means we don't have to spend any time cleaning up old ones either
Change-Id: If7af1c3bfe8a274614571a4fc5df641d4cb9a654
Reviewed-on: https://gerrit.instructure.com/121147
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
bring the development docker image down from 3.6GB -> 2.4GB
add a production docker image that weighs in at 1.2GB, which should speed
up end-to-end tests
template-ize web Dockerfiles so that common stuff stays consistent, volume
dirs are set up properly, etc.
test plan:
1. docker-based builds should pass
2. docker image should be usable (docker-compose up, etc)
Change-Id: I41ebb155090f66e346bdc285ca5c613ee5793127
Reviewed-on: https://gerrit.instructure.com/112859
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
We need to do this because docker hub tries to run the tests when
test.yml is present and our current configuration won't allow us to
disable it. As a stopgap we're working around the sadness by moving the
file to a new name.
Change-Id: I09ce965da07f1207b58fe589d03599aa4200c242
Reviewed-on: https://gerrit.instructure.com/112101
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
so that we get volumes and stuff for free, and use the same images/etc by
default. also start generalizing it a bit more for the imminent dockerize
:allthethings: CI
Change-Id: Ia227c7354bb55604160343b25818598911c6ee8e
Reviewed-on: https://gerrit.instructure.com/109588
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
this does make xsslint about 10x slower, since:
1. babel is slower than acorn
2. we now have to coffeescript everything on the fly
will revisit perf in another commit
Change-Id: I2ddad309d1921ba6a4e15cd79d3d8bd956a7e403
Reviewed-on: https://gerrit.instructure.com/103850
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>