Skip to content

Commit

Permalink
CI: Upgrade to CircleCI 2.0. (#864)
Browse files Browse the repository at this point in the history
This is a minimal diff change to upgrade from CircleCI 1.0 to 2.0
and get it working, since 1.0 has been EOLed. The goal was to keep
the config.yml file as simple as possible for now; we can consider
changes and enhancements to it as part of future work.

Remove os/user package from being tested, since it's failing in the
CircleCI 2.0 environment (see tracking issue #863).

Resolves #766.
Updates #797.
  • Loading branch information
dmitshur committed Oct 4, 2018
1 parent 0fee806 commit b337c87
Showing 1 changed file with 139 additions and 136 deletions.
275 changes: 139 additions & 136 deletions circle.yml
@@ -1,137 +1,140 @@
machine:
node:
version: 10.0.0
environment:
SOURCE_MAP_SUPPORT: false
version: 2
jobs:
build:
docker:
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
command: /sbin/init
environment:
SOURCE_MAP_SUPPORT: false
working_directory: ~/go/src/github.com/gopherjs/gopherjs
steps:
- 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.11.1.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: npm install --global node-gyp
- run: cd node-syscall && node-gyp rebuild && mkdir -p ~/.node_libraries && cp build/Release/syscall.node ~/.node_libraries/syscall.node

dependencies:
pre:
- cd /usr/local && sudo rm -rf go && curl https://storage.googleapis.com/golang/go1.11.1.linux-amd64.tar.gz | sudo tar -xz && sudo chmod a+w go/src/path/filepath
post:
- mv ./gopherjs $HOME/bin
- npm install --global node-gyp
- npm install # install our (dev) dependencies from package.json
- cd node-syscall && node-gyp rebuild && mkdir -p ~/.node_libraries/ && cp build/Release/syscall.node ~/.node_libraries/syscall.node

test:
override:
- go generate github.com/gopherjs/gopherjs/compiler/prelude
- diff -u <(echo -n) <(git status --porcelain)
- diff -u <(echo -n) <(gofmt -d .)
- go tool vet *.go # Go package in root directory.
- for d in */; do echo $d; done | grep -v tests/ | grep -v third_party/ | xargs go tool vet # All subdirectories except "tests", "third_party".
- diff -u <(echo -n) <(go list ./compiler/natives/src/...) # All those packages should have // +build js.
- gopherjs install -v net/http # Should build successfully (can't run tests, since only client is supported).
- >
ulimit -s 10000 && gopherjs test --minify -v --short
github.com/gopherjs/gopherjs/tests
github.com/gopherjs/gopherjs/tests/main
github.com/gopherjs/gopherjs/js
archive/tar
archive/zip
bufio
bytes
compress/bzip2
compress/flate
compress/gzip
compress/lzw
compress/zlib
container/heap
container/list
container/ring
crypto/aes
crypto/cipher
crypto/des
crypto/dsa
crypto/ecdsa
crypto/elliptic
crypto/hmac
crypto/md5
crypto/rand
crypto/rc4
crypto/rsa
crypto/sha1
crypto/sha256
crypto/sha512
crypto/subtle
crypto/x509
database/sql
database/sql/driver
debug/dwarf
debug/elf
debug/macho
debug/pe
encoding/ascii85
encoding/asn1
encoding/base32
encoding/base64
encoding/binary
encoding/csv
encoding/gob
encoding/hex
encoding/json
encoding/pem
encoding/xml
errors
expvar
flag
fmt
go/ast
go/constant
go/doc
go/format
go/parser
go/printer
go/scanner
go/token
hash/adler32
hash/crc32
hash/crc64
hash/fnv
html
html/template
image
image/color
image/draw
image/gif
image/jpeg
image/png
index/suffixarray
io
io/ioutil
math
math/big
math/bits
math/cmplx
math/rand
mime
mime/multipart
mime/quotedprintable
net/http/cookiejar
net/http/fcgi
net/mail
net/rpc/jsonrpc
net/textproto
net/url
os/user
path
path/filepath
reflect
regexp
regexp/syntax
sort
strconv
strings
sync
sync/atomic
testing/quick
text/scanner
text/tabwriter
text/template
text/template/parse
time
unicode
unicode/utf16
unicode/utf8
- go test -v -race ./...
- gopherjs test -v fmt # No minification should work.
- 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 tool vet *.go # Go package in root directory.
- run: for d in */; do echo $d; done | grep -v tests/ | grep -v third_party/ | xargs go tool vet # All subdirectories except "tests", "third_party".
- 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
github.com/gopherjs/gopherjs/tests/main
github.com/gopherjs/gopherjs/js
archive/tar
archive/zip
bufio
bytes
compress/bzip2
compress/flate
compress/gzip
compress/lzw
compress/zlib
container/heap
container/list
container/ring
crypto/aes
crypto/cipher
crypto/des
crypto/dsa
crypto/ecdsa
crypto/elliptic
crypto/hmac
crypto/md5
crypto/rand
crypto/rc4
crypto/rsa
crypto/sha1
crypto/sha256
crypto/sha512
crypto/subtle
crypto/x509
database/sql
database/sql/driver
debug/dwarf
debug/elf
debug/macho
debug/pe
encoding/ascii85
encoding/asn1
encoding/base32
encoding/base64
encoding/binary
encoding/csv
encoding/gob
encoding/hex
encoding/json
encoding/pem
encoding/xml
errors
expvar
flag
fmt
go/ast
go/constant
go/doc
go/format
go/parser
go/printer
go/scanner
go/token
hash/adler32
hash/crc32
hash/crc64
hash/fnv
html
html/template
image
image/color
image/draw
image/gif
image/jpeg
image/png
index/suffixarray
io
io/ioutil
math
math/big
math/bits
math/cmplx
math/rand
mime
mime/multipart
mime/quotedprintable
net/http/cookiejar
net/http/fcgi
net/mail
net/rpc/jsonrpc
net/textproto
net/url
path
path/filepath
reflect
regexp
regexp/syntax
sort
strconv
strings
sync
sync/atomic
testing/quick
text/scanner
text/tabwriter
text/template
text/template/parse
time
unicode
unicode/utf16
unicode/utf8
- run: go test -v -race ./...
- run: gopherjs test -v fmt # No minification should work.

0 comments on commit b337c87

Please sign in to comment.