1
1
mirror of https://github.com/agateau/pixelwheels.git synced 2025-10-05 17:32:39 +02:00

Make GitHub CI run tests

This commit is contained in:
Aurelien Gateau
2021-02-02 09:17:55 +01:00
parent 39d5bd23d6
commit 52d6c95868
6 changed files with 64 additions and 4 deletions

View File

@@ -2,3 +2,5 @@
!ci/*
!tools/aseprite/*
!requirements.txt
!gradle/*
!gradlew

View File

@@ -11,8 +11,8 @@ jobs:
run: ci/build-docker-image
shell: bash
- name: Build
run: ci/docker-build-game SNAPSHOT=1
shell: bash
run: ci/docker-build-game SNAPSHOT=1
- name: Upload
if: github.ref == 'refs/heads/master'
run: make upload SNAPSHOT=1

View File

@@ -10,10 +10,19 @@ RUN apt-get update \
openjdk-8-jdk \
python3-pip \
python3-setuptools \
unzip \
zip
COPY requirements.txt /src/
RUN pip3 install -r /src/requirements.txt
# Install gradle so that we don't have to do it for each build
COPY gradle /src/gradle
COPY gradlew /src
RUN /src/gradlew
COPY ci/install-android-sdk /src
RUN /src/install-android-sdk
WORKDIR /root
ENTRYPOINT ["/bin/bash"]

View File

@@ -1,4 +1,4 @@
#!/bin/sh
set -e
cd $(dirname $0)
docker build -t pixelwheels ..
docker build --tag pixelwheels ..

View File

@@ -5,8 +5,24 @@ cd $(dirname $0)
make_args=$@
SRC_DIR=$PWD/..
SIGNING_GRADLE=$SRC_DIR/android/signing.gradle
LOCAL_PROPERTIES=$SRC_DIR/local.properties
# If SIGNING_GRADLE does not exist, gradle fails to run tests
if [ ! -e "$SIGNING_GRADLE" ]; then
echo "Creating empty $SIGNING_GRADLE"
touch $SIGNING_GRADLE
fi
if [ ! -e "$LOCAL_PROPERTIES" ]; then
echo "Creating $LOCAL_PROPERTIES"
# Must match ci/install-android-sdk
echo "sdk.dir=/opt/android-sdk" > "$LOCAL_PROPERTIES"
fi
# Do not use "make dist" for now because current Docker does not support building apk yet
docker run --rm \
-v $PWD/..:/src/pixelwheels \
-v $SRC_DIR:/src/pixelwheels \
pixelwheels \
-c "make GRADLEW='./gradlew --console plain' -C /src/pixelwheels codingstyle-check assets packer desktop-dist $make_args"
-c "make GRADLEW='./gradlew --console plain' -C /src/pixelwheels check assets packer desktop-dist $make_args"

33
ci/install-android-sdk Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -euo pipefail
TOOLS_URL=https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
# Must match android/build.gradle
PACKAGES="
build-tools;29.0.3
platforms;android-29
"
ANDROID_SDK=/opt/android-sdk
TOOLS_DIR=$ANDROID_SDK/cmdline-tools
SDKMANAGER=$TOOLS_DIR/bin/sdkmanager
TOOLS_ZIP=tools.zip
mkdir -p $ANDROID_SDK
cd $ANDROID_SDK
if [ ! -d $TOOLS_DIR ] ; then
if [ ! -e $TOOLS_ZIP ] ; then
echo "Downloading command-line tools from $TOOLS_URL"
curl $TOOLS_URL --output $TOOLS_ZIP
fi
echo "Unpacking command-line tools"
unzip -q $TOOLS_ZIP
fi
for pkg in $PACKAGES ; do
echo "Installing $pkg"
echo Y | $SDKMANAGER --sdk_root=$ANDROID_SDK "$pkg"
done