microsoft / appcenter

Central repository for App Center open source resources and planning.
https://appcenter.ms
Creative Commons Attribution 4.0 International
1.01k stars 225 forks source link

Increase build timeout from 60 minutes #427

Open DrBeak1 opened 5 years ago

DrBeak1 commented 5 years ago

Describe the solution you'd like Don't automatically fail builds at 60 minutes.

Describe alternatives you've considered Changing CI/CD platforms

Additional context Our mobile iOS application has 50 UI tests. The application is fairly small and we're not doing anything unusual with our build process. We're at a point now where we cannot add new tests because doing so will cause us to fail builds specifically due to the time limit. I'm not sure how larger applications could ever make use of the platform with this limitation.

Oddj0b commented 5 years ago

Alternatively, if you are running UI test in App Center Test from Build, you can add a --async switch which do fire and forget of the test, so the build machines aren't waiting for it.

DrBeak1 commented 5 years ago

@Oddj0b Thanks for your message. I'm not 100% I follow where the --async switch would go. I'm referring to App Center > Build web tab. From what I can tell this has a default script that is fired and UI tests are either on or off based on the config for that particular branch. Let me know if I'm missing something.

vonovak commented 5 years ago

same as https://github.com/microsoft/appcenter/issues/279

diogoviannaaraujo commented 4 years ago

60 minutes?? mines are failing with 30 minutes... No tests are made....

dennispan commented 4 years ago

@diogoviannaaraujo Are you on a paid plan? Free tier is 30 minutes and paid plan is 60 minutes. More details can be found here: https://docs.microsoft.com/en-us/appcenter/general/pricing#the-free-tier

mnxamdev commented 3 years ago

This is a huge problem for us in our UWP. We are paying customers and I've been dealing with inadequate App Center tech support for a month now giving information and repeating the same thing over and over. There is a big variance in build times for us on UWP while iOS and Android (using same Xamarin code) are pretty consistent in build times. UWP sometimes builds in 40 minutes, sometimes in 60 minutes. I can branch off the same branch in a newly cloned config and that will build in 38-48 minutes while the original branch/config builds closer to 50-60+ minutes. I've consolidated nuget feeds into 1 (this did not shave off much time) and even removed my UnitTest project from the solution (this did not shave off much time either) to no avail. This blocks us from testing and blocks us from releases. We have been limping along and just manually run builds but sometimes that doesn't even work. What does it take to get this problem solved for a paying customer? It's very frustrating when you can't get anyone to deep dive into the issue and just stall by asking for more information and give a paying customer the run around when there is clearly something wrong on the App Center side! On a local workstation building in release mode with ".Net Native tool chain" takes about 40 minutes.

FadiAboMsalam commented 3 years ago

Any solution for the 60 min timeout or should we switch to a different CI/CD tool

cvergaray commented 3 years ago

I'm in the same boat as @mnxamdev, this is really frustrating. Our application isn't even running unit tests, there is just a lot of code to build. When trying to do a UWP build for ARM, x86, and x64, each build easily takes 20+ minutes and because it's building all three under the same 60-minute limit, it regularly times out. And then, when I reach out to AppCenter support about it, they confuse timeouts with out of memory exceptions.

DrBeak1 commented 3 years ago

Wow, 2yrs old and still an issue. We switched to CircleCI shortly after I posted this because in talking with support it seemed clear it wasn't going to be resolved any time soon. CircleCI is great; a bit more to setup, but way more flexibility. Highly recommend.

mnxamdev commented 3 years ago

Yup @DrBeak1, 2 yrs old. Amazing. Realizing that paying customers weren't going to get the support they needed from a Microsoft service on a Microsoft framework we switched to Team City for our UWP builds. Haven't had a single issue and our build times are only 30 minutes tops!

ghost commented 3 years ago

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

saaaab1213 commented 3 years ago

Still need it

thiago-soliveira commented 3 years ago

Same here. Still a problem

diogoviannaaraujo commented 3 years ago

Maybe its time to just give up on AppCenter, microsoft screwed one more product, almost 50 years and have not learned. I would say they should do some minute based billing, but the can’t even give some feedback here, this project is sure dead.

