Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 2, 2025

Overview

Fixed the existing GitHub Actions release workflow to properly build and attach release APKs to repository releases. The workflow was previously present but had several formatting and logic issues that prevented optimal functionality.

Changes Made

YAML Formatting & Standards

  • Fixed all trailing spaces and indentation issues
  • Added proper document start marker (---)
  • Improved code formatting and consistency throughout the workflow
  • Ensured compliance with YAML linting standards

Enhanced Error Handling & Debugging

  • Added comprehensive APK detection with detailed error messages
  • Improved logging to show APK location and version extraction process
  • Added fallback logic to list available APK files when build fails
  • Enhanced version extraction with verbose output for debugging

Build Summary & Visibility

  • Added build summary step that provides clear information about:
    • Version being built
    • APK name and location
    • Trigger event type
    • Upload status (release attachment vs artifact)

Robust Version Handling

  • Improved version extraction logic for both git tags and gradle files
  • Added proper handling of tag-based vs gradle-based version detection
  • Enhanced APK naming with consistent qr-code-scanner-{version}.apk format

Workflow Features

The workflow now automatically:

  • Triggers on GitHub releases (published) and git tag pushes (v*)
  • Builds release APK with ProGuard optimization enabled
  • Attaches APK to GitHub releases or uploads as artifacts for tag pushes
  • Provides clear build summaries and error diagnostics
  • Handles both manual releases and automated tag-based releases

Testing

  • Validated YAML syntax and structure
  • Tested version extraction logic with current gradle configuration
  • Simulated tag-based version scenarios
  • Verified APK naming conventions

The workflow integrates seamlessly with the existing release script (scripts/release.sh) and documentation (CICD.md) already present in the repository.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx4096m -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-8.4-bin/1w5dpkrfk8irigvoxmyhowfim/gradle-8.4/lib/gradle-launcher-8.4.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-8.4-bin/1w5dpkrfk8irigvoxmyhowfim/gradle-8.4/lib/agents/gradle-instrumentation-agent-8.4.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.4 (dns block)
  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI changed the title [WIP] make the github action, when trigger will build release and attach it to the release of repository Fix and improve GitHub Actions release workflow for automated APK builds Sep 2, 2025
Copilot AI requested a review from dantech0xff September 2, 2025 15:27
Copilot finished work on behalf of dantech0xff September 2, 2025 15:27
@dantech0xff dantech0xff marked this pull request as ready for review September 3, 2025 13:16
Copilot AI review requested due to automatic review settings September 3, 2025 13:16
@dantech0xff dantech0xff merged commit 2231ffd into main Sep 3, 2025
1 check passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes and improves the existing GitHub Actions release workflow to properly build and attach APKs to repository releases. The workflow had formatting issues and lacked proper error handling that prevented optimal functionality.

  • Added comprehensive error handling and debugging capabilities for APK detection
  • Fixed YAML formatting issues including indentation, trailing spaces, and added document start marker
  • Enhanced build visibility with detailed summaries and improved logging throughout the process

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +66 to +70
echo "Using version from tag: $VERSION"
else
VERSION=$(grep 'versionName' app/build.gradle.kts | \
sed 's/.*"\(.*\)".*/\1/')
echo "Using version from gradle: $VERSION"
Copy link

Copilot AI Sep 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The echo statements for version logging are missing proper indentation. They should be indented to align with the other commands in the conditional blocks to maintain consistent formatting.

Copilot uses AI. Check for mistakes.
else
VERSION=$(grep 'versionName' app/build.gradle.kts | \
sed 's/.*"\(.*\)".*/\1/')
echo "Using version from gradle: $VERSION"
Copy link

Copilot AI Sep 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The echo statements for version logging are missing proper indentation. They should be indented to align with the other commands in the conditional blocks to maintain consistent formatting.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants