31 Commits

Author SHA1 Message Date
Marcus Cobden
3a0dc3c34f Fix CI by removing Dockerfile workdir 2018-09-26 10:41:31 +01:00
Marcus Cobden
c03e6a0e50 Rework UI build to improve caching and fix packaging issue
Stop baking the toolchain and dependencies into the build image.
Instead, run the install step each time, but use volume mounts or
CircleCI caching to keep the happy path fast.

Previously, some parts of the client (UI) directory were baked into the build
image, and some parts were mounted or copied into the build environment.
As a result, files baked into the build image require a two-step
update for changes to take effect in CI.

Now, for dockerised builds, we pre-install very little into the build
image and mount the whole directory into the build environment.
However, we do overlay a volume on the node_modules folder to allow the
standard build toolchain to be separate from the host build toolchain.

Non-dockerised builds (e.g. CI) are now more similar to the dockerised
versions.
2018-09-26 10:41:30 +01:00
meghalidhoble
625998b91e Change made to the listed files, to enable weaveworks-scope on Power(ppc64le)
1)backend/Dockerfile 2) probe/endpoint/dns_snooper.go
3) client/Dockerfile 4) docker/Dockerfile.cloud-agent
5) probe/process/walker_linux_test.go & 6) tools/lint

1)'backend/Dockerfile' : Conditional added so that the cross-compiling should
   be done on amd64. Also removed support for sh-lint for ppc64le for now.
   As the version for shfmt mentioned in the dockerfile is not available for
   ppc64le and the later version does't work fine with existing application.
2)'probe/endpoint/dns_snooper.go' : Renamed this file so as to reuse for ppc64le
   and added a build-constraint. Now this file will be build for amd64 on linux
   and ppc64le on linux.
3)'client/Dockerfile' : Modified the version of the base image for node from
   8.4.0 to 8.11, as this version supports multiarch.
4)'docker/Dockerfile.cloud-agent' : Modified the version of the base image for
   golang from 1.10.2-strech to 1.10.2, which supports multiarch.
5) 'probe/process/walker_linux_test.go' : Test fixed to run for ppc64le,
    modified the code to accept RSSBytes based on pageSize value per
    architecture, instead of hard-coded values.
6)'tools/lint' : Modified the file to skip the sh-lint implementation for ppc64le.

PR #3231
2018-08-13 12:45:25 +05:30
Marc Carré
4e58b83024 Add org.opencontainers.image.* labels to Dockerfiles
- This should ultimately help for image-to-code back references.
- `org.label-schema.*` labels are now deprecated, in favour of `org.opencontainers.image.*` labels.
  See also: https://github.com/opencontainers/image-spec/blob/master/annotations.md#back-compatibility-with-label-schema
- Git revision (`git rev-parse HEAD`) is now injected at `docker build` time.
2018-05-14 11:54:33 +01:00
Filip Barl
7838f3063b Bump ui-components to v0.4.48 2018-03-28 11:42:58 +02:00
Filip Barl
109bc21b57 Add styled components linting. 2018-03-21 16:01:15 +01:00
Filip Barl
631077b68a Use colors from ui-components theme. 2018-03-21 15:49:52 +01:00
Filip Barl
cdb3b99712 Include .sass-lint.yml in Dockerfile. 2018-03-21 15:18:30 +01:00
jpellizzari
659759fdfd Use Node 8.4 for builds 2017-08-21 13:47:31 -07:00
jpellizzari
56a4b32d97 Added yarn.lock; changed Docker file to use yarn 2017-03-21 13:51:26 -07:00
jpellizzari
c776f35752 Combined external and prod webpack config files 2016-11-15 13:27:17 +00:00
jpellizzari
2baf7d49b1 Changed client deps to work with Node v6.9 2016-10-27 17:10:08 -07:00
Mike Lang
2c9f6c197f Split prog/static.go into two versions, and have a shim choose between them
This allows us to have both normal and external resource versions of static content
in the same binary, and switch with a flag
2016-10-05 17:26:57 -07:00
David Kaltschmidt
d9a1aa9807 Fix make client-start
* made webpack host configurable via env
* start via `make WEBPACK_SERVER_HOST=local.docker client-start`
* removed port from BACKEND_HOST env
2016-04-06 14:30:36 +02:00
Tom Wilkie
7e2e4c9c45 Fix spelling mistakes in the codebase. 2016-03-23 10:51:27 +00:00
David Kaltschmidt
6cf295ea9f Disable npm progress to speed up build 2016-02-01 15:52:41 +01:00
Simon Howe
3b2af2ae6c Terminal UI for pipes
- term.js
- Add eslintignore
- Fix color and es2015 after rebase
- Fix JS test, probably deleted during conflict resolution
- Moves terminal close button to top-right of window
- Consitent w/ details window.
- Changes padding of details window close button so both close buttons
  are horizonally aligned.
- Terminal resizes w/ browser window.
- No longer can drag window around.
- Add tiny big of padding between term and node-details.
- Playing w/ terminal placement.  This one's more drawer-like.
- Send DELETE when we close a terminal window.
- Dont lint or bable JS vendor files
- Ignore ctags 'tags' files.
- Adds popping out terminal out into a new browser window.
- Simplify code as now we've just a single terminal window.
- ESC is back to close the terminal, then the details panel.
- Fixes bug w/ slow response to closing the details panel.
- Moving away from "drawer-style" for terminal size and position to a
  simple window.
- Just gotta handle the case for refreshing a popped out terminal.
- Stop terminal text being auto-deselected.
- window resizes will still deselect.
- Adds state.connected to react.scu check.
- Don't delete pipe when browser closes
- To allow for nicer refresh flows
- scope-app will time out pipe after a while.
- Keep terminal-open/closed state in the url.
- shouldComponentUpdate fix to prevent deselection of text has been
  rolled back so gotta come up w/ another way to handle that...
- Fixes terminal text-selection again.
- Make pipes work for non-raw terminals too.
- Move document.title updating somewhere more sensible.
- Pass rawTty prop along to all terminals.
- Don't render react root into doc.body
- Reconnect the websocket if we lose it.
- First, slightly rough, attempt at displaying if pipe has been deleted
- Refactor controlPipe structure in the AppStore/hash.
- Merge controlPipeId, controlPipeRaw, controlPipeStatus into a single object.
- Adds a status bar to the terminal window.
- Error handling in popout working again.
- Don't show terminal cursor when not connected.
- Simplify controlPipe status and error handling.
- Don't keep the status in the hash.
- Use special new action receiveControlPipeFromParams rather than
  adding lots of branching to receiveControlPipe.
- You can reload a terminal but it doesn't exist in history stack.
- Pull out terminal into its own entry point!
- Fixes prod webpack build
- Fixes terminal-app websocket path when running on prod.
- Fixes old terminals appearing when closing a terminal.
- History hacking wasn't working, this is a little simpler.
2015-12-10 12:52:44 +00:00
David Kaltschmidt
e5dff9d9f1 Make npm less verbose 2015-11-13 11:21:17 +01:00
David Kaltschmidt
c458b29034 eslintignore was removed 2015-11-11 19:15:49 +01:00
David Kaltschmidt
59064e8a2d Upgrade to Babel 6 2015-11-11 18:42:48 +01:00
David Kaltschmidt
1019e45940 Upgrade node version to v4.2.2, and jest to 0.7.1
* the jest update will allow for jest --watch to keep jest running
2015-11-11 18:24:09 +01:00
Paul Bellamy
4d49aaccaa add eslintignore to the dockerfile where we run eslint 2015-11-06 16:19:03 +00:00
David Kaltschmidt
a2877102f1 remove old karma test config, make webpackdevserver optional
`npm install` continues to install everything, but `npm install
--no-optional` wont install the dev server.
2015-10-26 17:49:21 +00:00
David Kaltschmidt
e518bedecb Update the JS tooling
* get rid of gulp
* use webpack-dev-server to serve app.js
* express serves static files
* 2 webpack configs: local and production
* for development with backend, websocket URL is injected
* remove unneeded static files
2015-08-24 12:41:17 +02:00
Tom Wilkie
9289b6626a Review feedback 2015-08-18 11:21:02 +00:00
Tom Wilkie
e7ab9816cd Use node:0.10 as the ui build image, and upgrade karma and karma webpack 2015-08-17 16:26:22 +00:00
Tom Wilkie
efeba4a2ed Use rebuild-image script from tools.git
- Add some extra files to build image
- Add make to UI build container
2015-08-17 16:26:06 +00:00
David Kaltschmidt
3a79dbb02a added linter config to build image, linter README 2015-05-29 13:55:07 +02:00
David Kaltschmidt
a2d9f60f66 added gulpfile to Docker image, added config src 2015-05-29 12:18:46 +02:00
David Kaltschmidt
66d66a4d01 Fix grouping bar for topologies that don't support grouping
- fixes #61
- dont clear nodes cache if topo is the same
- combined stores that were interdependent
- dont show topology grouping menu if unsupported
- also harmonized some variable names
- removed old grouping switcher
- moved topo actions to app actions, removed search
- get correct topology url
- first JS test using Jest
- make tests run on circle using the build container.
- replaced jest test runner with karma/jasmine
- Use debian for UI build and test container.
- updated karma-browserify
2015-05-22 16:41:48 +00:00
David Kaltschmidt
4ca869d891 Automated UI building
- Add Dockerfile for js build image
- Wire up dockerized-ui build to the makefile.
- Removed unused dev tools from package.json/gulp
2015-05-20 10:45:35 +00:00