generated from dellevin/template
首次提交
This commit is contained in:
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
github: [fcmfcm1999]
|
||||
ko_fi: fantasy1999
|
||||
80
.github/workflows/release.yml
vendored
Normal file
80
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
name: Build and Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Extract version from tag
|
||||
id: version
|
||||
run: |
|
||||
TAG=${GITHUB_REF#refs/tags/v}
|
||||
echo "name=$TAG" >> $GITHUB_OUTPUT
|
||||
# Extract major.minor.patch as version code base
|
||||
VERSION_CODE=$(echo $TAG | sed 's/\.//g' | sed 's/[^0-9]//g')
|
||||
echo "code=$VERSION_CODE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
|
||||
- name: Setup Signature for Release
|
||||
env:
|
||||
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
|
||||
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
|
||||
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
||||
run: |
|
||||
if [ ! -z "$KEYSTORE_BASE64" ]; then
|
||||
echo "$KEYSTORE_BASE64" | base64 --decode > app/release.jks
|
||||
echo "RELEASE_STORE_FILE=release.jks" >> local.properties
|
||||
echo "RELEASE_STORE_PASSWORD=$KEYSTORE_PASSWORD" >> local.properties
|
||||
echo "RELEASE_KEY_ALIAS=$KEY_ALIAS" >> local.properties
|
||||
echo "RELEASE_KEY_PASSWORD=$KEY_PASSWORD" >> local.properties
|
||||
else
|
||||
echo "Secret KEYSTORE_BASE64 is missing, you must configure secrets in GitHub Repo Settings!"
|
||||
fi
|
||||
|
||||
- name: Build Release APK
|
||||
run: ./gradlew assembleRelease
|
||||
env:
|
||||
VERSION_NAME: ${{ steps.version.outputs.name }}
|
||||
VERSION_CODE: ${{ steps.version.outputs.code }}
|
||||
BUILD_DATE: ${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Rename APK with version and date
|
||||
id: apk
|
||||
run: |
|
||||
APK_PATH=$(find app/build/outputs/apk/release -name '*.apk' | head -1)
|
||||
NEW_NAME="EdgeX-v${{ steps.version.outputs.name }}-${{ steps.date.outputs.date }}.apk"
|
||||
NEW_PATH="app/build/outputs/apk/release/$NEW_NAME"
|
||||
mv "$APK_PATH" "$NEW_PATH"
|
||||
echo "path=$NEW_PATH" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ steps.apk.outputs.path }}
|
||||
generate_release_notes: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
Reference in New Issue
Block a user