Add a Dockerfile, simplify the travis script using docker

This commit is contained in:
Maschell 2018-09-23 13:49:20 +02:00
parent f80462c7ae
commit 539e06b46c
3 changed files with 26 additions and 41 deletions

View File

@ -1,52 +1,17 @@
language: cpp
os: linux
sudo: required sudo: required
dist: trusty
branches: branches:
only: only:
- master - master
env: services:
global: - docker
- DEVKITPRO=/opt/devkitpro
- WUT_ROOT=/opt/devkitpro/wut
- DEVKITPPC=/opt/devkitpro/devkitPPC
- PORTLIBREPOS=$HOME/portlibrepos
cache:
directories:
- "$HOME/.local"
- "$DEVKITPRO"
addons: addons:
apt: apt:
packages: packages:
- p7zip-full - 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-beta2/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: before_script:
- cd $TRAVIS_BUILD_DIR/ - docker build . -t screenshot-builder
script: script:
- make -j8 - docker run -it --rm -v ${PWD}:/project screenshot-builder make
before_deploy: before_deploy:
- cd $TRAVIS_BUILD_DIR/ - cd $TRAVIS_BUILD_DIR/
- mkdir -p "wiiu/plugins" - 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

@ -23,3 +23,17 @@ Other external libraries are already located in the `libs` folder.
- libjpeg - libjpeg
- libturbojpeg - libturbojpeg
### 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 screenshot-builder
# make
docker run -it --rm -v ${PWD}:/project screenshot-builder make
# make clean
docker run -it --rm -v ${PWD}:/project screenshot-builder make clean
```