defaults: &defaults working_directory: /go/src/moul.io/sshportal docker: - image: circleci/golang:1.16.2 environment: GO111MODULE: "on" install_retry: &install_retry run: name: install retry command: | command -v wget &>/dev/null && wget -O /tmp/retry "https://github.com/moul/retry/releases/download/v0.5.0/retry_$(uname -s)_$(uname -m)" || true if [ ! -f /tmp/retry ]; then command -v curl &>/dev/null && curl -L -o /tmp/retry "https://github.com/moul/retry/releases/download/v0.5.0/retry_$(uname -s)_$(uname -m)"; fi chmod +x /tmp/retry /tmp/retry --version version: 2 jobs: docker.integration: <<: *defaults steps: - checkout - run: name: Install Docker Compose command: | umask 022 curl -L https://github.com/docker/compose/releases/download/1.11.4/docker-compose-`uname -s`-`uname -m` > ~/docker-compose - setup_remote_docker: docker_layer_caching: true version: 18.09.3 # https://github.com/golang/go/issues/40893 - *install_retry - run: /tmp/retry -m 3 docker build -t moul/sshportal . - run: /tmp/retry -m 3 make integration workflows: version: 2 build_and_integration: jobs: - docker.integration