mirror of https://github.com/termux/termux-app
ci: use termux/upload-release-actions to attach debug builds to new releases
This commit is contained in:
parent
c6dce12510
commit
2ac7fd1e56
|
@ -6,7 +6,7 @@ on:
|
||||||
- published
|
- published
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
attach-apks:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -21,23 +21,15 @@ jobs:
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.GITHUB_REF }}
|
ref: ${{ env.GITHUB_REF }}
|
||||||
|
|
||||||
- name: Build and attach APKs to release
|
- name: Build
|
||||||
shell: bash {0}
|
shell: bash {0}
|
||||||
env:
|
env:
|
||||||
PACKAGE_VARIANT: ${{ matrix.package_variant }}
|
PACKAGE_VARIANT: ${{ matrix.package_variant }}
|
||||||
run: |
|
run: |
|
||||||
exit_on_error() {
|
|
||||||
echo "$1"
|
|
||||||
echo "Deleting '$RELEASE_VERSION_NAME' release and '$GITHUB_REF' tag"
|
|
||||||
hub release delete "$RELEASE_VERSION_NAME"
|
|
||||||
git push --delete origin "$GITHUB_REF"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "Setting vars"
|
|
||||||
RELEASE_VERSION_NAME="${GITHUB_REF/refs\/tags\//}"
|
RELEASE_VERSION_NAME="${GITHUB_REF/refs\/tags\//}"
|
||||||
if ! printf "%s" "${RELEASE_VERSION_NAME/v/}" | grep -qP '^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'; then
|
if ! printf "%s" "${RELEASE_VERSION_NAME/v/}" | grep -qP '^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'; then
|
||||||
exit_on_error "The versionName '${RELEASE_VERSION_NAME/v/}' is not a valid version as per semantic version '2.0.0' spec in the format 'major.minor.patch(-prerelease)(+buildmetadata)'. https://semver.org/spec/v2.0.0.html."
|
echo "The versionName '${RELEASE_VERSION_NAME/v/}' is not a valid version as per semantic version '2.0.0' spec in the format 'major.minor.patch(-prerelease)(+buildmetadata)'. https://semver.org/spec/v2.0.0.html."
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
APK_DIR_PATH="./app/build/outputs/apk/debug"
|
APK_DIR_PATH="./app/build/outputs/apk/debug"
|
||||||
|
@ -47,38 +39,35 @@ jobs:
|
||||||
echo "Building APKs for 'APK_VERSION_TAG' release"
|
echo "Building APKs for 'APK_VERSION_TAG' release"
|
||||||
export TERMUX_APK_VERSION_TAG="$APK_VERSION_TAG" # Used by app/build.gradle
|
export TERMUX_APK_VERSION_TAG="$APK_VERSION_TAG" # Used by app/build.gradle
|
||||||
export TERMUX_PACKAGE_VARIANT="${{ env.PACKAGE_VARIANT }}" # Used by app/build.gradle
|
export TERMUX_PACKAGE_VARIANT="${{ env.PACKAGE_VARIANT }}" # Used by app/build.gradle
|
||||||
if ! ./gradlew assembleDebug; then
|
./gradlew assembleDebug
|
||||||
exit_on_error "Build failed for '$APK_VERSION_TAG' release."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Validating APKs"
|
echo "Validating APKs"
|
||||||
for abi in universal arm64-v8a armeabi-v7a x86_64 x86; do
|
for abi in universal arm64-v8a armeabi-v7a x86_64 x86; do
|
||||||
if ! test -f "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_$abi.apk"; then
|
if ! test -f "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_$abi.apk"; then
|
||||||
files_found="$(ls "$APK_DIR_PATH")"
|
files_found="$(ls "$APK_DIR_PATH")"
|
||||||
exit_on_error "Failed to find built APK at '$APK_DIR_PATH/${APK_BASENAME_PREFIX}_$abi.apk'. Files found: "$'\n'"$files_found"
|
echo "Failed to find built APK at '$APK_DIR_PATH/${APK_BASENAME_PREFIX}_$abi.apk'. Files found: "$'\n'"$files_found"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
- name: Upload APKs to GitHub artifact
|
||||||
echo "Generating sha25sums file"
|
uses: actions/upload-artifact@v3
|
||||||
if ! (cd "$APK_DIR_PATH"; sha256sum \
|
with:
|
||||||
"${APK_BASENAME_PREFIX}_universal.apk" \
|
name: ${{ matrix.package_variant }}
|
||||||
"${APK_BASENAME_PREFIX}_arm64-v8a.apk" \
|
path: ./app/build/outputs/apk/debug/*.apk
|
||||||
"${APK_BASENAME_PREFIX}_armeabi-v7a.apk" \
|
upload:
|
||||||
"${APK_BASENAME_PREFIX}_x86_64.apk" \
|
runs-on: ubuntu-latest
|
||||||
"${APK_BASENAME_PREFIX}_x86.apk" \
|
needs: build
|
||||||
> "${APK_BASENAME_PREFIX}_sha256sums"); then
|
env:
|
||||||
exit_on_error "Generate sha25sums failed for '$APK_VERSION_TAG' release."
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
fi
|
steps:
|
||||||
|
- name: Download artifact
|
||||||
echo "Attaching APKs to github release"
|
uses: actions/download-artifact@v3
|
||||||
if ! hub release edit \
|
- name: Upload APKs to release
|
||||||
-m "" \
|
uses: termux/upload-release-action@v4.1.0
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_universal.apk" \
|
with:
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_arm64-v8a.apk" \
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_armeabi-v7a.apk" \
|
file: "**/*.apk"
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_x86_64.apk" \
|
file_glob: true
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_x86.apk" \
|
release_name:
|
||||||
-a "$APK_DIR_PATH/${APK_BASENAME_PREFIX}_sha256sums" \
|
tag: ${{ github.event.release.tag_name }}
|
||||||
"$RELEASE_VERSION_NAME"; then
|
checksums: sha256,sha512,md5
|
||||||
exit_on_error "Attach APKs to release failed for '$APK_VERSION_TAG' release."
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Reference in New Issue