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:
@@ -2,3 +2,5 @@
|
||||
!ci/*
|
||||
!tools/aseprite/*
|
||||
!requirements.txt
|
||||
!gradle/*
|
||||
!gradlew
|
||||
|
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -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
|
||||
|
@@ -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"]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
cd $(dirname $0)
|
||||
docker build -t pixelwheels ..
|
||||
docker build --tag pixelwheels ..
|
||||
|
@@ -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
33
ci/install-android-sdk
Executable 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
|
Reference in New Issue
Block a user