version: 2
jobs:
  build:
    working_directory: /root/SRB2
    docker:
      - image: debian:jessie
        environment:
          CC: ccache gcc -m32
          PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
          LIBGME_CFLAGS: -I/usr/include
          LIBGME_LDFLAGS: -lgme
          CCACHE_COMPRESS: true
          WFLAGS: -Wno-unsuffixed-float-constants
          GCC49: true
      #- image: ubuntu:trusty
      #  environment:
      #    CC: ccache gcc -m32
      #    PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
      #    LIBGME_CFLAGS: -I/usr/include
      #    LIBGME_LDFLAGS: -lgme
      #    CCACHE_COMPRESS: true
      #    WFLAGS: -Wno-unsuffixed-float-constants
      #    GCC48: true
    steps:
      - run:
          name: Add i386 arch
          command: dpkg --add-architecture i386
      - run:
          name: Update APT listing
          command: apt-get -qq update
      - run:
          name: Support S3 upload
          command: apt-get -qq -y install ca-certificates
      - restore_cache:
          keys:
            - v1-SRB2-APT
      - run:
          name: Install SDK
          command: apt-get -qq -y install git build-essential nasm libpng12-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 gettext ccache wget gcc-multilib upx
      - save_cache:
          key: v1-SRB2-APT
          paths:
            - /var/cache/apt/archives
      - checkout
      - run:
          name: Clean build
          command: make -C src LINUX=1 clean
      - restore_cache:
          keys:
            - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
      - run:
          name: Compile
          command: make -C src LINUX=1 ERRORMODE=1 -k
      - store_artifacts:
          path: /root/SRB2/bin/Linux/Release/
          destination: bin
      - save_cache:
          key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
          paths:
            - /root/.ccache