<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Best practices for CI/CD in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2252501#M54969</link>
    <description>&lt;P&gt;There has been a few similar posts on this topic before, but the answers are a bit dated and my question is also slightly different, so it is perhaps worth asking again. I have two questions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Every once in a while, while doing a build from S32DS (v 3.6.2, The OS is Windows 11) , the build fails because it cannot find certain standard header files. Simply re-opening the project's .mex file, doing an 'update code' (although it should not actually update anything) and rebuilding fixes the issue. My question is: why does this happen? It seems to happen randomly, so I cannot provide any 'steps to reproduce', but it happens often enough that I'd be surprised if you are not at least aware of it. I have seen some other people also mentioning this issue on the forum.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. We are working towards putting the entire code base that will be programmed to the flash (as opposed to our application code only) into git and use a CI/CD pipeline, outside of the IDE in a headless environment, to build the image. We are using gitlab running on RHEL.&lt;/P&gt;&lt;P&gt;Are there any 'best practices' recommendation for this? In particular, since the RTD, the C standard library etc are outside the project and the IDE sets up a lot of the connections, how should this be handled in a CI/CD environment and how does one install a stand-alone toolchain?&lt;/P&gt;</description>
    <pubDate>Mon, 01 Dec 2025 19:51:23 GMT</pubDate>
    <dc:creator>durga_choudhury</dc:creator>
    <dc:date>2025-12-01T19:51:23Z</dc:date>
    <item>
      <title>Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2252501#M54969</link>
      <description>&lt;P&gt;There has been a few similar posts on this topic before, but the answers are a bit dated and my question is also slightly different, so it is perhaps worth asking again. I have two questions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Every once in a while, while doing a build from S32DS (v 3.6.2, The OS is Windows 11) , the build fails because it cannot find certain standard header files. Simply re-opening the project's .mex file, doing an 'update code' (although it should not actually update anything) and rebuilding fixes the issue. My question is: why does this happen? It seems to happen randomly, so I cannot provide any 'steps to reproduce', but it happens often enough that I'd be surprised if you are not at least aware of it. I have seen some other people also mentioning this issue on the forum.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. We are working towards putting the entire code base that will be programmed to the flash (as opposed to our application code only) into git and use a CI/CD pipeline, outside of the IDE in a headless environment, to build the image. We are using gitlab running on RHEL.&lt;/P&gt;&lt;P&gt;Are there any 'best practices' recommendation for this? In particular, since the RTD, the C standard library etc are outside the project and the IDE sets up a lot of the connections, how should this be handled in a CI/CD environment and how does one install a stand-alone toolchain?&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2025 19:51:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2252501#M54969</guid>
      <dc:creator>durga_choudhury</dc:creator>
      <dc:date>2025-12-01T19:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2253054#M54999</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1. Every once in a while, while doing a build from S32DS (v 3.6.2, The OS is Windows 11) , the build fails because it cannot find certain standard header files. Simply re-opening the project's .mex file, doing an 'update code' (although it should not actually update anything) and rebuilding fixes the issue. My question is: why does this happen? It seems to happen randomly, so I cannot provide any 'steps to reproduce', but it happens often enough that I'd be surprised if you are not at least aware of it. I have seen some other people also mentioning this issue on the forum.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This issue is relatively common in Eclipse-based IDEs like S32DS. Here are the most likely causes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Indexing/Path Resolution Glitch&lt;/STRONG&gt;&lt;BR /&gt;S32DS relies on Eclipse’s CDT indexer and project metadata to resolve include paths. Occasionally, the indexer or the internal build configuration gets out of sync—especially after changes to .mex or environment variables. Reopening the .mex file and regenerating code forces the IDE to refresh paths and rebuild the index.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Temporary Workspace Corruption&lt;/STRONG&gt;&lt;BR /&gt;The IDE stores a lot of state in the workspace. If the workspace cache becomes inconsistent (e.g., after an interrupted build or IDE crash), include paths may not be recognized until a refresh.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Windows File System Timing&lt;/STRONG&gt;&lt;BR /&gt;On Windows, antivirus or file-locking can delay access to header files during parallel build steps, causing intermittent failures.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;2. We are working towards putting the entire code base that will be programmed to the flash (as opposed to our application code only) into git and use a CI/CD pipeline, outside of the IDE in a headless environment, to build the image. We are using gitlab running on RHEL.&lt;/P&gt;
&lt;P&gt;Are there any 'best practices' recommendation for this? In particular, since the RTD, the C standard library etc are outside the project and the IDE sets up a lot of the connections, how should this be handled in a CI/CD environment and how does one install a stand-alone toolchain?&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Handle RTD and External SDKs&lt;/P&gt;
&lt;P&gt;Version Control or Artifact Repository:&lt;/P&gt;
&lt;P&gt;Store RTD and SDK packages in Git (if allowed) or in an artifact repository like Nexus/Artifactory.&lt;/P&gt;
&lt;P&gt;Environment Variables:&lt;/P&gt;
&lt;P&gt;Define variables like RTD_PATH and SDK_PATH in your CI/CD pipeline.&lt;BR /&gt;Use these variables in your Makefile or build scripts instead of hardcoded paths.&lt;/P&gt;
&lt;P&gt;Export Project for Headless Build&lt;/P&gt;
&lt;P&gt;In S32DS, export the project as a Makefile project (Project → Generate Makefiles).&lt;BR /&gt;This gives you a Makefile that can be used outside the IDE.&lt;BR /&gt;Alternatively, use s32ds.exe --build for Windows-based headless builds, but for Linux CI/CD, Makefile is preferred.&lt;/P&gt;
&lt;P&gt;Avoid IDE Dependencies&lt;/P&gt;
&lt;P&gt;Do not rely on .mex regeneration in CI/CD.&lt;BR /&gt;Ensure all include paths and compiler flags are captured in the Makefile or CMake configuration.&lt;/P&gt;
&lt;P&gt;I am not sure if there is anything else then general recommendations.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2025 09:48:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2253054#M54999</guid>
      <dc:creator>petervlna</dc:creator>
      <dc:date>2025-12-02T09:48:08Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2253293#M55016</link>
      <description>&lt;P&gt;Thank you,&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/13836"&gt;@petervlna&lt;/a&gt;&amp;nbsp;for the tips. There is one question regarding the CI/CD pipeline that I still have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How do I install the build tool chain independent of the IDE in a Linux environment?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2025 14:55:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2253293#M55016</guid>
      <dc:creator>durga_choudhury</dc:creator>
      <dc:date>2025-12-02T14:55:09Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2254119#M55068</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;How do I install the build tool chain independent of the IDE in a Linux environment?&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Unfortunately I do not have any knowledge on Linux environment, so I can help with only general answer:&lt;/P&gt;
&lt;P&gt;Summary of Official Steps:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Download the NXP GCC toolchain for ARM (Linux version) from the S32DS download page.&lt;/LI&gt;
&lt;LI&gt;Extract the archive to a directory like /opt/armgcc.&lt;/LI&gt;
&lt;LI&gt;Add the toolchain bin directory to your PATH.&lt;/LI&gt;
&lt;LI&gt;Install build tools (make, cmake) on your Linux system.&lt;/LI&gt;
&lt;LI&gt;Use exported Makefiles from S32DS for headless builds.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;I suggest for linux questions to rise a separate thread.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Dec 2025 10:02:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2254119#M55068</guid>
      <dc:creator>petervlna</dc:creator>
      <dc:date>2025-12-03T10:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2254337#M55081</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/13836"&gt;@petervlna&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the suggestion. I need a bit more information on this. On the S32 Design studio page, I see a download option for the IDE as a whole, and it seems that the toolchain is installed as part of the IDE installation. I don't see the toolchain being offered as a separate download.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I do see that on Windows11 (which is what I am currently using), the tool chains are installed at&lt;/P&gt;&lt;P&gt;C:\NXP\S32DS.3.6.2\S32DS\build_tools&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is what you are suggesting is that:&lt;/P&gt;&lt;P&gt;1. Install the Linux version of the IDE on a Linux desktop&lt;/P&gt;&lt;P&gt;2. Copy the installed toolchain from this machine to the headless CI/CD server&lt;/P&gt;&lt;P&gt;3. Follow the steps you have outlined above&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please provide some clarification.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Dec 2025 15:53:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2254337#M55081</guid>
      <dc:creator>durga_choudhury</dc:creator>
      <dc:date>2025-12-03T15:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2255311#M55124</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;you can download standalone gcc from NXP pages for example this one&amp;nbsp;&lt;A href="https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true" target="_blank"&gt;https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or any other version&amp;nbsp;&lt;A href="https://www.nxp.com/search?keyword=gcc%2520&amp;amp;start=0" target="_blank"&gt;https://www.nxp.com/search?keyword=gcc%2520&amp;amp;start=0&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Dec 2025 13:02:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2255311#M55124</guid>
      <dc:creator>jiri_kral</dc:creator>
      <dc:date>2025-12-04T13:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for CI/CD</title>
      <link>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2342217#M57614</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/13836"&gt;@petervlna&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/159987"&gt;@jiri_kral&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry for the delayed response on a closed ticket, but I finally had a chance to work on this issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What Peter is suggesting makes perfect sense to me; however, I cannot find the '&lt;SPAN&gt;Project → Generate Makefiles' option in the S32 IDE (v3.6.6). I could try copying the generated makefiles, but there are a couple of not-so-good things about it:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1. It is not a stand-alone makefile, it depends on other .mk files which are also generated.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2. The makefile is generated per-build-target (unlike the .cproject file), which makes it a bit unwieldy. Ideally what I'd like is one Makefile where the build target is an argument to 'make'.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am a bit surprised other people have not asked this question before or you don't have a 'how-to' document on this; given that the processor is very popular and is safety critical, I'd have thought doing builds in CI/CD Linux environment would be common.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 13:50:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Best-practices-for-CI-CD/m-p/2342217#M57614</guid>
      <dc:creator>durga_choudhury</dc:creator>
      <dc:date>2026-03-30T13:50:46Z</dc:date>
    </item>
  </channel>
</rss>

