@@ -30,43 +30,30 @@ jobs:
3030 cmakeVersion : 3.24.1
3131 ninjaVersion : latest
3232
33- - name : Ensure source code revision
34- run : scripts/ensure-code-revision.sh
35- working-directory : platform/android
36- shell : bash
37-
3833 - name : npm install
3934 run : npm install --ignore-scripts
40- working-directory : platform/android
4135
4236 - name : Android nitpick
4337 run : make run-android-nitpick
4438
45- - name : Update version name
46- run : |
47- RELEASE_VERSION="$( git describe --tags --match=android-v*.*.* --abbrev=0 | sed 's/^android-v//' )"
48- echo version="$RELEASE_VERSION" >> "$GITHUB_ENV"
49- echo "Latest version from tag: $RELEASE_VERSION"
50- if [ -n "$RELEASE_VERSION" ]; then
51- sed -i -e "s/^VERSION_NAME=.*/VERSION_NAME=${RELEASE_VERSION}/" MapLibreAndroid/gradle.properties
52- echo "MapLibreAndroid/gradle.properties:"
53- cat MapLibreAndroid/gradle.properties
54- fi
55- shell : bash
39+ - name : Validate and set version
40+ run : ../../.github/scripts/validate-version.sh
5641
5742 - name : Build package
5843 run : |
5944 RENDERER=vulkan make apackage
45+ BUILDTYPE=Debug RENDERER=vulkan make apackage
6046 RENDERER=drawable make apackage
47+ BUILDTYPE=Debug RENDERER=drawable make apackage
6148
6249 # create github release
6350 - name : Prepare release
6451 id : prepare_release
6552 run : |
6653 RELEASE_NOTES_PATH="${PWD}/release_notes.txt"
67- node scripts/release-notes.mjs > "${RELEASE_NOTES_PATH}"
54+ node scripts/release-notes.mjs ${{ env.version }} > "${RELEASE_NOTES_PATH}"
6855 echo release_notes="${RELEASE_NOTES_PATH}" >> "$GITHUB_OUTPUT"
69- echo version_tag="$( git describe --tags --match= android-v*.*.* --abbrev=0 )" >> "$GITHUB_OUTPUT"
56+ echo version_tag=android-v${{ env.version }} >> "$GITHUB_OUTPUT"
7057 shell : bash
7158
7259 - name : Check if version is pre-release
8168 echo "prerelease=true" >> "$GITHUB_ENV"
8269 fi
8370
71+ - name : Create tag if it does not exist
72+ run : |
73+ git config user.name "MapLibre Team"
74+ git config user.email "[email protected] " 75+ tag="android-v${{ env.version }}"
76+
77+ if git rev-parse "$tag" >/dev/null 2>&1; then
78+ tag_sha=$(git rev-parse "$tag^{commit}")
79+ if [ "$tag_sha" = "${{ github.sha }}" ]; then
80+ echo "✅ Tag $tag exists and matches current commit SHA."
81+ exit 0
82+ else
83+ echo "::error::❌ Tag $tag exists but points to a different commit. Aborting."
84+ exit 1
85+ fi
86+ else
87+ git tag -a "$tag" -m "Publish $tag" ${{ github.sha }}
88+ git push origin "$tag"
89+ fi
90+
8491 - name : Create release
8592 id : create_release
8693 uses : actions/create-release@v1
@@ -103,6 +110,16 @@ jobs:
103110 asset_name : MapLibreAndroid-release.aar
104111 asset_content_type : application/zip
105112
113+ - name : Upload aar (OpenGL, Debug)
114+ uses : actions/upload-release-asset@v1
115+ env :
116+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
117+ with :
118+ upload_url : ${{ steps.create_release.outputs.upload_url }}
119+ asset_path : platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-drawable-debug.aar
120+ asset_name : MapLibreAndroid-debug.aar
121+ asset_content_type : application/zip
122+
106123 - name : Upload aar (Vulkan)
107124 uses : actions/upload-release-asset@v1
108125 env :
@@ -113,6 +130,16 @@ jobs:
113130 asset_name : MapLibreAndroid-release-vulkan.aar
114131 asset_content_type : application/zip
115132
133+ - name : Upload aar (Vulkan, Debug)
134+ uses : actions/upload-release-asset@v1
135+ env :
136+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
137+ with :
138+ upload_url : ${{ steps.create_release.outputs.upload_url }}
139+ asset_path : platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-vulkan-debug.aar
140+ asset_name : MapLibreAndroid-debug-vulkan.aar
141+ asset_content_type : application/zip
142+
116143 - name : Upload debug symbols (OpenGL)
117144 uses : actions/upload-release-asset@v1
118145 env :
0 commit comments