Em 9 de set. de 2021, à(s) 17:01, Thiago Oliveira @.***> escreveu:

Same here. Still a problem

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/microsoft/appcenter/issues/427#issuecomment-916395847, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABI2I7S26EXBCWXCDAJRSSLUBEHCBANCNFSM4HNHHWDA. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

bobanminic96 commented 2 years ago

I'm trying to build almost new fresh project in react-native with just few packages, and then release it to Test Flight. My build gets canceled after 30 minutes without any errors, so i guess timeout is the issue, but don't know where should i look for solution.

Any suggestions?

Changing CI/CD tool is considering as well ..

jahicDario commented 2 years ago

I am facing the same issue.

bobanminic96 commented 2 years ago

You have to detect IS_CI environment and depending on that to exclude flipper.

Update: here is my solution

`

platform :ios, '11.0'

abstract_target 'App' do config = use_native_modules!

IS_CI = ENV['APPCENTER_BUILD_ID']

use_react_native!( :path => config[:reactNativePath],

to enable hermes on iOS, change false to true and then install pods

:hermes_enabled => false

)

target 'app1' do inherit! :complete

Pods for testing

end

target 'app1Tests' do inherit! :complete

Pods for testing

end

Enables Flipper.

#

Note that if you have use_frameworks! enabled, Flipper will not work and

you should disable the next line.

if not IS_CI use_flipper! end

post_install do |installer| if not IS_CI use_flipper! end react_native_post_install(installer) end end `

I reduced build time from above 30mins to 18mins.

On Wed, Nov 17, 2021, 12:03 Dario Jahic @.***> wrote:

I am facing the same issue.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/microsoft/appcenter/issues/427#issuecomment-971467812, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXLWILZR7TJJ2SDM6X64VLUMODZJANCNFSM4HNHHWDA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ghost commented 2 years ago

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

anthonycmain commented 2 years ago

This is still a problem for our react native projects, most are completing in 52mins but regularly failing now (without tests)

mnxamdev commented 2 years ago

no bot, still an issue! bump

thiago-soliveira commented 2 years ago

We have a fairly big app, and even disabling flipper our build time exceed 60 minutes. I'm really considering migrating from App Center.

Hassan-khalid-1 commented 2 years ago

Any solution yet ???

ksielyov commented 2 years ago

Same. Build time stopped after 60 minutes. Should I pay ??!!

sunilkumar75354 commented 2 years ago

[error]The operation was canceled.

My build gets canceled after 30 minutes with above error. I am building native ios project. Why App Center is taking too much time?

billnbell commented 2 years ago

Can we get someone at Microsoft to expand to 90 minutes? 1 hr is not enough for React Native builds on new architecture.

billnbell commented 2 years ago

Or allow us to pay more for faster Mac?

jorpiell commented 2 years ago

There is not a solution yet.

I've needed to migrate to Azure DevOps and it works like a charm. The migration is easy following the official instructions

billnbell commented 2 years ago

This is so complicated. You need DevOps Azure AND AppCenter to distributed to the Stores. It would be better if we can eliminate the dependency on App Center. Also I am paying for both, need to set up both, it literally is wasting my time.

jorpiell commented 2 years ago

This is so complicated. You need DevOps Azure AND AppCenter to distributed to the Stores. It would be better if we can eliminate the dependency on App Center. Also I am paying for both, need to set up both, it literally is wasting my time.

I agree with you. But at this moment, is the only "workaround"

erikkjernlie commented 2 years ago

We are still experiencing this problem. The build fails before it is distributed to the stores. When the build is successful within 60 minutes, and it starts to distribute it to the stores and fails, the build is not stored in App Center so we can manually upload it afterwards; we have to create a new build each time if it times out...

Olovorr commented 2 years ago

Yeah, this is a disaster to be honest. I cannot believe it has been so long and nothing has been done. It is probably the best to switch to a different solution 😢

CodingByJerez commented 2 years ago

You must increase the duration, because there we can not do anything. Unless you are dedicated to small amateur projects

billnbell commented 2 years ago

