---
version: 2.1
jobs:
  deps64:
    machine: true
    steps:
      - checkout
      - run:
          name : Export environment variables
          command: |
            echo 'export MAKEFLAGS="j3"' >> $BASH_ENV
            echo 'export BUILD__="x86_64"' >> $BASH_ENV
            echo 'export BTYPE__="release"' >> $BASH_ENV
            docker info
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - restore_cache:
          key: deps64-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name: Build stage 1
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage1
      - run:
          name: Build stage 2
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage2
            ls -al cache
      - save_cache:
          key: deps64-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
  release64:
    machine: true
    steps:
      - checkout
      - restore_cache:
          key: deps64-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name : Export environment variables
          command: |
            echo 'export BUILD__="x86_64"' >> $BASH_ENV
            echo 'export BTYPE__="release"' >> $BASH_ENV
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - run:
          name: Build stage 3
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage3
      - run:
          name: Debug info
          command: |
            ls -al ~/
            tree ~/project/workspace -L 4
      - store_artifacts:
          path: "/home/circleci/project/workspace/x86_64/qtox/release/qtox-x86_64-release.zip"
      - store_artifacts:
          path: "/home/circleci/project/workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe"
  debug64:
    machine: true
    steps:
      - checkout
      - restore_cache:
          key: deps64-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name : Export environment variables
          command: |
            echo 'export BUILD__="x86_64"' >> $BASH_ENV
            echo 'export BTYPE__="debug"' >> $BASH_ENV
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - run:
          name: Build stage 3
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage3
      - run:
          name: Debug info
          command: |
            ls -al ~/
            tree ~/project/workspace -L 4
      - store_artifacts:
          path: "/home/circleci/project/workspace/x86_64/qtox/debug/qtox-x86_64-debug.zip"
  deps32:
    machine: true
    steps:
      - checkout
      - run:
          name : Export environment variables
          command: |
            echo 'export MAKEFLAGS="j3"' >> $BASH_ENV
            echo 'export BUILD__="i686"' >> $BASH_ENV
            echo 'export BTYPE__="release"' >> $BASH_ENV
            docker info
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - restore_cache:
          key: deps32-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name: Build stage 1
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage1
      - run:
          name: Build stage 2
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage2
            ls -al cache
      - save_cache:
          key: deps32-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
  release32:
    machine: true
    steps:
      - checkout
      - restore_cache:
          key: deps32-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name : Export environment variables
          command: |
            echo 'export BUILD__="i686"' >> $BASH_ENV
            echo 'export BTYPE__="release"' >> $BASH_ENV
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - run:
          name: Build stage 3
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage3
      - run:
          name: Debug info
          command: |
            ls -al ~/
            tree ~/project/workspace -L 4
      - store_artifacts:
          path: "/home/circleci/project/workspace/i686/qtox/release/qtox-i686-release.zip"
      - store_artifacts:
          path: "/home/circleci/project/workspace/i686/qtox/release/setup-qtox-i686-release.exe"
  debug32:
    machine: true
    steps:
      - checkout
      - restore_cache:
          key: deps32-{{ checksum "windows/cross-compile/build.sh" }}-{{ checksum ".travis/build-windows.sh" }}
          paths:
            - cache
      - run:
          name : Export environment variables
          command: |
            echo 'export BUILD__="i686"' >> $BASH_ENV
            echo 'export BTYPE__="debug"' >> $BASH_ENV
      - run:
          name: Install zip
          command: |
            sudo apt-get update
            sudo apt-get install zip tree
      - run:
          name: Build stage 3
          command: |
            ./.travis/build-windows.sh "$BUILD__" "$BTYPE__" "cache/${BUILD__}" stage3
      - run:
          name: Debug info
          command: |
            ls -al ~/
            tree ~/project/workspace -L 4
      - store_artifacts:
          path: "/home/circleci/project/workspace/i686/qtox/debug/qtox-i686-debug.zip"
workflows:
  version: 2
  build:
    jobs:
      - deps64
      - release64:
          requires:
            - deps64
      - debug64:
          requires:
            - deps64
      - deps32
      - release32:
          requires:
            - deps32
      - debug32:
          requires:
            - deps32
