<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>GitHub: automate Raspberry Pico project build verification with GitHub Actions</title><link>/technologies/code_exchange/b/blog/posts/github-automate-raspberry-pico-project-build-verification-with-github-actions</link><description>You can Make GitHub build your project. I&amp;#39;m using an Action to check out branches and build them, when a pull request is submitted. I adapted an existing flow from the Raspberry organisation. Here&amp;#39;s what it does

check out the branch that&amp;#39;s the ...</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: GitHub: automate Raspberry Pico project build verification with GitHub Actions</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/github-automate-raspberry-pico-project-build-verification-with-github-actions</link><pubDate>Sat, 01 Aug 2026 20:37:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fd881158-5d4a-425b-b3b0-816cf2887d20</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;GitHub now has free Ubuntu 26.04 runners (in preview). You get it by setting &lt;strong&gt;runs-on&lt;/strong&gt; to&amp;nbsp;&lt;strong&gt;ubuntu-26.04&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:df9af515-d9b2-4b54-b382-ab1ed2702fba:type=json&amp;text=jobs%3A%0D%0A%20%20test%3A%0D%0A%20%20%20%20runs-on%3A%20ubuntu-26.04%0D%0A%20%20%20%20steps%3A%0D%0A%20%20%20%20%20%20-%20name%3A%20Clean%20workspace%0D%0A%20%20%20%20%20%20%20%20run%3A%20%7C%0D%0A%20%20%20%20%20%20%20%20%20%20echo%20%22Cleaning%20up%20previous%20run%22%0D%0A%20%20%20%20%20%20%20%20%20%20rm%20-rf%20%22%24%7B%7B%20github.workspace%20%7D%7D%22%0D%0A%20%20%20%20%20%20%20%20%20%20mkdir%20-p%20%22%24%7B%7B%20github.workspace%20%7D%7D%22%0D%0A%0D%0A%20%20%20%20%20%20-%20name%3A%20checkout%0D%0A%20%20%20%20%20%20%20%20uses%3A%20actions%2Fcheckout%40v4%0D%0A%20%20%20%20%20%20%20%20with%3A%0D%0A%20%20%20%20%20%20%20%20%20%20path%3A%20test_gps_teseo%0D%0A%20%20%20%20%20%20%20%20%20%20submodules%3A%20false%0D%0A%0D%0A%20%20%20%20%20%20-%20name%3A%20Install%20dependencies%0D%0A%20%20%20%20%20%20%20%20run%3A%20%7C%0D%0A%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20%20%20sudo%20apt-get%20install%20ninja-build%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20sudo%20apt-get%20install%20cmake%0D%0A%20%20%20%20%20%20%20%20%20%20sudo%20add-apt-repository%20universe%0D%0A%20%20%20%20%20%20%20%20%20%20sudo%20apt%20update%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20gcc%20--version%0D%0A]&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In particular useful if you use GCC 15. On the previous Linux runners, you have&amp;nbsp;to build that from source, and that&amp;#39;s a long process.&lt;br /&gt;Ubuntu 26.04 has it as the default GCC compiler version&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This brings the test execution time of one of my projects back from almost 2 hours to 1 minute and 1 second.&lt;/p&gt;
&lt;p&gt;&lt;img src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-fd881158-5d4a-425b-b3b0-816cf2887d20/pastedimage1785616338336v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;That 1 minute is spent on&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;getting an OS up&amp;nbsp;and updating it,&lt;/li&gt;
&lt;li&gt;get make related tools (CMake, Ninja)&lt;/li&gt;
&lt;li&gt;check out the project source from GitHub&lt;/li&gt;
&lt;li&gt;build the project&lt;/li&gt;
&lt;li&gt;run test suite&lt;/li&gt;
&lt;li&gt;clean up&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28162&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: GitHub: automate Raspberry Pico project build verification with GitHub Actions</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/github-automate-raspberry-pico-project-build-verification-with-github-actions</link><pubDate>Sat, 03 Aug 2024 14:09:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fd881158-5d4a-425b-b3b0-816cf2887d20</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I adapted the script, to install a newer GCC cross-platform compiler for ARM:&amp;nbsp;&lt;a href="/technologies/embedded/b/blog/posts/raspberry-pico-c-c-sdk---set-up-c-23-capable-toolchain?CommentId=cbbad4d0-3268-4255-b340-d908127abfbc" data-e14adj="t"&gt;/technologies/embedded/b/blog/posts/raspberry-pico-c-c-sdk---set-up-c-23-capable-toolchain?CommentId=cbbad4d0-3268-4255-b340-d908127abfbc&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28162&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: GitHub: automate Raspberry Pico project build verification with GitHub Actions</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/github-automate-raspberry-pico-project-build-verification-with-github-actions</link><pubDate>Mon, 15 Jul 2024 19:14:11 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fd881158-5d4a-425b-b3b0-816cf2887d20</guid><dc:creator>colporteur</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;JC it looks like you have been busy. Way above my head knowledge wise.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28162&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: GitHub: automate Raspberry Pico project build verification with GitHub Actions</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/github-automate-raspberry-pico-project-build-verification-with-github-actions</link><pubDate>Mon, 15 Jul 2024 17:31:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:fd881158-5d4a-425b-b3b0-816cf2887d20</guid><dc:creator>Fred27</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I think it&amp;#39;s definitely worth creating an artifact with the uf2 file so it can be easily deployed to a device.&lt;/p&gt;
&lt;p&gt;If you want to go even further you could register your own self-hosted CI runner (maybe a Raspberry Pi) that downloads the uf2 file and deploys it to an attached Pico for testing on real hardware.&lt;br /&gt;&lt;a href="https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;docs.github.com/.../managing-self-hosted-runners&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28162&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>