chore: Use Python to create release gradle properties

This commit is contained in:
Artem Chepurnoy 2024-05-05 16:50:06 +03:00
parent 64d2fe2efd
commit 15a454416a
No known key found for this signature in database
GPG Key ID: FAC37D0CF674043E
4 changed files with 44 additions and 32 deletions

View File

@ -1,18 +1,18 @@
import argparse import argparse
import re import re
import sys
from datetime import datetime from datetime import datetime
parser = argparse.ArgumentParser("convert_tag_date") def get_date_from_tag(tag):
parser.add_argument("tag", help="Release tag", type=str) # A format of the tag is r+yyyyMMdd, we
args = parser.parse_args() # strip out any non digit symbols here.
date_str = re.match(r'[^\d]*(\d+).*', tag).group(1)
date = datetime.strptime(date_str, '%Y%m%d')
return "{:%Y%m%d}".format(date)
tag = args.tag if __name__ == "__main__":
# A format of the tag is r+yyyyMMdd, we parser = argparse.ArgumentParser("convert_tag_date")
# strip out any non digit symbols here. parser.add_argument("tag", help="Release tag", type=str)
date_str = re.match(r'[^\d]*(\d+).*', tag).group(1) args = parser.parse_args()
date = datetime.strptime(date_str, '%Y%m%d') print(get_date_from_tag(args.tag))
# Release date.
out = "{:%Y%m%d}".format(date)
print(out)

View File

@ -0,0 +1,23 @@
import argparse
import re
import subprocess
from datetime import datetime
from convert_tag_date import get_date_from_tag
parser = argparse.ArgumentParser("setup_gradle_properties")
parser.add_argument("tag", help="Release tag", type=str)
args = parser.parse_args()
tag = args.tag
date = get_date_from_tag(tag)
ref = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('utf-8').strip()
text = f"""
versionDate={date}
versionRef={ref}
buildkonfig.flavor=release
"""
with open("gradle.properties", "a") as f:
f.write(text)

View File

@ -22,10 +22,7 @@ jobs:
echo ${{ secrets.KEYSTORE_PROPS_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.properties echo ${{ secrets.KEYSTORE_PROPS_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.properties
echo ${{ secrets.GOOGLE_SERVICES }} | base64 -d | zcat >> androidApp/google-services.json echo ${{ secrets.GOOGLE_SERVICES }} | base64 -d | zcat >> androidApp/google-services.json
echo ${{ secrets.SERVICE_ACCOUNT_B64 }} | base64 -d | zcat >> service-account-google.json echo ${{ secrets.SERVICE_ACCOUNT_B64 }} | base64 -d | zcat >> service-account-google.json
echo "" >> gradle.properties python .github/setup_gradle_properties_release.py tag=${{ github.ref_name }}
echo "versionDate=$(python .github/convert_tag_date.py tag=${{ github.ref_name }})" >> gradle.properties
echo "versionRef=$(git rev-parse --short HEAD)" >> gradle.properties
echo buildkonfig.flavor=release >> gradle.properties
- name: "Check and Build licenses" - name: "Check and Build licenses"
uses: gradle/actions/setup-gradle@v3 uses: gradle/actions/setup-gradle@v3
env: env:

View File

@ -32,10 +32,7 @@ jobs:
p12-password: ${{ secrets.CERT_PASSWD }} p12-password: ${{ secrets.CERT_PASSWD }}
- name: "Setup build env" - name: "Setup build env"
run: | run: |
echo "" >> gradle.properties python .github/setup_gradle_properties_release.py tag=${{ github.ref_name }}
echo "versionDate=$(python .github/convert_tag_date.py tag=${{ github.ref_name }})" >> gradle.properties
echo "versionRef=$(git rev-parse --short HEAD)" >> gradle.properties
echo buildkonfig.flavor=release >> gradle.properties
- name: "Setup signing config" - name: "Setup signing config"
run: | run: |
echo "" >> gradle.properties echo "" >> gradle.properties
@ -84,6 +81,10 @@ jobs:
with: with:
lfs: true lfs: true
submodules: recursive submodules: recursive
- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: "Set up JDK 17" - name: "Set up JDK 17"
id: setup-java id: setup-java
uses: actions/setup-java@v4 uses: actions/setup-java@v4
@ -92,10 +93,7 @@ jobs:
java-version: '17' java-version: '17'
- name: "Setup build env" - name: "Setup build env"
run: | run: |
echo "" >> gradle.properties python .github/setup_gradle_properties_release.py tag=${{ github.ref_name }}
echo "versionDate=$(python .github/convert_tag_date.py tag=${{ github.ref_name }})" >> gradle.properties
echo "versionRef=$(git rev-parse --short HEAD)" >> gradle.properties
echo buildkonfig.flavor=release >> gradle.properties
- name: "./gradlew :desktopApp:bundleFlatpak" - name: "./gradlew :desktopApp:bundleFlatpak"
uses: gradle/actions/setup-gradle@v3 uses: gradle/actions/setup-gradle@v3
env: env:
@ -128,10 +126,7 @@ jobs:
17 17
- name: "Setup build env" - name: "Setup build env"
run: | run: |
echo "" >> gradle.properties python .github/setup_gradle_properties_release.py tag=${{ github.ref_name }}
echo "versionDate=$(python .github/convert_tag_date.py tag=${{ github.ref_name }})" >> gradle.properties
echo "versionRef=$(git rev-parse --short HEAD)" >> gradle.properties
echo buildkonfig.flavor=release >> gradle.properties
- name: "./gradlew :desktopApp:packageMsi" - name: "./gradlew :desktopApp:packageMsi"
uses: gradle/actions/setup-gradle@v3 uses: gradle/actions/setup-gradle@v3
env: env:
@ -161,10 +156,7 @@ jobs:
echo ${{ secrets.KEYSTORE_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.keystore echo ${{ secrets.KEYSTORE_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.keystore
echo ${{ secrets.KEYSTORE_PROPS_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.properties echo ${{ secrets.KEYSTORE_PROPS_B64 }} | base64 -d | zcat >> androidApp/keyguard-release.properties
echo ${{ secrets.GOOGLE_SERVICES }} | base64 -d | zcat >> androidApp/google-services.json echo ${{ secrets.GOOGLE_SERVICES }} | base64 -d | zcat >> androidApp/google-services.json
echo "" >> gradle.properties python .github/setup_gradle_properties_release.py tag=${{ github.ref_name }}
echo "versionDate=$(python .github/convert_tag_date.py tag=${{ github.ref_name }})" >> gradle.properties
echo "versionRef=$(git rev-parse --short HEAD)" >> gradle.properties
echo buildkonfig.flavor=release >> gradle.properties
- name: "Check and Build licenses" - name: "Check and Build licenses"
uses: gradle/actions/setup-gradle@v3 uses: gradle/actions/setup-gradle@v3
env: env: