Open LeeCeline opened 1 month ago
HI team,
this is a urgent issue, we require immediate help on this.
Hey @LeeCeline and @TteamMBK!
Unfortunately, it is not possible to investigate the problem using the information provided. Could you provide an example project with the repro steps? It will also be very cool if you can give access to fallen runs. I would also like to receive answers to the following questions:
Our test projects with gradle work, but there is a possibility that your problem is related to Android
more than gradle
. We have recently fully migrated to the new service provider for macOS-12
images which has the next problem:
https://docs.veertu.com/anka/anka-virtualization-cli/nested-virtualization/#android-emulators
The other bad news is that all macOS-13
and macOS-14
images are also hosted on this hypervisor. I think that your build fails on the test stage with an emulator productivity bug. But please feel free to correct me if I wrong.
Hi @erik-bershel
I confirm that there were similar problems before also, but with a lower fail rate.
Here are some failure records, with name and date.
As i can see, we are able to build the project without any error on android studio.
For providing access to fallen runs, we are checking internally that we can provide it to you or not due to policies.
Hey @TteamMBK!
I confirm that there were similar problems before also, but with a lower fail rate.
Then I can say with confidence that your builds are not compatible with the current runners realisation, unfortunately. All I can recommend is to try hints from https://docs.veertu.com/anka/anka-virtualization-cli/nested-virtualization/#android-emulators or to set delay to allow Android emulator to boot. In some cases using GitHub larger runners helps also, but rarely.
I'm going to close this issue as a duplicate of https://github.com/actions/runner-images/issues/9194. Unfortunately, we cannot help with this.
Hi @erik-bershel
Could you please elaborate about "our builds are not compatible with the current runners realisation". So we can understand better and try to approach in a correct way.
Hey @TteamMBK!
Please read the description here: https://docs.veertu.com/anka/anka-virtualization-cli/nested-virtualization/#android-emulators. Another examples: https://github.com/actions/runner-images/issues/9436, https://github.com/actions/runner-images/issues/9199, https://github.com/actions/runner-images/issues/9194
Anka does not support some nested virtualisation features because of some issues with the Apple virtualisation API. It results in poor Android emulator productivity.
@erik-bershel
I went through the sites you provided, but still i am not getting why we are referring our R&D towards android emulator. Please make me clear that it is an android studio/emulator issue or pipeline issue or git issue.
FYI, i am asking you because recently pipeline got success once. we are still not understanding that "why is our pipeline getting failed sometimes"
We are open to connect with you on teams for better understanding of the issue. As we already mentioned, we need to find out its solution asap.
Hey @TteamMBK!
Sure! Let's start from the beginning.
At what step exactly does your build fail? Judging by the available information, it crashes during the testing stage. Since I have no other information about the code/config, I make the assumption that your project can also test the application using the Android Emulator. But as of recently, the already rather poor performance of this tool has reached its minimum among macOS runners due to our platform migration. The emulator's startup time exceeds that of almost any automatic tool which results in timeout while running tests. After the migration all the agents affected by https://docs.veertu.com/anka/anka-virtualization-cli/nested-virtualization/#android-emulators
At the same time, I cannot guarantee 100% that the problem is in the Android emulator - with the available information I can only guess.
We are open to connect with you on teams for better understanding of the issue. As we already mentioned, we need to find out its solution asap.
When you can provide more detailed information about the problem including an example-project or appropriate repro-steps, we can return to investigating the issue. Unfortunately, we do not directly support custom builds.
Hi @erik-bershel
I understood. As i mention above that recently, pipeline got success. So, can i provide you the pipeline success logs also. May be you will get something helpful from it. Success pipeline logs.txt
We are discussing internally for it, I will let you know in next some hours.
@TteamMBK is it possible to provide failed run logs too? Also, please drop a couple of links to the latest successful and unsuccessful launches (just mark, please, which is which) - then I can check what is happening with the resources.
@TteamMBK great, I'll take a look later. Please do not forget about build links also. No matter if private project - I don't need to open it.
@erik-bershel
could you please let me know, from where i can get Build links ?
@TteamMBK
@erik-bershel
For repro steps, we have just pushed the code to the branch from android studio terminal and run the pipeline as usual, as the result, Sometimes pipeline getting failed and sometimes success, we haven't done anything special and followed general practice.
Links for Failure pipeline :
Links for Success pipeline :
Hi @erik-bershel
is there any update on the issue ?
Hi @erik-bershel
Its been 2 weeks, we are in very urgent situation, this pipeline issue is creating a blockage for our application release and has many bad impact on business. Could you please help us on priority to fix this issue together.
Hi @TteamMBK
Is the issue still ongoing? Could you please attach the latest failure and success logs so that we can analyze them?
Hi @vinaynaikr08,
Our project is in very difficult situation right now, we are facing blockage because of the pipeline issue. Please try to provide quick support. I am sharing success and failure logs of pipeline. Please analyse and let me know if you need any other details.
Hi @erik-bershel
any updates on the tickets.
Description
While running the pipeline in azure devops for Android application, there was an issue due to which the pipeline failed - "The process '/Users/runner/work/1/s/gradlew' failed with exit code 1" Here is the iscreenshot![image](https://github.com/actions/runner-images/assets/128777068/f84a3226-aa32-4291-9e9c-a1db7fd7508c)
What can be done to mitigate the above issue as sometimes when we are running the pipeline, pipeline is successful but sometimes it is getting the error as mentioned above. Recently it has started failing a lot and success rate is a bit low which is causing problem as it is much more time consuming.
Platforms affected
Runner images affected
Image version and build link
Runner Image Image: macos-12 Version: 20240514.3 Included Software: https://github.com/actions/runner-images/blob/macOS-12/20240514.3/images/macos/macos-12-Readme.md Image Release: https://github.com/actions/runner-images/releases/tag/macOS-12%2F20240514.3 Runner Image Provisioner 2.0.369.1+55cddbb57f254a369b6e7b3b508cebdbee5d24be Current image version: '20240514.3'
Is it regression?
Yes, but could not provide build link
Expected behavior
Pipeline should be working as expected.
Actual behavior
It was working few days ago, but currently not working as mentioned in description.
Repro steps
Android
Build your Android project with Gradle.
Add steps that test, sign, and distribute the APK, save build artifacts, and more:
https://docs.microsoft.com/azure/devops/pipelines/languages/android
name: '$(prime).$(major).$(minor)'
pool: vmImage: 'macos-latest'
steps:
task: Bash@3 inputs: targetType: 'inline' script: |
!/usr/bin/env bash
MANIFEST_PATH=app/src/main/AndroidManifest.xml VERSION_NAME=$(prime).$(major).$(minor) BUILD_NUMBER=$(Build.BuildId) TEMP_MANIFEST_PATH=${MANIFEST_PATH}.txt echo "Version Code=$BUILD_NUMBER" echo "Version Name=$VERSION_NAME" cat ${MANIFEST_PATH} | sed "s/android:versionCode=\".\"/android:versionCode=\"${BUILD_NUMBER}\"/" > ${TEMP_MANIFEST_PATH} cat ${TEMP_MANIFEST_PATH} | sed "s/android:versionName=\".\"/android:versionName=\"${VERSION_NAME}\"/" > ${MANIFEST_PATH} rm -f ${TEMP_MANIFEST_PATH}
task: Gradle@2 inputs: workingDirectory: '' gradleWrapperFile: 'gradlew' gradleOptions: '-Xmx3072m' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' publishJUnitResults: false testResultsFiles: '*/TEST-.xml' tasks: assembleINTRelease
task: AndroidSigning@3 inputs: apkFiles: '*/.apk' apksignerKeystoreFile: 'android_keystore' apksignerKeystorePassword: '$(keystorePassword)' apksignerKeystoreAlias: '$(keystoreAlias)' apksignerKeyPassword: '$(keystoreAliasPassword)' apksignerArguments: '--v1-signing-enabled true --v2-signing-enabled true --verbose' zipalign: false
task: CopyFiles@2 inputs: contents: '*/.apk' targetFolder: '$(build.artifactStagingDirectory)'
task: PublishBuildArtifacts@1
task: AppCenterDistribute@3 inputs: serverEndpoint: 'Daimler_Android_AppCenter' appSlug: 'Daimler-Care4Me-1/Care4Me-Int-1' appFile: '$(build.artifactStagingDirectory)/*/.apk' symbolsOption: 'Android' releaseNotesOption: 'input' releaseNotesInput: 'Automated Release' destinationType: 'groups'