1 Reply Latest reply on Jan 16, 2018 8:51 AM by user_65759023

    Continuous Integration builds with Jenkins and PSoC Creator

    user_65759023

      I am trying to get a CI build going with Jenkins. I followed these instructions to get a headless build working: https://community.cypress.com/docs/DOC-10865

       

      This works fine from a command line or from a batch file, but when I call the same batch files from Jenkins I get the following failure message:

      Error: mgr.M0027: Argument passed in is not serializable.

      Parameter name: value (App=cyprjmgr)

         at System.Collections.ListDictionaryInternal.Add(Object key, Object value)

         at CyDesigner.Common.Base.CyRsltOrErr`1.get_Value()

         at CyDesigner.Common.Db.DeviceDb.Catalog.CyWcdMgr.get_InstallBaseDir()

         at CyDesigner.Common.Db.DeviceDb.Catalog.CyDcPlugin.get_DeviceDataPath()

         at CyDesigner.Common.Db.DeviceDb.Catalog.CyDcPlugin.PostPluginsLoadedInit()

         at CyDesigner.Framework.CyPlugin.InitializePlugins(IEnumerable`1 plugins)

         at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.LoadPlugins()

         at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.Run(CyApp app, CyErr& err)

         at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.Main(String[] args)

       

      The full Jenkins output is shown below. Has anyone else had luck with this?

       

      Started by user anonymous

      Building in workspace C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc

      [Switchbox_psoc] $ cmd /c call C:\Windows\TEMP\hudson5210422228259853648.bat

       

      C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc>cd PSoC\Switchbox

       

      C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc\PSoC\Switchbox>dir

      Volume in drive C has no label.

      Volume Serial Number is 747E-8C27

       

      Directory of C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc\PSoC\Switchbox

       

      01/12/2018 01:51 PM <DIR> .

      01/12/2018 01:51 PM <DIR> ..

      01/12/2018 02:38 PM <DIR> Switchbox.cydsn

      01/12/2018 01:51 PM 1,265 Switchbox.cywrk

        1 File(s) 1,265 bytes

        3 Dir(s) 43,292,274,688 bytes free

       

      C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc\PSoC\Switchbox>"c:\Program Files (x86)\Cypress\PSoC Creator\4.1\PSoC Creator\bin\cyprjmgr.exe" -w "C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc\PSoC\Switchbox\Switchbox.cywrk"

      Error: mgr.M0027: Argument passed in is not serializable.

      Parameter name: value (App=cyprjmgr)

        at System.Collections.ListDictionaryInternal.Add(Object key, Object value)

        at CyDesigner.Common.Base.CyRsltOrErr`1.get_Value()

        at CyDesigner.Common.Db.DeviceDb.Catalog.CyWcdMgr.get_InstallBaseDir()

        at CyDesigner.Common.Db.DeviceDb.Catalog.CyDcPlugin.get_DeviceDataPath()

        at CyDesigner.Common.Db.DeviceDb.Catalog.CyDcPlugin.PostPluginsLoadedInit()

        at CyDesigner.Framework.CyPlugin.InitializePlugins(IEnumerable`1 plugins)

        at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.LoadPlugins()

        at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.Run(CyApp app, CyErr& err)

        at CyDesigner.Common.ProjMgmt.PrjMgrTool.CyPrjMgrTool.Main(String[] args)

       

      cyprjmgr [-h] [-ver] [-wrk <workspace_name>] [-clean] [-build] [-rebuild]

      [-archive <archive_level> <archive_as_zip>] [-t <toolchain>] [-c <config>]

      [-p <TopProject>] [-n <TopDesign>] [-d <selectedDev>]

      [-m <paramsFile>] [-import <Source_Project> <Source_Component>]

      [-rename <component_name> <new_name>] [-delete <component_name>]

      [-exclude <component_name>] [-l <NewPrjName>]

      [-s] [-v <visibility>] [-prj <Target_Project>] [-cmp <Target_Component>]

      [-addprj <prj_path>] [-cp <path>] [-con <Target_Project>] [-batch <file_name>]

      [-updateComp <source_project> <source_component>] [-updatePrj <source_project>]

      [-updateInst] [-updateDWInst] [-forceWrite] [-noCustBuild] [-noRefresh]

      [-ol <compiler optimization level>] [-warn <High|Low|None>]

      [-buildPreCompCust <Project>] [-updateInstIfNeeded]

      [-ignoreDepsWarning] [-allowIllegalUpdates] [-export <IDE>] [-pdlPath <path>]

       

      The following options are tool wide:

        -h Displays this help message

        -ver Displays the version and build number of cyprjmgr

       

      The following options apply to the chosen workspace:

        -wrk, -w Specifies the workspace to be used

        -prj Specifies the target project on which all the command line

        options will be targeted. In case target project is not

        specified, Top Project of the workspace becomes the target

        project

        -p Sets the Top Project in the workspace

        -cmp, -o Specifies the target component on which all the library options

        will be targeted. In case target component is not specified,

        the Top Block of the Target Project becomes the Target Component

        -addprj Adds an existing project <prj_path> to the workspace

        -l Adds a new empty library project with name <NewPrjName> to the

        workspace

        -d Sets the selected device of projects to be built

        -cp Copies the entire workspace to the location specified by

        <path>, all command line options will act on the copy created

       

      The following four options target the entire workspace unless the

      target project is set with -prj:

        -clean Cleans the workspace/project

        -build Builds the workspace/project

        -rebuild Rebuilds the workspace/project

        -archive Archives the workspace/project with different archiver levels

        (complete/typical), and as zip or nozip

       

      The following options apply to the target project:

        -t Sets the tool chain the action should use (Keil, ARM etc.)

        -c Sets configuration the action should use (Debug, Release)

        -ol Sets compiler optimization level

        -warn Sets compiler warning level

        -n Sets the Top Design of the Top Project

        -m Parameters file that will override the default parameter values

        of the schematic in the TopDesign of the Top Project

        -import Imports the Source Component from the Source Project into the 

        target project of the workspace

        -rename Renames component_name in target project of the workspace to 

        new_name

        -delete Deletes component from the disc

        -exclude Excludes component from the target project of the workspace

        -s Lists the external dependencies of the target project

        -v Sets the visibility of the target component to true/false

        -con Checks the consistency of the target project of the workspace

        -batch Reads a file containing a series of commands, one on each line.

        Executes the commands one by one. When batch option is used, all

        other optional switches are ignored

      -updateComp Updates a component in the Target Project from the source project

      -updatePrj Updates the Target Project from the Source Project

      -updateInst Updates the instances on the schematic with the latest components

      -forceWrite Makes read-only files writable and then makes the change

      -noCustBuild Delay building of customizer DLLs until the end (e.g., during

        imports)

      -noRefresh Disable updates from the refresh manager (Use with extreme care)

      -buildPreCompCust Build customizer for a project

      -updateDWInst Updates the design-wide instances with the latest components

      -updateInstIfNeeded Update instances to minimum valid version

      -ignoreDepsWarning Suppress SystemDepNotFoundOnDisk warning while building

        primitives

      -allowIllegalUpdates Allows updating instances to latest version, even if illegal

        -export Exports the project to the target IDE. Valid targets are EWA, Eclipse and uVision

      -generateDescFiles For all specified projects that have 'Generate description files'

        enabled, generates the description files.

      -verifyDescFileEnabled Verifies that all specified projects have 'Generate description files' enabled.

      -verifyDescFileContents Verifies that all specified projects (that have 'Generate description

        files' enabled) have generated files that are in-sync with the current

        version of their source files.

        -pdlPath Sets the path to the PDL file for the project

       

      C:\Program Files (x86)\Jenkins\workspace\Switchbox_psoc\PSoC\Switchbox>exit 6

      Build step 'Execute Windows batch command' marked build as failure

      Finished: FAILURE