diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml new file mode 100644 index 000000000..ec2e48f59 --- /dev/null +++ b/.github/workflows/actions.yml @@ -0,0 +1,120 @@ +name: Android CI + +on: + push: + branches: + - master + - test/** + pull_request: + types: [opened, synchronize, reopened] + +env: + ANDROID_API: 36.1 + ANDROID_BUILD_TOOLS: 36.1.0 + ADB_INSTALL_TIMEOUT: 5 + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + cache: 'gradle' + + - name: Cache Gradle Build Cache + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches/build-cache-* + key: ${{ runner.os }}-gradle-build-cache-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-gradle-build-cache- + + - name: Restore cache for Git LFS Objects + id: lfs-cache + uses: actions/cache@v4 + with: + path: .git/lfs + key: ${{ runner.os }}-lfs-${{ hashFiles('.git/lfs/objects/**') }} + restore-keys: ${{ runner.os }}-lfs- + + - name: Git LFS Pull + run: git lfs pull + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Install Android SDK components + run: | + sdkmanager "tools" + sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" + sdkmanager "platforms;android-${ANDROID_API}" + sdkmanager "extras;android;m2repository" + sdkmanager "extras;google;m2repository" + sdkmanager "extras;google;google_play_services" + + - name: Prepare builddir + run: | + # secrets are only available for collabrators, other will build with OsmDroid (but a few more options than F-Droid still) + echo "${{ secrets.MAPBOX }}" > $GITHUB_WORKSPACE/mapbox.properties + echo "${{ secrets.DROPBOX }}" > $GITHUB_WORKSPACE/dropbox.properties + echo "${{ secrets.RUNALYZE }}" > $GITHUB_WORKSPACE/runalyze.properties + chmod +x gradlew + + - name: Build bundle + run: ./gradlew :app:bundleLatestRelease :wear:bundleRelease + + - name: Upload build logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: build-bundle + # possibly include: app/build/outputs/bundle/latestRelease/ wear/build/outputs/bundle/release/ + path: | + **/build/outputs/logs/ + + - name: Test + run: ./gradlew test + + - name: Upload test logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-logs + path: | + **/build/reports/tests/ + + - name: Lint latest release + run: ./gradlew :app:lintLatestRelease :wear:lintRelease :hrdevice:lintRelease :common:lintRelease + + - name: Upload lint logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: lint-logs + path: | + **/build/reports/lint-results-release.html + **/build/reports/lint-results-latestRelease.html + + - name: Build F-Droid + run: | + rm $GITHUB_WORKSPACE/mapbox.properties + # For special build steps, see https://gitlab.com/fdroid/fdroiddata.git metadata/org.runnerup.free.yml + rm -rf wear ANT-Android-SDKs $GITHUB_WORKSPACE/dropbox.properties $GITHUB_WORKSPACE/runalyze.properties + sed -i -e '/play-services/d' -e '/com.mapbox.maps/d' -e '/api.mapbox.com/d' app/build.gradle + sed -i -e '/wearable/d' common/build.gradle + sed -i -e '/:wear/d' settings.gradle + ./gradlew clean :app:assembleLatestRelease + + - name: Upload F-Droid logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: fdroid-logs + path: | + build/reports/problems/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9fa069636..000000000 --- a/.travis.yml +++ /dev/null @@ -1,35 +0,0 @@ -env: - global: - - ANDROID_API=35 - - ANDROID_BUILD_TOOLS=36.0.0 - - ADB_INSTALL_TIMEOUT=5 -language: android -jdk: -- oraclejdk8 -cache: - directories: - - $HOME/.gradle/caches/ - - $HOME/.gradle/wrapper/ -before_cache: -- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock -- rm -f $HOME/.gradle/caches/*/classAnalysis/cache.properties.lock -- rm -f $HOME/.gradle/caches/*/jarSnapshots/cache.properties.lock -- rm -fr $HOME/.gradle/caches/*/plugin-resolution/ -android: - components: - - tools #latest for "builtin" sdk tools (24.4.1 in Android-25) - #To update SDK Tools to latest, another update is required - #- tools #latest, 26.1.1 as of 2018-10-07 - #- platform-tools #latest, 28.0.1 as of 2018-10-07 - - build-tools-$ANDROID_BUILD_TOOLS - - android-$ANDROID_API - - extra-android-m2repository - - extra-google-m2repository - - extra-google-google_play_services -notifications: - email: false -script: -- ./gradlew wear:lintRelease -- ./gradlew app:lintLatestRelease -- ./gradlew app:assembleLatestRelease -- ./gradlew app:test diff --git a/ANT-Android-SDKs b/ANT-Android-SDKs index 0e8cea714..e324d1b17 160000 --- a/ANT-Android-SDKs +++ b/ANT-Android-SDKs @@ -1 +1 @@ -Subproject commit 0e8cea714a231fb9565170d4ed01eafa868f9798 +Subproject commit e324d1b173f8da27214bb6713375abfc00aa3e8b diff --git a/README.md b/README.md index 462441c00..9e665c4e5 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ Track your sport activities with RunnerUp using the GPS in your Android phone. * Configure and use heart rate zones * Phone internal sensors like step sensor and barometer. * WearOS app -* Pebble support ## Release diff --git a/app/assets/about.html b/app/assets/about.html index 0b2211555..bef9a532d 100644 --- a/app/assets/about.html +++ b/app/assets/about.html @@ -15,7 +15,6 @@

3rd party software

GraphView

MapBox

Android ANT+ SDK

-

PebbleKit Android

diff --git a/app/assets/changes.html b/app/assets/changes.html index 59c8aea88..26bd45e39 100644 --- a/app/assets/changes.html +++ b/app/assets/changes.html @@ -5,6 +5,16 @@

What's new

+

v2.10.0

+

+

+Many internal changes, translations and restructurings.

v2.9.0