mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-12-01 16:52:25 +00:00
89 lines
3.5 KiB
YAML
89 lines
3.5 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
working_directory: /home/circleci/SRB2
|
|
docker:
|
|
- image: cimg/base:current
|
|
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
|
|
GCC81: 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
|
|
resource_class: large
|
|
steps:
|
|
- run:
|
|
name: Add i386 arch
|
|
command: sudo dpkg --add-architecture i386
|
|
- run:
|
|
name: Add STJr PPA
|
|
command: |
|
|
sudo apt-get -qq update
|
|
sudo apt-get -qq -y install dirmngr
|
|
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
|
|
echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list
|
|
- run:
|
|
name: Make APT cache folder
|
|
command: mkdir -p /home/circleci/.cache/apt/archives/partial
|
|
- run:
|
|
name: Make APT cache usage by _apt
|
|
command: sudo chown -Rv _apt:root /home/circleci/.cache/apt/archives/partial
|
|
- run:
|
|
name: Update APT listing
|
|
command: sudo apt-get -qq update
|
|
- run:
|
|
name: Support S3 upload
|
|
command: sudo apt-get -qq -y install ca-certificates
|
|
- restore_cache:
|
|
keys:
|
|
- v1-SRB2-APT
|
|
- run:
|
|
name: Uninstall amd64 SDK
|
|
command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends remove libcurl4-openssl-dev:amd64
|
|
- run:
|
|
name: Install i386 SDK
|
|
command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends install git build-essential 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: sudo find /home/circleci/.cache/apt/archives -type f -print0 | sort -z | sudo xargs -r0 md5sum > /home/circleci/.cache/apt_archives.md5
|
|
- save_cache:
|
|
key: v1-SRB2-APT-{{ checksum "/home/circleci/.cache/apt_archives.md5" }}
|
|
paths:
|
|
- /home/circleci/.cache/apt
|
|
- checkout
|
|
- run:
|
|
name: Compile without network support
|
|
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 "make/linux/SDL.deps" }}
|
|
- run:
|
|
name: Compile
|
|
command: make -C src LINUX=1 ERRORMODE=1 -k -j4
|
|
- store_artifacts:
|
|
path: /home/circleci/SRB2/bin/
|
|
destination: bin
|
|
- save_cache:
|
|
key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
|
|
paths:
|
|
- /home/circleci/.ccache
|