SRB2/.circleci/config.yml

90 lines
3.5 KiB
YAML
Raw Normal View History

2017-03-24 01:24:31 +00:00
version: 2
jobs:
build:
working_directory: /home/circleci/SRB2
2017-03-24 01:24:31 +00:00
docker:
- image: cimg/base:current
2017-03-24 01:24:31 +00:00
environment:
CC: ccache gcc -m32
PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
LIBGME_CFLAGS: -I/usr/include
2017-03-24 01:24:31 +00:00
LIBGME_LDFLAGS: -lgme
CCACHE_COMPRESS: true
WFLAGS: -Wno-unsuffixed-float-constants
2023-09-09 20:03:46 +00:00
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
2022-11-10 15:12:45 +00:00
resource_class: large
2017-03-24 01:24:31 +00:00
steps:
- run:
name: Add i386 arch
command: sudo dpkg --add-architecture i386
2019-01-05 02:30:16 +00:00
- 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
2022-11-10 15:12:45 +00:00
- run:
name: Make APT cache folder
command: mkdir -p /home/circleci/.cache/apt/archives/partial
2022-11-10 15:12:45 +00:00
- run:
name: Make APT cache usage by _apt
command: sudo chown -Rv _apt:root /home/circleci/.cache/apt/archives/partial
2017-03-24 01:24:31 +00:00
- run:
name: Update APT listing
command: sudo apt-get -qq update
2017-03-24 03:42:28 +00:00
- run:
name: Support S3 upload
command: sudo apt-get -qq -y install ca-certificates
2017-03-24 03:42:28 +00:00
- restore_cache:
keys:
- v1-SRB2-APT
2017-03-24 01:24:31 +00:00
- 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
2022-11-10 15:12:45 +00:00
- run:
name: make md5sum
2023-09-09 19:48:14 +00:00
command: sudo find /home/circleci/.cache/apt/archives -type f -print0 | sort -z | sudo xargs -r0 md5sum > /home/circleci/.cache/apt_archives.md5
2017-03-24 03:42:28 +00:00
- save_cache:
key: v1-SRB2-APT-{{ checksum "/home/circleci/.cache/apt_archives.md5" }}
2017-03-24 03:42:28 +00:00
paths:
- /home/circleci/.cache/apt
2017-03-24 01:24:31 +00:00
- checkout
- run:
2020-03-19 18:26:46 +00:00
name: Compile without network support
2022-11-10 15:12:45 +00:00
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
2022-11-10 15:12:45 +00:00
- run:
name: make master depend file
command: find make/linux/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux/SDL.deps
2017-03-24 03:42:28 +00:00
- restore_cache:
keys:
2022-11-10 15:12:45 +00:00
- v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
2017-03-24 01:24:31 +00:00
- run:
name: Compile
2022-11-10 15:12:45 +00:00
command: make -C src LINUX=1 ERRORMODE=1 -k -j4
2017-03-24 01:24:31 +00:00
- store_artifacts:
path: /home/circleci/SRB2/bin/
2017-03-24 01:24:31 +00:00
destination: bin
2017-03-24 03:42:28 +00:00
- save_cache:
2022-11-10 15:12:45 +00:00
key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
2017-03-24 03:42:28 +00:00
paths:
- /home/circleci/.ccache