diff --git a/.circleci/config.yml b/.circleci/config.yml index 67a3b66b7..a2f6ef9d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,6 +21,7 @@ jobs: # CCACHE_COMPRESS: true # WFLAGS: -Wno-unsuffixed-float-constants # GCC48: true + resource_class: large steps: - run: name: Add i386 arch @@ -32,6 +33,12 @@ jobs: apt-get -qq -y install dirmngr apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6 echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" >> /etc/apt/sources.list + - run: + name: Make APT cache folder + command: mkdir -p /root/.cache/apt/archives/partial + - run: + name: Make APT cache usage by _apt + command: chown -Rv _apt:root /root/.cache/apt/archives/partial - run: name: Update APT listing command: apt-get -qq update @@ -43,32 +50,37 @@ jobs: - v1-SRB2-APT - run: name: Install SDK - command: apt-get -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client - + command: apt-get -o Dir::Cache="/root/.cache/apt" -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client + - run: + name: make md5sum + command: find /root/.cache/apt/archives -type f -print0 | sort -z | xargs -r0 md5sum > /root/.cache/apt_archives.md5 - save_cache: - key: v1-SRB2-APT + key: v1-SRB2-APT-{{ checksum "/root/.cache/apt_archives.md5" }} paths: - - /var/cache/apt/archives + - /root/.cache/apt - checkout - run: name: Compile without network support - command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 + command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 -j4 - run: name: wipe build command: make -C src LINUX=1 cleandep - run: name: rebuild depend command: make -C src LINUX=1 clean + - run: + name: make master depend file + command: find make/linux/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux/SDL.deps - restore_cache: keys: - - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} + - v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} - run: name: Compile - command: make -C src LINUX=1 ERRORMODE=1 -k + command: make -C src LINUX=1 ERRORMODE=1 -k -j4 - store_artifacts: - path: /root/SRB2/bin/Linux/Release/ + path: /root/SRB2/bin/ destination: bin - save_cache: - key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} + key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} paths: - /root/.ccache