Compare commits

..

14 Commits

Author SHA1 Message Date
karol 63e175c76a chore: rename applicationId and app name to isolate fork from official app
CI Pipeline / Android Lint (push) Successful in 1m34s
CI Pipeline / Unit Tests (push) Successful in 1m10s
CI Pipeline / Build and Upload APK (push) Successful in 2m24s
2026-09-18 20:31:23 +02:00
karol 8142073abd chore: trigger Gitea Actions
CI Pipeline / Android Lint (push) Successful in 2m4s
CI Pipeline / Unit Tests (push) Successful in 1m8s
CI Pipeline / Build and Upload APK (push) Successful in 2m30s
2026-09-18 19:38:36 +02:00
karol 149c620525 ci: use PERSONAL_ACCESS_TOKEN for auto-update to trigger downstream pipelines 2026-09-18 18:57:04 +02:00
karol c96b0e3617 ci: add scheduled workflow to auto-sync upstream changes 2026-09-18 18:55:15 +02:00
karol 268c27dc4a build: output both signed release and debug APKs 2026-09-18 18:52:19 +02:00
karol 3146785498 ci: use dynamic run_number for release tags to avoid conflicts 2026-09-18 18:43:02 +02:00
karol 11589dfdd3 ci: use native gitea-release-action for uploading apks 2026-09-18 18:36:11 +02:00
karol 96828febdb ci: fix apk artifacts path for release action 2026-09-18 14:38:57 +02:00
karol 98ae6fe0d2 ci: merge workflows into a single pipeline with proper job dependencies 2026-09-11 16:30:13 +02:00
karol 2e27b06c01 fix(lint): add missing default translations to fix CI 2026-09-11 16:25:38 +02:00
karol 8db8b58020 trigger ci for ncipollo release 2026-09-11 16:09:08 +02:00
karol 9a9e1e6947 ci: swap release action to ncipollo for gitea compatibility 2026-09-11 16:06:43 +02:00
karol d9880f259d trigger ci for release test 2026-09-11 16:00:04 +02:00
karol 08b5ab381e ci: grant write permissions for release upload 2026-09-11 15:21:25 +02:00
7 changed files with 145 additions and 75 deletions
+56
View File
@@ -0,0 +1,56 @@
name: Auto-Sync Upstream
on:
schedule:
- cron: '0 3 * * *' # Uruchamia się codziennie o 3:00 w nocy
workflow_dispatch: # Pozwala uruchomić to ręcznie z poziomu Gitea
permissions:
contents: write
jobs:
sync:
name: Sync with Upstream
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Configure Git & Fetch
run: |
git config user.name "Gitea Actions Bot"
git config user.email "actions@gitea.local"
git remote add upstream https://gitea.local.labus.uk/upstream-mirrors/OpenTracks.git
git fetch upstream main
- name: Check for updates & Attempt Merge
id: merge
run: |
# Sprawdzamy czy są jakiekolwiek nowe zmiany
if git diff --quiet HEAD upstream/main; then
echo "Repozytorium jest aktualne. Brak zmian."
echo "has_changes=false" >> $GITHUB_ENV
exit 0
fi
echo "Znaleziono nowe zmiany. Próbuję scalić..."
echo "has_changes=true" >> $GITHUB_ENV
# Próba automatycznego scalenia (merge)
if git merge upstream/main --no-edit; then
echo "Scalenie przebiegło pomyślnie!"
else
echo "Wykryto konflikty! Przerywam scalanie."
git merge --abort
exit 1 # Błąd celowy - Gitea wyśle Ci powiadomienie o failu
fi
- name: Push changes
if: env.has_changes == 'true'
run: |
git push origin main
echo "Zmiany pomyślnie wypchnięte do repozytorium!"
-31
View File
@@ -1,31 +0,0 @@
name: Build and Release APK
on:
push:
branches:
- main
jobs:
release:
name: Build and Upload APK
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build APKs
shell: bash
run: ./gradlew assembleDebug
- name: Upload to Gitea Releases
uses: softprops/action-gh-release@v1
with:
tag_name: latest
name: Latest Build (main)
prerelease: true
files: build/outputs/apk/**/*.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+78
View File
@@ -0,0 +1,78 @@
name: CI Pipeline
on:
push:
branches:
- main
pull_request:
permissions:
contents: write
jobs:
lint:
name: Android Lint
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Lint
shell: bash
run: ./gradlew lint
android-check:
name: Unit Tests
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Test
shell: bash
run: ./gradlew testNightlyDebugUnitTest --stacktrace
release:
name: Build and Upload APK
needs: [lint, android-check]
if: github.event_name == 'push'
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build APKs
shell: bash
run: |
./gradlew assembleDebug
./gradlew assembleRelease
- name: Prepare APKs
shell: bash
run: |
mkdir -p release-apks
find . -name "*.apk" -print -exec cp {} release-apks/ \;
ls -la release-apks/
- name: Upload to Gitea Releases
uses: https://gitea.com/actions/gitea-release-action@v1
with:
tag_name: build-${{ github.run_number }}
name: "Build #${{ github.run_number }}"
prerelease: true
files: |-
release-apks/*.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-36
View File
@@ -1,36 +0,0 @@
name: Android Test
on:
push:
branches:
- main
pull_request:
jobs:
lint:
name: Android Lint
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Lint
shell: bash
run: ./gradlew lint
android-check:
runs-on: ubuntu-latest
container:
image: 'cimg/android:2024.04-node'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Test
shell: bash
run: ./gradlew testNightlyDebugUnitTest --stacktrace
+7 -6
View File
@@ -46,7 +46,7 @@ android {
}
defaultConfig {
applicationId 'de.dennisguse.opentracks'
applicationId 'de.dennisguse.opentracks.fork'
versionCode 6751
versionName "v4.28.3"
@@ -98,6 +98,7 @@ android {
release {
crunchPngs = false
minifyEnabled = false
signingConfig signingConfigs.debug
}
}
@@ -106,18 +107,18 @@ android {
productFlavors {
nightly {
dimension 'version'
applicationId 'de.dennisguse.opentracks.nightly'
applicationId 'de.dennisguse.opentracks.fork.nightly'
versionCode getVersionCodeNightly()
versionName getVersionName()
base.archivesName = "de.dennisguse.opentracks.nightly_${getVersionCodeNightly()}"
base.archivesName = "de.dennisguse.opentracks.fork.nightly_${getVersionCodeNightly()}"
signingConfig = signingConfigs.nightly
}
irreproducible {
// Non-reproducible: https://f-droid.org/de/packages/de.dennisguse.opentracks/
dimension 'version'
applicationId 'de.dennisguse.opentracks'
applicationId 'de.dennisguse.opentracks.fork'
versionNameSuffix 'irreproducible'
}
reproducible {
@@ -125,9 +126,9 @@ android {
// FDroid: https://f-droid.org/de/packages/de.dennisguse.opentracks.playstore
// PlayStore: https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore
dimension 'version'
applicationId 'de.dennisguse.opentracks.playstore'
applicationId 'de.dennisguse.opentracks.fork.playstore'
base.archivesName = "de.dennisguse.opentracks.playstore_${getVersionName()}_${android.defaultConfig.versionCode}"
base.archivesName = "de.dennisguse.opentracks.fork.playstore_${getVersionName()}_${android.defaultConfig.versionCode}"
signingConfig = signingConfigs.release
}
+2 -2
View File
@@ -15,8 +15,8 @@ limitations under the License.
-->
<resources>
<string name="app_web_url" translatable="false">https://codeberg.org/OpenTracksApp/OpenTracks</string>
<string name="app_name" translatable="false">OpenTracks</string>
<string name="launcher_name" translatable="false">OpenTracks</string>
<string name="app_name" translatable="false">OpenTracks (Fork)</string>
<string name="launcher_name" translatable="false">OpenTracks (Fork)</string>
<string name="egm2008" translatable="false">EGM2008</string>
<string name="wgs84" translatable="false">WGS84</string>
+2
View File
@@ -355,6 +355,8 @@ limitations under the License.
<string name="settings_chart_display_heart_rate_title">Display heart rate</string>
<!-- Settings Recording -->
<string name="settings_recording_title">Recording</string>
<string name="settings_recording_min_recording_interval_title">Recording time interval</string>
<string name="stats_sensor_status">Sensor status</string>
<string name="settings_theme_switch_restart">Theme changes may require a manual restart.</string>
<string name="settings_ui_dynamic_colors_title">Dynamic Colors</string>
<string name="settings_ui_dynamic_colors_summary">Use user-defined Dynamic Colors (Android 12+ only; requires a manual restart)</string>