Build doesn't create any artifacts

Daniel Wolf's Avatar

Daniel Wolf

21 Apr, 2018 07:26 PM

I just created my first AppVeyor build configuration (see the attached file). The build itself works great. During the cmake build step in line 12, I get the following (expected) output:

CPack: - package: C:/projects/rhubarb-lip-sync/build/rhubarb-lip-sync-1.7.1-win32.zip generated.

So I know that there is now a file rhubarb-lip-sync-1.7.1-win32.zip within the build subdirectory of the project directory.

In the artifacts section, I define one artifact with the path build\rhubarb-lip-sync-*.zip. After the successful build, I expected to find an artifact. But the Artifacts tab is empty and tells me that "The build job does not contain any artifacts."

What am I doing wrong? Why don't I see any artifacts?

  1. 1 Posted by Volker Enderlei... on 23 Apr, 2018 09:32 PM

    Volker Enderlein's Avatar

    I think you are missing the line appveyor PushArtifact rhubarb-lip-sync-1.7.1-win32.zip in the after_build: section.

    See my post from today. This yml file is working for a single configuration.

  2. Support Staff 2 Posted by Ilya Finkelshte... on 24 Apr, 2018 01:12 AM

    Ilya Finkelshteyn's Avatar

    Hi Daniel,

    Your settings looks good and artifacts setting is correct (though appveyor PushArtifac will work too). I think that problem is simple that you hit build timeout of 60 minutes. We increased it for you to 90 minutes, hopefully it will help.

    Side note: I would recommend cd %APPVEYOR_BUILD_FOLDER% instead of cd .. to ensure you came back to the right place :)

  3. 3 Posted by Daniel Wolf on 25 Apr, 2018 07:17 PM

    Daniel Wolf's Avatar

    Thank you, Volker and Ilya. I only just realized that all of my builds (with the exception of two broken ones) timed out after 1 hour. Looking at the build output, it seems that the line cmake --build . --config Release --target package never terminates. So all steps after that (including the definition of artifacts) never run.

    The strange thing is that cmake prints the following:

    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:05:07.99
    

    So after 5 minutes, CMake is done. But instead of exiting, it appears to hang indefinitely.

  4. Support Staff 4 Posted by Ilya Finkelshte... on 25 Apr, 2018 07:50 PM

    Ilya Finkelshteyn's Avatar

    Common approach here is to RDP to the build worker and see if some interactive window pops up and waiting for user input (most often case), or some processes (especially child to cmake) stuck.

  5. 5 Posted by Daniel Wolf on 26 Apr, 2018 03:50 PM

    Daniel Wolf's Avatar

    I logged in via RDP. While the build was actively running, there was an empty CMD window open. (My guess is that it was empty because its output was redirected.)

    Once the build started hanging, however, the CMD window just disappeared. No prompt, no dialog, the CMD window just disappeared. Now the desktop is empty and the only running application is called AppVeyor Build Agent Interactive. I tried clicking on it, but it doesn't seem to be very interactive.

  6. Support Staff 6 Posted by Ilya Finkelshte... on 26 Apr, 2018 09:25 PM

    Ilya Finkelshteyn's Avatar

    Then this required deeper investigation. As said before it can be some stuck processes.Try to do the following:

    • Add blocking RDP statement in the beginning of the build (say at install stage)

    • When connected, install and run process explorer.

    • Let build continue by deleting the "lock" file on VM desktop.

    • Monitor all new processes appeared, especially those who are child to AppVeyor build agent or cmake.

    • When build stuck, check if any of those processes still hanging. Check if killing any of them can unfreeze the build.

  7. 7 Posted by Daniel Wolf on 27 Apr, 2018 02:43 PM

    Daniel Wolf's Avatar

    (My previous reply seems to have disappeared, so I'll repeat myself.)

    Part of my build process is Gradle-based, which started the Gradle Daemon. After that, AppVeyor was blocked waiting for the Daemon to terminate (which, of course, it never did).

    Setting the environment variable GRADLE_OPTS to -Dorg.gradle.daemon=false disabled the daemon. Now the build continues.

  8. 8 Posted by Daniel Wolf on 27 Apr, 2018 06:40 PM

    Daniel Wolf's Avatar

    Now that I fixed the blocked build, artifacts are discovered as expected. Thank you very much for your support, Ilya!

  9. Support Staff 9 Posted by Ilya Finkelshte... on 27 Apr, 2018 06:48 PM

    Ilya Finkelshteyn's Avatar

    Great, thanks for update. This reminds me this case, but it is good to know that it can be done with GRADLE_OPTS environment variable.

  10. Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 02:28 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac