diff --git a/circle.yml b/circle.yml index 6a6724f62..58484621f 100644 --- a/circle.yml +++ b/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.