Merge pull request #140 from AoEiuV020/p1 #152
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Alpha Build | |
on: | |
push: | |
branches: | |
- develop | |
jobs: | |
build-alpha: | |
name: Build Alpha Apk | |
runs-on: macos-latest | |
if: github.repository == 'aaa1115910/bv' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: develop | |
fetch-depth: 0 | |
submodules: 'true' | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Setup Gradle to generate and submit dependency graphs | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
dependency-graph: generate-and-submit | |
- name: Write google-services.json | |
env: | |
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }} | |
run: echo $DATA > app/google-services.json | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Add signing properties | |
env: | |
SIGNING_PROPERTIES: ${{ secrets.SIGNING_PROPERTIES }} | |
run: | | |
echo ${{ secrets.SIGNING_PROPERTIES }} > encoded_signing_properties | |
base64 -Dd -i encoded_signing_properties > signing.properties | |
- name: Add jks file | |
run: | | |
echo ${{ secrets.SIGN_KEY }} > ./encoded_key | |
base64 -Dd -i encoded_key > key.jks | |
- name: Build apk | |
run: ./gradlew assembleDefaultAlpha assembleDefaultDebug | |
- name: Read alpha apk output metadata | |
id: apk-meta-alpha | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: app/build/outputs/apk/default/alpha/output-metadata.json | |
- name: Read alpha debug apk output metadata | |
id: apk-meta-alpha-debug | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: app/build/outputs/apk/default/debug/output-metadata.json | |
- name: Parse apk infos | |
id: apk-infos | |
run: | | |
echo "alpha_info_version_code=${{ fromJson(steps.apk-meta-alpha.outputs.content).elements[0].versionCode }}" >> $GITHUB_ENV | |
echo "alpha_info_version_name=${{ fromJson(steps.apk-meta-alpha.outputs.content).elements[0].versionName }}" >> $GITHUB_ENV | |
echo "alpha_debug_info_version_code=${{ fromJson(steps.apk-meta-alpha-debug.outputs.content).elements[0].versionCode }}" >> $GITHUB_ENV | |
echo "alpha_debug_info_version_name=${{ fromJson(steps.apk-meta-alpha-debug.outputs.content).elements[0].versionName }}" >> $GITHUB_ENV | |
- name: Determine tag name | |
id: tag_name | |
run: echo "tag_name=alpha-r${{ env.alpha_info_version_code }}" >> $GITHUB_ENV | |
- name: Get changelog | |
id: changelog | |
run: | | |
{ | |
echo "changelog<<EOF" | |
echo "$(git log --pretty=format:"- %s (%h)" ${{ github.event.before }}..${{ github.sha }})" | |
echo "EOF" | |
} >> "$GITHUB_ENV" | |
# upload artifacts alpha debug | |
- name: Archive alpha debug build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Alpha debug build artifact | |
path: app/build/outputs/apk/default/debug/BV_${{ env.alpha_debug_info_version_code }}_${{ env.alpha_debug_info_version_name }}_default_universal.apk | |
# upload artifacts alpha | |
- name: Archive default alpha build mappings | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Alpha build mappings | |
path: app/build/outputs/mapping/defaultAlpha | |
- name: Archive alpha build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Alpha build artifact | |
path: app/build/outputs/apk/default/alpha/BV_${{ env.alpha_info_version_code }}_${{ env.alpha_info_version_name }}_default_universal.apk | |
# zip mapping because softprops/action-gh-release can't upload folder | |
- name: Zip mapping | |
run: zip -rj mapping.zip app/build/outputs/mapping/defaultAlpha | |
# upload to github release | |
- name: Publish Pre-Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: | | |
app/build/outputs/apk/default/debug/BV_${{ env.alpha_debug_info_version_code }}_${{ env.alpha_debug_info_version_name }}_default_universal.apk | |
app/build/outputs/apk/default/alpha/BV_${{ env.alpha_info_version_code }}_${{ env.alpha_info_version_name }}_default_universal.apk | |
mapping.zip | |
tag_name: ${{ env.tag_name }} | |
name: ${{ env.alpha_info_version_name }} | |
prerelease: true | |
body: ${{ env.changelog }} | |
target_commitish: ${{ github.sha }} |