version: 2 workflows: version: 2 linux-builds: jobs: - build-i686 - build-x86_64 jobs: build-i686: docker: - image: circleci/python:2.7 environment: JULIA_CPU_CORES: 6 JULIA_TEST_MAXRSS_MB: 800 ARCH: i686 steps: &steps - run: | # install build dependencies sudo apt-get install -y g++-4.8-multilib gfortran-4.8-multilib \ time ccache bar && for prog in gcc g++ gfortran; do sudo ln -s /usr/bin/$prog-4.8 /usr/local/bin/$prog; done - checkout # circle ci code checkout step # (FIXME: need to unset url."ssh://git@github.com".insteadOf or libgit2 tests fail) - run: | # checkout merge commit, set versioning info and Make.user variables git config --global --unset url."ssh://git@github.com".insteadOf && if [ -n "$CIRCLE_PULL_REQUEST" ]; then git fetch origin +refs/pull/$(basename $CIRCLE_PULL_REQUEST)/merge && git checkout -qf FETCH_HEAD; fi && make -C base version_git.jl.phony && echo "override ARCH = $ARCH" | tee -a Make.user && for var in FORCE_ASSERTIONS LLVM_ASSERTIONS USECCACHE NO_GIT; do echo "override $var = 1" | tee -a Make.user; done && echo "$ARCH $HOME $(date +%Y%W)" | tee /tmp/weeknumber - restore_cache: # silly to take a checksum of the tag file here instead of keys: # its contents but this is the only thing that works on circle - ccache-{{ checksum "/tmp/weeknumber" }} - run: | # compile julia deps contrib/download_cmake.sh && make -j8 -C deps || make - run: | # build julia, output ccache stats when done make -j8 all && make prefix=/tmp/julia install && ccache -s && make build-stats - run: | # move source tree out of the way, run tests from install tree cd .. && mv project julia-src && /tmp/julia/bin/julia -e 'versioninfo()' && /tmp/julia/bin/julia --precompiled=no -e 'true' && /tmp/julia/bin/julia-debug --precompiled=no -e 'true' && pushd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all --skip socket | bar -i 30 && /tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg && popd && mkdir /tmp/embedding-test && make check -C /tmp/julia/share/doc/julia/examples/embedding \ JULIA=/tmp/julia/bin/julia BIN=/tmp/embedding-test \ "$(cd julia-src && make print-CC)" && mv julia-src project # - run: cd project && make -C doc deploy # - run: # command: sudo dmesg # when: on_fail - save_cache: key: ccache-{{ checksum "/tmp/weeknumber" }} paths: - ~/.ccache build-x86_64: docker: - image: circleci/python:2.7 environment: JULIA_CPU_CORES: 6 JULIA_TEST_MAXRSS_MB: 800 ARCH: x86_64 steps: *steps