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"
- master
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

@ -24,4 +24,18 @@ For building you need:
- [wut](https://github.com/decaf-emu/wut)
- [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.
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
```