-
Notifications
You must be signed in to change notification settings - Fork 5
/
circle.yml
30 lines (29 loc) · 1.92 KB
/
circle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
version: 2
jobs:
build:
docker:
- image: ubuntu:18.04
environment:
SOURCE_MAP_SUPPORT: false
working_directory: ~/go/src/github.com/gopherjs/gopherjs
steps:
- run: apt-get update && apt-get install -y sudo curl git python make g++
- checkout
- run: git clone https://github.com/creationix/nvm $HOME/.nvm && cd $HOME/.nvm && git checkout v0.33.9 && echo 'export NVM_DIR="$HOME/.nvm"' >> $BASH_ENV && echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV
- run: nvm install 10.0.0 && nvm alias default 10.0.0
- run: cd /usr/local && sudo rm -rf go && curl https://storage.googleapis.com/golang/go1.15.2.linux-amd64.tar.gz | sudo tar -xz
- run: echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> $BASH_ENV
- run: go get -t -d -v ./...
- run: go install -v
- run: npm install # Install our (dev) dependencies from package.json.
- run: cd node-syscall && ../node_modules/node-gyp/bin/node-gyp.js rebuild rebuild && mkdir -p ~/.node_libraries && cp build/Release/syscall.node ~/.node_libraries/syscall.node
- run: go generate github.com/gopherjs/gopherjs/compiler/prelude
- run: diff -u <(echo -n) <(git status --porcelain)
- run: diff -u <(echo -n) <(gofmt -d .)
- run: go vet . # Go package in root directory.
- run: for d in */; do echo ./$d...; done | grep -v ./doc | grep -v ./tests | grep -v ./node | xargs go vet # All subdirectories except "doc", "tests", "node*".
- run: diff -u <(echo -n) <(go list ./compiler/natives/src/...) # All those packages should have // +build js.
- run: gopherjs install -v net/http # Should build successfully (can't run tests, since only client is supported).
- run: ulimit -s 10000 && gopherjs test --minify -v --short github.com/gopherjs/gopherjs/tests/... $(go list std | grep -v -x -f .std_test_pkg_exclusions)
- run: go test -v -race ./...
- run: gopherjs test -v fmt # No minification should work.