version: 2.1

orbs:
  win: circleci/windows@1.0.0

executors:
  bionic:
    docker:
      - image: buildpack-deps:bionic

jobs:
  flake8:
    executor: bionic
    steps:
      - checkout
      - run:
          name: install pip
          command: |
            apt-get update -q
            apt-get install -q -y python-pip python3-pip
      - run: python2 -m pip install --upgrade pip
      - run: python3 -m pip install --upgrade pip
      - run: python2 -m pip install flake8==3.7.8
      - run: python3 -m pip install flake8==3.7.8
      - run: python2 -m flake8 --show-source --statistics
      - run: python3 -m flake8 --show-source --statistics
  test-linux:
    executor: bionic
    environment:
      EMSDK_NOTTY: "1"
      # I don't know why circleci VMs pretent to have 36 cores but its a lie.
      EMSDK_NUM_CORES: "4"
    steps:
      - checkout
      - run:
          name: Install debian packages
          command: apt-get update -q && apt-get install -q -y cmake build-essential openjdk-8-jre-headless ksh zsh
      - run: scripts/test.sh
      - run: scripts/test_source_env.sh
      - run:
          name: test.py
          command: |
            source emsdk_env.sh
            scripts/test.py
  test-mac:
    macos:
      xcode: "12.2.0"
    environment:
      EMSDK_NOTTY: "1"
      # Without this, any `brew installl` command will result in self-update of
      # brew itself which takes more than 4 minutes.
      HOMEBREW_NO_AUTO_UPDATE: "1"
    steps:
      - checkout
      - run:
          name: Install cmake
          command: brew install cmake
      - run: scripts/test.sh
      - run:
          name: test.py
          command: |
            source emsdk_env.sh
            scripts/test.py
  test-windows:
    executor:
      name: win/vs2019
      shell: bash.exe
    environment:
      # We need python installed before we can test anytyhing.
      # There seems to be undocument copy of python installed here. Hopefully
      # if this disappears there will be another way of getting a re-installed
      # version.
      PYTHON_BIN: "C:\\Python27amd64"
      PYTHONUNBUFFERED: "1"
      EMSDK_NOTTY: "1"
    steps:
      - checkout
      - run:
          name: Add python to bash path
          command: echo "export PATH=\"$PATH:/c/python27amd64/\"" >> $BASH_ENV
      - run:
          name: Install latest
          shell: cmd.exe
          command: scripts\test.bat
      - run:
          name: test.py
          command: |
            source emsdk_env.sh
            python scripts/test.py
      - run:
          name: --permanent test
          shell: powershell.exe
          command: |
            scripts/test_permanent.ps1

  build-docker-image:
    executor: bionic
    steps:
      - checkout
      - run:
          name: install docker
          command: apt-get update -q && apt-get install -q -y docker.io
      - setup_remote_docker:
          version: 19.03.13
      # Build and test the tip-of-tree build of EMSDK
      - run:
          name: build
          command: make -C ./docker version=tot build
      - run:
          name: test
          command: make -C ./docker version=tot test

  publish-docker-image:
    executor: bionic
    steps:
      - checkout
      - run:
          name: install docker
          command: apt-get update -q && apt-get install -q -y docker.io
      - setup_remote_docker:
          version: 19.03.13
      - run:
          name: build
          command: make -C ./docker version=${CIRCLE_TAG} build
      - run:
          name: test
          command: make -C ./docker version=${CIRCLE_TAG} test
      - run:
          name: push image
          command: |
            docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
            make -C ./docker version=${CIRCLE_TAG} alias=latest push

  test-bazel:
    executor: bionic
    steps:
      - checkout
      - run: apt-get install -q -y curl gnupg
      - run: curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg
      - run: mv bazel.gpg /etc/apt/trusted.gpg.d/
      - run: echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list
      - run:
          name: install pip
          command: |
            apt-get update -q
            apt-get install -q -y python3-pip
      - run: pip3 install absl-py
      - run:
          name: install bazel
          command: |
            apt-get install -q -y bazel
      - run: scripts/test_bazel.sh

workflows:
  flake8:
    jobs:
      - flake8
  test-linux:
    jobs:
      - test-linux
  test-mac:
    jobs:
      - test-mac
  test-windows:
    jobs:
      - test-windows
  build-docker-image:
    jobs:
      - build-docker-image
      - publish-docker-image:
          filters:
            branches:
              ignore: /.*/
            tags:
              only: /.*/
  test-bazel:
    jobs:
      - test-bazel
