SIGN IN SIGN UP

feat: Automate versioning and enhance release workflow

This commit introduces several improvements to the project's versioning and release process:

- **Automated Versioning**:
    - `versionName` is now read from a new `version.txt` file at the project root.
    - `versionCode` is dynamically generated based on the Git commit count.
    - A helper function `runCommand` is added to `app/build.gradle.kts` to execute shell commands.

- **GitHub Actions Release Workflow Enhancements**:
    - The workflow now fetches the full Git history (`fetch-depth: 0`) to enable `versionCode` generation.
    - The "Build APK" step is renamed to "Build Release APK" for clarity.
    - Version name is now sourced from `version.txt` instead of a Gradle task.
    - The step to create a GitHub Release is renamed to "Upload APK to GitHub Release".
    - A new step "Upload APK as Artifact" is added to store the release APK as a workflow artifact.

- **Application Name Update**:
    - The `app_name` string resource in `app/src/main/res/values/strings.xml` has been changed from "Jetpack Boilerplate" to "Material 3 Expressive Catalog".
C
Cavin committed
14a2a34041bcada436ebc82cc048c444c0f221dc
Parent: 5f57c1b