public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kirkendall, Garrett" <garrett.kirkendall@amd.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: DSC POSTBUILD problem/question
Date: Mon, 10 May 2021 20:05:03 +0000	[thread overview]
Message-ID: <SA0PR12MB452517E8253003D72D0B8D4685549@SA0PR12MB4525.namprd12.prod.outlook.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1980 bytes --]

I'm checking out the PREBUILD and POSTBUILD option in a DSC.  I can launch my scripts, etc.

When there is a POSTBUILD error,  build.py properly says the build failed, but build.py is still returning 0 (success).  MyBuild.LaunchPostBuild() execution does not look like it affects ReturnCode which is returned at the end of Main.  "Conclusion" is updated though to indicate a failure.  Any ideas?  I assume build.py should return non-zero if POSTBUILD fails.




>From end of edk-stable202011build.py:Main()

    if ReturnCode == 0:
        try:
            MyBuild.LaunchPostbuild()
            Conclusion = "Done"
        except:
            Conclusion = "Failed"
    elif ReturnCode == ABORT_ERROR:
        Conclusion = "Aborted"
    else:
        Conclusion = "Failed"
    FinishTime = time.time()
    BuildDuration = time.gmtime(int(round(FinishTime - StartTime)))
    BuildDurationStr = ""
    if BuildDuration.tm_yday > 1:
        BuildDurationStr = time.strftime("%H:%M:%S", BuildDuration) + ", %d day(s)" % (BuildDuration.tm_yday - 1)
    else:
        BuildDurationStr = time.strftime("%H:%M:%S", BuildDuration)
    if MyBuild is not None:
        if not BuildError:
            MyBuild.BuildReport.GenerateReport(BuildDurationStr, LogBuildTime(MyBuild.AutoGenTime), LogBuildTime(MyBuild.MakeTime), LogBuildTime(MyBuild.GenFdsTime))

    EdkLogger.SetLevel(EdkLogger.QUIET)
    EdkLogger.quiet("\n- %s -" % Conclusion)
    EdkLogger.quiet(time.strftime("Build end time: %H:%M:%S, %b.%d %Y", time.localtime()))
    EdkLogger.quiet("Build total time: %s\n" % BuildDurationStr)
    Log_Agent.kill()
    Log_Agent.join()
    return ReturnCode

master is the same code:
https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/build/build.py#L2738


Garrett Kirkendall
SMTS Firmware Engineer
7171 Southwest Parkway, Austin, TX 78735 USA
AMD   facebook<https://www.facebook.com/AMD>  |  amd.com<http://www.amd.com/>


[-- Attachment #2: Type: text/html, Size: 8169 bytes --]

             reply	other threads:[~2021-05-10 20:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 20:05 Kirkendall, Garrett [this message]
2021-05-11  2:57 ` 回复: [edk2-devel] DSC POSTBUILD problem/question gaoliming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SA0PR12MB452517E8253003D72D0B8D4685549@SA0PR12MB4525.namprd12.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox