Skip to content

Commit

Permalink
A list of where to make changes when upgrading Go and Node.js (grafan…
Browse files Browse the repository at this point in the history
  • Loading branch information
xlson authored Oct 17, 2018
1 parent cd96ef3 commit 675bf00
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ the latest master builds [here](https://grafana.com/grafana/download)

### Dependencies

- Go 1.11
- Go (Latest Stable)
- NodeJS LTS

### Building the backend
Expand Down
89 changes: 89 additions & 0 deletions UPGRADING_DEPENDENCIES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Guide to Upgrading Dependencies

Upgrading Go or Node.js requires making changes in many different files. See below for a list and explanation for each.

## Go

- CircleCi
- `grafana/build-container`
- Appveyor
- Dockerfile

## Node.js

- CircleCI
- `grafana/build-container`
- Appveyor
- Dockerfile

## Go Dependencies

Updated using `dep`.

- `Gopkg.toml`
- `Gopkg.lock`

## Node.js Dependencies

Updated using `yarn`.

- `package.json`

## Where to make changes

### CircleCI

Our builds run on CircleCI through our build script.

#### Files

- `.circleci/config.yml`.

#### Dependencies

- nodejs
- golang
- grafana/build-container (our custom docker build container)

### grafana/build-container

The main build step (in CircleCI) is built using a custom build container that comes pre-baked with some of the neccesary dependencies.

Link: [grafana-build-container](https://github.com/grafana/grafana-build-container)

#### Dependencies

- fpm
- nodejs
- golang
- crosscompiling (several compilers)

### Appveyor

Master and release builds trigger test runs on Appveyors build environment so that tests will run on Windows.

#### Files:

- `appveyor.yml`

#### Dependencies

- nodejs
- golang

### Dockerfile

There is a Docker build for Grafana in the root of the project that allows anyone to build Grafana just using Docker.

#### Files

- `Dockerfile`

#### Dependencies

- nodejs
- golang

### Local developer environments

Please send out a notice in the grafana-dev slack channel when updating Go or Node.js to make it easier for everyone to update their local developer environments.
2 changes: 1 addition & 1 deletion docs/sources/project/building_from_source.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dev environment. Grafana ships with its own required backend server; also comple

## Dependencies

- [Go 1.11](https://golang.org/dl/)
- [Go (Latest Stable)](https://golang.org/dl/)
- [Git](https://git-scm.com/downloads)
- [NodeJS LTS](https://nodejs.org/download/)
- node-gyp is the Node.js native addon build tool and it requires extra dependencies: python 2.7, make and GCC. These are already installed for most Linux distros and MacOS. See the Building On Windows section or the [node-gyp installation instructions](https://github.com/nodejs/node-gyp#installation) for more details.
Expand Down

0 comments on commit 675bf00

Please sign in to comment.