With latest React Native it is using C++ and takers 15 minutes longer for normal projects. We cache, and do everything we could and still it takes 70 minutes to 90 minutes.

I am considering this project/product abandoned. The support team and the devs are not listening to us.

fikkatra commented 2 years ago

Building on top of @bobanminic96 's solution (thanks!), for newer React Native apps we disable flipper like so: Podfile:

is_ci = ENV['APPCENTER_BUILD_ID']

use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :production => production,
    :hermes_enabled => flags[:hermes_enabled],
    :fabric_enabled => flags[:fabric_enabled],
    :flipper_configuration => is_ci ? nil : FlipperConfiguration.enabled,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

Then pod install We reduced the build from 30+ minutes (it got cancelled after that) to 18.

jorgeantoniotj commented 2 years ago

Any solution for this problem?

billnbell commented 2 years ago

We would like them to increase it to 90 minutes. No response.

BryanCrow commented 2 years ago

This is a big problem. Is there no way to update the timeout? Happy to pay if that's what it takes.

DrBeak1 commented 2 years ago

Hey all - It doesn't seem like microsoft has really updated things for several years. If you look in this repo the last update was 2 years ago (aside from the bot that auto-closes issues here). I'd say this project has been abandoned and would highly recommend moving to a different option.

erikkjernlie commented 2 years ago

Does anyone have a preferable solution to switch to?

Hassan-khalid-1 commented 2 years ago

Does anyone have a preferable solution to switch to?

I suggest Github actions with firestore.

vatsmanu commented 1 year ago

I disabled flipper, disabled BITCODE in release build, also removed unused packages from my app, and it worked for me. This decreased the build time.

padulamathias commented 1 year ago

I am a pro user and I still having this problem.

I can't try the @bobanminic96 solution because we are not using flipper.

My build is taking more than 60 minutes for IOS with this podfile:

require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '13.0'
install! 'cocoapods', :deterministic_uuids => false

$RNFirebaseAsStaticFramework = true

target 'ubild_pro' do
  use_frameworks! :linkage => :static
  config = use_native_modules!

  # Flags change depending on the env values.
  flags = get_default_flags()

  use_react_native!(
    :path => config[:reactNativePath],
    # Hermes is now enabled by default. Disable by setting this flag to false.
    # Upcoming versions of React Native may rely on get_default_flags(), but
    # we make it explicit here to aid in the React Native upgrade process.
    :hermes_enabled => false,
    :fabric_enabled => flags[:fabric_enabled],
    # Enables Flipper.
    #
    # Note that if you have use_frameworks! enabled, Flipper will not work and
    # you should disable the next line.
    # :flipper_configuration => FlipperConfiguration.enabled,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  target 'ubild_proTests' do
    use_frameworks! :linkage => :static
    inherit! :complete
    # Pods for testing
  end

  post_install do |installer|
    react_native_post_install(
      installer,
      # Set `mac_catalyst_enabled` to `true` in order to apply patches
      # necessary for Mac Catalyst builds
      :mac_catalyst_enabled => false
    )
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
  end
end

Any workaround for me?

dankurfirst commented 1 year ago

Just migrated to azure pipelines, the migration was pretty smooth following the official guide. Still using appcenter for distribution.

https://learn.microsoft.com/en-us/appcenter/build/export-to-azure-pipelines

AlexNolasco commented 1 year ago

Happy New Year 2023, this issue still exists btw.

manfredxu99 commented 1 year ago

still an issue

eladcandroid commented 1 year ago

Can anyone hear us?

Olovorr commented 1 year ago

For anyone looking for alternatives, since my post in June 2022 we've been using EAS (Expo Application Services) and we've been extremely happy with the releasing through there. Not only you can have up to 2 hours of build time, but the build overall is faster.

tsdmrfth commented 1 year ago

I can't believe how the AppCenter team slow is... Disabling Flipper (@bobanminic96's solution) worked for me, but what if it didn't? Then I had to migrate 12 different applications to another platform!

gulsher7 commented 1 year ago

still an issue

erikkjernlie commented 1 year ago

We had to migrate our build pipeline to a pure GitHub actions solution because of this...