commit 3a891194f196bf04fbd3ca2611fe35ca8b5e8626 Author: Yanis Rigaudeau Date: Thu Sep 28 02:49:48 2023 +0200 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3a266af --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM alvrme/alpine-android:android-33-jdk11 + +RUN adduser -D build -u 1000 +RUN chown -R build:build /opt/sdk + +WORKDIR /files + +COPY docker-entrypoint.sh / +COPY build.sh Infinity.jks . + +RUN chmod +x /docker-entrypoint.sh && \ + chmod +x build.sh + +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/Infinity.jks b/Infinity.jks new file mode 100644 index 0000000..e737eca Binary files /dev/null and b/Infinity.jks differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f94a932 --- /dev/null +++ b/build.sh @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +cd /build + +if [ -d Infinity-For-Reddit ] +then + cd Infinity-For-Reddit + git reset --hard master + git pull origin master +else + git clone https://github.com/Docile-Alligator/Infinity-For-Reddit.git + cd Infinity-For-Reddit +fi + +touch /build/previous_tag +previous_tag=$(cat /build/previous_tag) +latest_tag=$(git describe --tags) + +[ "$previous_tag" = "$latest_tag" ] && exit 0 + +echo -n $latest_tag > /build/previous_tag +git reset --hard $latest_tag + +api_file=app/src/main/java/ml/docilealligator/infinityforreddit/utils/APIUtils.java +sed -i "s|NOe2iKrPPzwscA|$API_TOKEN|" $api_file +sed -i "s|infinity://localhost|$REDIRECT_URI|" $api_file +sed -i -r "s|public static final String USER_AGENT = \".*?\";|public static final String USER_AGENT = \"android:personal-app:0.0.1 (by /u/$REDDIT_USERNAME)\";|g" $api_file + +gradle_file=app/build.gradle +sed -i "s| buildTypes {| signingConfigs {\n release {\n storeFile file(\"/files/Infinity.jks\")\n storePassword \"Infinity\"\n keyAlias \"Infinity\"\n keyPassword \"Infinity\"\n }\n }\n buildTypes {|" $gradle_file +sed -i "s| minifyEnabled false| signingConfig signingConfigs.release\n minifyEnabled false|" $gradle_file + +./gradlew assembleRelease + +output_file=/build/Infinity-$latest_tag.apk +mv app/build/outputs/apk/release/app-release.apk $output_file + +curl \ +-F "payload_json={\"content\": \"A new version of Infinity is available ! ($previous_tag => $latest_tag)\"}" \ +-F "file=@$output_file" \ +$WEBHOOK_URL diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0005ad2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" + +services: + infinity-build: + container_name: infinity-build + build: . + command: ./build.sh + environment: + API_TOKEN: + REDIRECT_URI: + REDDIT_USERNAME: + WEBHOOK_URL: + volumes: + - ./build:/build diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..a7b1077 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +mkdir -p /build +chown build:build /build + +su build -c "$@"