Update pipeline
Some checks failed
Build / build (push) Failing after 9m14s

This commit is contained in:
Tim Kluge 2025-05-30 13:13:29 +02:00
parent 522364dd84
commit 823fe3a8bb
4 changed files with 45 additions and 16 deletions

View File

@ -3,10 +3,10 @@ name: Build
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
branches: [ "master" ] branches: [ "**" ]
tags: [ "*" ] tags: [ "*" ]
pull_request: pull_request:
branches: [ "master" ] branches: [ "**" ]
jobs: jobs:
build: build:
@ -19,13 +19,14 @@ jobs:
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Set up environment variables - name: Set up environment variables
run: | run: |
echo "GPR_USER=${{ github.actor }}" >> $GITHUB_ENV echo "GPR_USER=${{ secrets.GHUB_USER || github.actor }}" >> $GITHUB_ENV
echo "GPR_KEY=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV echo "GPR_KEY=${{ secrets.GHUB_TOKEN || secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV
echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV
echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> $GITHUB_ENV echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> $GITHUB_ENV
echo "KEYSTORE_BASE64=${{ secrets.KEYSTORE_BASE64 }}" >> $GITHUB_ENV echo "KEYSTORE_BASE64=${{ secrets.KEYSTORE_BASE64 }}" >> $GITHUB_ENV
echo "BUILD_NUMBER=${{ github.run_number }}" >> $GITHUB_ENV echo "BUILD_NUMBER=${{ github.run_number }}" >> $GITHUB_ENV
echo "BASE_URL=${{ secrets.BASE_URL || 'https://github.com/timklge/karoo-headwind/releases/latest/download' }}" >> $GITHUB_ENV
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: set up JDK 17 - name: set up JDK 17
uses: actions/setup-java@v4 uses: actions/setup-java@v4
@ -34,6 +35,9 @@ jobs:
distribution: 'temurin' distribution: 'temurin'
cache: gradle cache: gradle
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Grant execute permission for gradlew - name: Grant execute permission for gradlew
run: chmod +x gradlew run: chmod +x gradlew
- name: Build with Gradle - name: Build with Gradle
@ -47,12 +51,20 @@ jobs:
- name: Create Release - name: Create Release
id: create_release id: create_release
uses: ncipollo/release-action@v1 uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
name: ${{ github.ref_name }} name: ${{ github.ref_name }}
prerelease: false draft: false
generateReleaseNotes: true generate_release_notes: true
artifacts: app/build/outputs/apk/release/app-release.apk, app/manifest.json, app/karoo-headwind.png, preview0.png, preview1.png, preview2.png, preview3.png make_latest: true
files: |
app/build/outputs/apk/release/app-release.apk
app/manifest.json
app/karoo-headwind.png
preview0.png
preview1.png
preview2.png
preview3.png
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

1
.gitignore vendored
View File

@ -9,3 +9,4 @@
.cxx .cxx
local.properties local.properties
/app/release /app/release
app/manifest.json

View File

@ -1,3 +1,4 @@
import com.android.build.gradle.tasks.ProcessApplicationManifest
import java.util.Base64 import java.util.Base64
plugins { plugins {
@ -60,29 +61,38 @@ tasks.register("generateManifest") {
group = "build" group = "build"
doLast { doLast {
val baseUrl = System.getenv("BASE_URL") ?: "https://github.com/timklge/karoo-headwind/releases/latest/download"
val manifestFile = file("$projectDir/manifest.json") val manifestFile = file("$projectDir/manifest.json")
val manifest = mapOf( val manifest = mapOf(
"label" to "Headwind", "label" to "Headwind",
"packageName" to "de.timklge.karooheadwind", "packageName" to "de.timklge.karooheadwind",
"iconUrl" to "https://github.com/timklge/karoo-headwind/releases/latest/download/karoo-headwind.png", "iconUrl" to "$baseUrl/karoo-headwind.png",
"latestApkUrl" to "https://github.com/timklge/karoo-headwind/releases/latest/download/app-release.apk", "latestApkUrl" to "$baseUrl/app-release.apk",
"latestVersion" to android.defaultConfig.versionName, "latestVersion" to android.defaultConfig.versionName,
"latestVersionCode" to android.defaultConfig.versionCode, "latestVersionCode" to android.defaultConfig.versionCode,
"developer" to "github.com/timklge", "developer" to "github.com/timklge",
"description" to "Open-source extension that provides headwind direction, wind speed, forecast and other weather data fields.", "description" to "Open-source extension that provides headwind direction, wind speed, forecast and other weather data fields.",
"releaseNotes" to "* Remove crashlytics\n" + "releaseNotes" to "* Refactor unit conversions\n* Remove crashlytics\n" +
"* Reduce refresh rate on K2, add refresh rate setting\n" + "* Reduce refresh rate on K2, add refresh rate setting\n" +
"screenshotUrls" to listOf( "screenshotUrls" to listOf(
"https://github.com/timklge/karoo-headwind/releases/latest/download/preview1.png", "$baseUrl/preview1.png",
"https://github.com/timklge/karoo-headwind/releases/latest/download/preview3.png", "$baseUrl/preview3.png",
"https://github.com/timklge/karoo-headwind/releases/latest/download/preview2.png", "$baseUrl/preview2.png",
"https://github.com/timklge/karoo-headwind/releases/latest/download/preview0.png", "$baseUrl/preview0.png",
) )
) )
val gson = groovy.json.JsonBuilder(manifest).toPrettyString() val gson = groovy.json.JsonBuilder(manifest).toPrettyString()
manifestFile.writeText(gson) manifestFile.writeText(gson)
println("Generated manifest.json with version ${android.defaultConfig.versionName} (${android.defaultConfig.versionCode})") println("Generated manifest.json with version ${android.defaultConfig.versionName} (${android.defaultConfig.versionCode})")
if (System.getenv()["BASE_URL"] != null){
val androidManifestFile = file("$projectDir/src/main/AndroidManifest.xml")
var androidManifestContent = androidManifestFile.readText()
androidManifestContent = androidManifestContent.replace("\$BASE_URL\$", baseUrl)
androidManifestFile.writeText(androidManifestContent)
println("Replaced \$BASE_URL$ in AndroidManifest.xml")
}
} }
} }
@ -90,6 +100,12 @@ tasks.named("assemble") {
dependsOn("generateManifest") dependsOn("generateManifest")
} }
tasks.withType<ProcessApplicationManifest>().configureEach {
if (name == "processDebugMainManifest" || name == "processReleaseMainManifest") {
dependsOn(tasks.named("generateManifest"))
}
}
dependencies { dependencies {
implementation(libs.mapbox.sdk.turf) implementation(libs.mapbox.sdk.turf)
implementation(libs.hammerhead.karoo.ext) implementation(libs.hammerhead.karoo.ext)

View File

@ -32,6 +32,6 @@
<meta-data <meta-data
android:name="io.hammerhead.karooext.MANIFEST_URL" android:name="io.hammerhead.karooext.MANIFEST_URL"
android:value="https://github.com/timklge/karoo-headwind/releases/latest/download/manifest.json" /> android:value="$BASE_URL$/manifest.json" />
</application> </application>
</manifest> </manifest>