2.9 KiB
Release Process for SimpleLogUpload
This document describes the process of creating new releases for the SimpleLogUpload Android application using GitHub Actions.
Versioning Scheme
We use a vYY.MM.PATCH versioning format:
YY: Year (last two digits, e.g., 25 for 2025)MM: Month (two digits, e.g., 04 for April)PATCH: Incremental patch number within the month (starting at 1)
Example: v25.04.1 represents the first release in April 2025.
Prerequisites
Before you can use the automated release process, you need to set up the signing configuration:
-
Create a keystore (if you don't already have one):
keytool -genkey -v -keystore simplelogupload.keystore -alias upload_key -keyalg RSA -keysize 2048 -validity 10000 -
Encode your keystore file:
# Make the script executable chmod +x scripts/prepare_signing_key.sh # Run the script with your keystore file ./scripts/prepare_signing_key.sh /path/to/your/simplelogupload.keystore -
Add the required secrets to your GitHub repository:
SIGNING_KEY: The Base64-encoded keystore file (output from step 2)KEY_ALIAS: The alias of your key (e.g.,upload_key)KEY_STORE_PASSWORD: The password for your keystoreKEY_PASSWORD: The password for your key
Add these at: https://github.com/YOUR-USERNAME/SimpleLogUpload/settings/secrets/actions
Creating a New Release
-
Update your code:
- Make all necessary code changes
- Update version numbers in app/build.gradle if needed
- Commit and push your changes to the main branch
-
Create and push a tag:
# Get the latest changes git pull origin main # Create a new tag git tag v25.04.1 # Push the tag to GitHub git push origin v25.04.1 -
Monitor the GitHub Actions workflow:
- Go to the "Actions" tab in your repository
- You should see a workflow named "Android Release Build" running
- When complete, it will create a new release with the APK attached
-
Verify the release:
- Check the "Releases" section of your repository
- Ensure the APK file is attached
- Download and test the APK on a device
Troubleshooting
If the automatic release process fails:
-
Check the GitHub Actions logs:
- Go to the "Actions" tab and click on the failed workflow
- Examine the logs for errors
-
Common issues:
- Missing GitHub secrets
- Incorrect keystore information
- Build errors in the codebase
-
Manual release: If needed, you can build and release manually:
# Build the release APK ./gradlew assembleRelease # Sign the APK using your keystore # (Use apksigner from the Android SDK)
Post-Release Steps
- Announce the release to users or stakeholders
- Monitor for issues after the release
- Plan the next release and begin work on new features