From c3143881acf9b4a5d354a4ebdc099aaefe0f093e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 May 2026 10:34:50 +0000 Subject: [PATCH 1/3] Initial plan From e6603753394270cb056e83a3376bf644a34895cc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 May 2026 10:44:18 +0000 Subject: [PATCH 2/3] ci(android): harden workflow Node runtime and fix YAML formatting Agent-Logs-Url: https://github.com/King-Austin/Smart_Classroom_Attendance/sessions/9c1a8c41-d217-4e32-a057-ccdd8153d5b2 Co-authored-by: King-Austin <133551655+King-Austin@users.noreply.github.com> --- .github/workflows/build-android.yml | 77 ++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 556f0fe..a96d48b 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -1 +1,76 @@ -name: Build Android on: push: branches: [ main, master ] pull_request: branches: [ main, master ] env: NODE_VERSION: '20' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} cache: 'npm' - name: Setup Java uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' - name: Install dependencies run: npm ci - name: Build web assets run: npm run build - name: Setup Capacitor run: npx cap sync android - name: Build Android APK (debug) run: | cd android ./gradlew assembleDebug - name: Build Android AAB (release unsigned) run: | cd android ./gradlew bundleRelease - name: Upload APK uses: actions/upload-artifact@v4 with: name: android-debug-apk path: android/app/build/outputs/apk/debug/app-debug.apk - name: Upload AAB uses: actions/upload-artifact@v4 with: name: android-release-aab path: android/app/build/outputs/bundle/release/app-release.aab +name: Build Android + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +env: + NODE_VERSION: '20.19.0' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Expose Node runtime for Gradle subprocesses + run: | + echo "NODE_BINARY=$(command -v node)" >> "$GITHUB_ENV" + echo "NODE_BIN_DIR=$(dirname \"$(command -v node)\")" >> "$GITHUB_ENV" + node --version + npm --version + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + + - name: Install dependencies + run: npm ci + + - name: Build web assets + run: npm run build + + - name: Setup Capacitor + run: npx cap sync android + + - name: Ensure Gradle wrapper is executable + run: chmod +x android/gradlew + + - name: Build Android APK (debug) + env: + PATH: ${{ env.NODE_BIN_DIR }}:${{ env.PATH }} + NODE_BINARY: ${{ env.NODE_BINARY }} + run: | + cd android + ./gradlew assembleDebug --stacktrace + + - name: Build Android AAB (release unsigned) + env: + PATH: ${{ env.NODE_BIN_DIR }}:${{ env.PATH }} + NODE_BINARY: ${{ env.NODE_BINARY }} + run: | + cd android + ./gradlew bundleRelease --stacktrace + + - name: Upload APK + uses: actions/upload-artifact@v4 + with: + name: android-debug-apk + path: android/app/build/outputs/apk/debug/app-debug.apk + + - name: Upload AAB + uses: actions/upload-artifact@v4 + with: + name: android-release-aab + path: android/app/build/outputs/bundle/release/app-release.aab From 5657e182a1d8789eef83514faa84a1dbace7b265 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 May 2026 10:46:38 +0000 Subject: [PATCH 3/3] ci(security): set least-privilege GITHUB_TOKEN for Android workflow Agent-Logs-Url: https://github.com/King-Austin/Smart_Classroom_Attendance/sessions/9c1a8c41-d217-4e32-a057-ccdd8153d5b2 Co-authored-by: King-Austin <133551655+King-Austin@users.noreply.github.com> --- .github/workflows/build-android.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index a96d48b..bcaa894 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ main, master ] +permissions: + contents: read + env: NODE_VERSION: '20.19.0'