mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-10-14 19:27:09 -04:00
Improve test failure diagnostics and refresh Astra firmware findings
This commit is contained in:
1 parent
207b15b64a
commit
05b7732149
3 files changed
+63
-16
No files matched your search
+55
-13
@@ -482,7 +482,24 @@ jobs:
|
|||||||
run: python3 -m unittest discover -s tools/tests -p 'test_*.py'
|
run: python3 -m unittest discover -s tools/tests -p 'test_*.py'
|
||||||
|
|
||||||
- name: Unit tests
|
- name: Unit tests
|
||||||
run: ./gradlew testReleaseUnitTest --console=plain -PndkVersion="$NDK_VERSION"
|
id: unit-tests
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
mkdir -p app/build
|
||||||
|
./gradlew testReleaseUnitTest --console=plain --info --stacktrace -Drobolectric.logging=stderr -PndkVersion="$NDK_VERSION" 2>&1 | tee app/build/unit-tests.log
|
||||||
|
|
||||||
|
- name: Upload unit test diagnostics
|
||||||
|
id: unit-test-diagnostics
|
||||||
|
if: always() && steps.unit-tests.outcome != 'skipped'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: unit-test-results
|
||||||
|
path: |
|
||||||
|
app/build/unit-tests.log
|
||||||
|
app/build/test-results/testReleaseUnitTest/
|
||||||
|
app/build/reports/tests/testReleaseUnitTest/
|
||||||
|
if-no-files-found: ignore
|
||||||
|
retention-days: 14
|
||||||
|
|
||||||
- name: Sign with the testkey (v1 + v2 + v3)
|
- name: Sign with the testkey (v1 + v2 + v3)
|
||||||
run: |
|
run: |
|
||||||
@@ -512,6 +529,15 @@ jobs:
|
|||||||
grep -qi "CN=Android, OU=Android, O=Android" /tmp/sig.txt \
|
grep -qi "CN=Android, OU=Android, O=Android" /tmp/sig.txt \
|
||||||
|| { echo "::error::apk is not signed with the AOSP testkey"; exit 1; }
|
|| { echo "::error::apk is not signed with the AOSP testkey"; exit 1; }
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
id: apk-upload
|
||||||
|
with:
|
||||||
|
name: droiddeck-apk
|
||||||
|
path: app/build/outputs/apk/release/*.apk
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 30
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
- name: Report on the pull request
|
- name: Report on the pull request
|
||||||
if: always() && github.event_name == 'pull_request'
|
if: always() && github.event_name == 'pull_request'
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -520,6 +546,9 @@ jobs:
|
|||||||
PR: ${{ github.event.pull_request.number }}
|
PR: ${{ github.event.pull_request.number }}
|
||||||
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||||
BUILD_OUTCOME: ${{ steps.build.outcome }}
|
BUILD_OUTCOME: ${{ steps.build.outcome }}
|
||||||
|
UNIT_TEST_OUTCOME: ${{ steps.unit-tests.outcome }}
|
||||||
|
TEST_DIAGNOSTICS_URL: ${{ steps.unit-test-diagnostics.outputs.artifact-url }}
|
||||||
|
APK_OUTCOME: ${{ steps.apk-upload.outcome }}
|
||||||
SAME_REPO: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
|
SAME_REPO: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
|
||||||
run: |
|
run: |
|
||||||
set -uo pipefail
|
set -uo pipefail
|
||||||
@@ -530,8 +559,8 @@ jobs:
|
|||||||
echo
|
echo
|
||||||
[ -f /tmp/pr-merge.md ] && cat /tmp/pr-merge.md
|
[ -f /tmp/pr-merge.md ] && cat /tmp/pr-merge.md
|
||||||
echo
|
echo
|
||||||
case "$BUILD_OUTCOME" in
|
case "$BUILD_OUTCOME:$UNIT_TEST_OUTCOME:$APK_OUTCOME" in
|
||||||
success)
|
success:success:success)
|
||||||
echo "### Build passed"
|
echo "### Build passed"
|
||||||
echo
|
echo
|
||||||
echo "The \`droiddeck-apk\` artifact is [on this run]($RUN_URL), signed with the public test key."
|
echo "The \`droiddeck-apk\` artifact is [on this run]($RUN_URL), signed with the public test key."
|
||||||
@@ -544,7 +573,28 @@ jobs:
|
|||||||
echo
|
echo
|
||||||
echo "Fallback: [open **PR Release Publish**]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/workflows/pr-release-publish.yml) on \`main\` and enter PR \`$PR\`."
|
echo "Fallback: [open **PR Release Publish**]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/workflows/pr-release-publish.yml) on \`main\` and enter PR \`$PR\`."
|
||||||
;;
|
;;
|
||||||
failure)
|
success:success:*)
|
||||||
|
echo "### APK publication incomplete"
|
||||||
|
echo
|
||||||
|
echo "Compilation and unit tests passed, but APK publication did not complete. See [the run]($RUN_URL)."
|
||||||
|
;;
|
||||||
|
success:failure:*)
|
||||||
|
echo "### ERROR: Unit tests failed"
|
||||||
|
echo
|
||||||
|
echo "The APK compiled, but unit tests failed. No installable artifact was published."
|
||||||
|
echo
|
||||||
|
if [ -n "$TEST_DIAGNOSTICS_URL" ]; then
|
||||||
|
echo "The [unit-test-results]($TEST_DIAGNOSTICS_URL) artifact contains the test log and any generated reports."
|
||||||
|
else
|
||||||
|
echo "The test diagnostics upload did not complete. See [the test log]($RUN_URL)."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
success:*)
|
||||||
|
echo "### Build incomplete"
|
||||||
|
echo
|
||||||
|
echo "The APK compiled, but unit tests did not complete successfully. See [the run]($RUN_URL)."
|
||||||
|
;;
|
||||||
|
failure:*)
|
||||||
echo "### ERROR: Build failed"
|
echo "### ERROR: Build failed"
|
||||||
echo
|
echo
|
||||||
echo "The compiler's errors ([full log]($RUN_URL)):"
|
echo "The compiler's errors ([full log]($RUN_URL)):"
|
||||||
@@ -562,7 +612,7 @@ jobs:
|
|||||||
echo '```'
|
echo '```'
|
||||||
echo "</details>"
|
echo "</details>"
|
||||||
;;
|
;;
|
||||||
skipped|cancelled)
|
skipped:*|cancelled:*)
|
||||||
echo "### Not built"
|
echo "### Not built"
|
||||||
echo
|
echo
|
||||||
echo "The build did not run (see above, or [the run]($RUN_URL))."
|
echo "The build did not run (see above, or [the run]($RUN_URL))."
|
||||||
@@ -578,14 +628,6 @@ jobs:
|
|||||||
gh api -X POST "repos/${GITHUB_REPOSITORY}/issues/${PR}/comments" -F body=@/tmp/pr-report.md >/dev/null
|
gh api -X POST "repos/${GITHUB_REPOSITORY}/issues/${PR}/comments" -F body=@/tmp/pr-report.md >/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: droiddeck-apk
|
|
||||||
path: app/build/outputs/apk/release/*.apk
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 30
|
|
||||||
compression-level: 0
|
|
||||||
|
|
||||||
sign:
|
sign:
|
||||||
needs: build
|
needs: build
|
||||||
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
|
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
|
||||||
|
|||||||
@@ -157,6 +157,10 @@ android {
|
|||||||
testOptions {
|
testOptions {
|
||||||
unitTests.returnDefaultValues = true
|
unitTests.returnDefaultValues = true
|
||||||
unitTests.includeAndroidResources = true
|
unitTests.includeAndroidResources = true
|
||||||
|
unitTests.all {
|
||||||
|
def logTarget = providers.systemProperty('robolectric.logging').orNull
|
||||||
|
if (logTarget != null) systemProperty 'robolectric.logging', logTarget
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|||||||
@@ -47,9 +47,10 @@ documents a related failure on its separately identified REDMAGIC firmware.
|
|||||||
The [VITURE SDK matrix](https://www.viture.com/en-SG/developer/glasses-sdk/glasses)
|
The [VITURE SDK matrix](https://www.viture.com/en-SG/developer/glasses-sdk/glasses)
|
||||||
specifies full SBS at 3840×1080/60 for Pro. Persistent startup mode is restricted
|
specifies full SBS at 3840×1080/60 for Pro. Persistent startup mode is restricted
|
||||||
to Luma/Luma Pro. Among the Luma families supported here, 90 Hz stereo is an
|
to Luma/Luma Pro. Among the Luma families supported here, 90 Hz stereo is an
|
||||||
Ultra capability. The connected Pro firmware matches the N6PL entry in the
|
Ultra capability. The connected Pro firmware matches both the N6PL entry in the
|
||||||
[public updater catalog](https://static.viture.com/dfu-util/js/vers.js); that
|
[public updater catalog](https://static.viture.com/dfu-util/js/vers.js) and the newest
|
||||||
fallback catalog does not establish whether the update service offers another build.
|
N6P entry in the [public release-note service](https://cloud.viture.dev/api/v1/system/releasenote)
|
||||||
|
checked on 2026-10-14. This does not rule out unpublished, device-specific updates.
|
||||||
|
|
||||||
## No-root hardware design to test
|
## No-root hardware design to test
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user