Add a Dockerfile, simplify the travis script using docker

This commit is contained in:
Maschell 2018-09-23 14:14:49 +02:00
parent 3af3fb5a34
commit 65aec45c62
3 changed files with 27 additions and 41 deletions

View File

@ -1,51 +1,17 @@
language: cpp
os: linux
sudo: false
dist: trusty
sudo: required
branches:
only:
- master
env:
global:
- DEVKITPRO=/opt/devkitpro
- WUT_ROOT=/opt/devkitpro/wut
- DEVKITPPC=/opt/devkitpro/devkitPPC
- PORTLIBREPOS=$HOME/portlibrepos
cache:
directories:
- "$HOME/.local"
- "$DEVKITPRO"
services:
- docker
addons:
apt:
packages:
- p7zip-full
before_install:
- mkdir -p "${PORTLIBREPOS}"
- mkdir -p "${DEVKITPRO}"
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb
-O /tmp/devkitpro-pacman.deb; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb;
fi
- yes | sudo dkp-pacman -Syu devkitPPC --needed
- yes | sudo dkp-pacman -Syu general-tools --needed
- wget https://github.com/decaf-emu/wut/releases/download/1.0.0-beta/wut.linux64.7z
install:
- 7z x -y $(ls | grep "linux") -o${WUT_ROOT}
- cd $PORTLIBREPOS
- git clone https://github.com/Maschell/WiiUPluginSystem.git
- git clone https://github.com/Maschell/libutils.git -b wut
- cd WiiUPluginSystem
- make && make install
- cd $PORTLIBREPOS
- cd libutils
- mkdir build && cd build
- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../
- make install
- cd $PORTLIBREPOS
before_script:
- cd $TRAVIS_BUILD_DIR/
- docker build . -t swipswapme-builder
script:
- make -j8
- docker run -it --rm -v ${PWD}:/project swipswapme-builder make
before_deploy:
- cd $TRAVIS_BUILD_DIR/
- mkdir -p "wiiu/plugins"

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM wups/core-with-wut:0.1
# Get dependencies
COPY --from=wiiuwut/libutils:0.1 /artifacts $WUT_ROOT
WORKDIR project

View File

@ -25,3 +25,17 @@ For building you need:
- [libutilswut](https://github.com/Maschell/libutils/tree/wut) (WUT version) for common functions.
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.
### Building using the Dockerfile
It's possible to use a docker image for building. This way you don't need anything installed on your host system.
```
# Build docker image (only needed once
docker build . -t swipswapme-builder
# make
docker run -it --rm -v ${PWD}:/project swipswapme-builder make
# make clean
docker run -it --rm -v ${PWD}:/project swipswapme-builder make clean
```