<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mudlet.org/index.php?action=history&amp;feed=atom&amp;title=Random_notes_about_CI_Scripts</id>
	<title>Random notes about CI Scripts - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mudlet.org/index.php?action=history&amp;feed=atom&amp;title=Random_notes_about_CI_Scripts"/>
	<link rel="alternate" type="text/html" href="https://wiki.mudlet.org/index.php?title=Random_notes_about_CI_Scripts&amp;action=history"/>
	<updated>2026-06-14T14:32:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.mudlet.org/index.php?title=Random_notes_about_CI_Scripts&amp;diff=15685&amp;oldid=prev</id>
		<title>Slysven: Initial document - incomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.mudlet.org/index.php?title=Random_notes_about_CI_Scripts&amp;diff=15685&amp;oldid=prev"/>
		<updated>2020-10-16T22:14:29Z</updated>

		<summary type="html">&lt;p&gt;Initial document - incomplete&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;We have about four different build processes configured for the AppVeyor/Travis CI builds:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039; - the final one that produces the official (signed if we can get certification sorted out - it is currently a long painful process getting our Windows one renewed!) version that end-users will (hopefully) want to download and use.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PTB&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;Public Test Build&amp;#039;&amp;#039; (though that B sometimes gets read as &amp;#039;&amp;#039;Beta&amp;#039;&amp;#039;).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Development&amp;#039;&amp;#039;&amp;#039; - A build of the &amp;#039;development&amp;#039; branch code that is prompted by something being merged into it.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testing&amp;#039;&amp;#039;&amp;#039; - A build of the code as it stands with all the commits of a Pull-Request on-top of the &amp;#039;&amp;#039;development&amp;#039;&amp;#039; branch of the code.&amp;#039;&amp;#039;&amp;#039;†&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The first one is produced after Vadim (our BDFL) edits the top-level CMake and the QMake project files (&amp;#039;&amp;#039;./CMakeList.txt&amp;#039;&amp;#039; and &amp;#039;&amp;#039;./src/mudlet.pro&amp;#039;&amp;#039;) to remove the normally present &amp;#039;&amp;#039;-dev&amp;#039;&amp;#039; value for the &amp;#039;&amp;#039;APP_BUILD&amp;#039;&amp;#039; variable. That triggers different behaviour when the commit that pushes the change to the main Mudlet GitHub repository. It also requires that there is a Git &amp;#039;&amp;#039;&amp;#039;tag&amp;#039;&amp;#039;&amp;#039; applied at the same time - we have been using &amp;#039;&amp;#039;&amp;#039;Mudlet-x.y.z&amp;#039;&amp;#039;&amp;#039; where &amp;#039;&amp;#039;x&amp;#039;&amp;#039;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039; and &amp;#039;&amp;#039;z&amp;#039;&amp;#039; are the &amp;#039;&amp;#039;major&amp;#039;&amp;#039;, &amp;#039;&amp;#039;minor&amp;#039;&amp;#039; and &amp;#039;&amp;#039;patch&amp;#039;&amp;#039; numbers respectively.&lt;br /&gt;
&lt;br /&gt;
The second one is produced as a result of a cron (scheduled job) setting on the CI platforms:&lt;br /&gt;
* AppVeyor - log in to the site, navigate to the Mudlet project (click on the top white on black &amp;quot;Projects&amp;quot; and then on the &amp;quot;Mudlet&amp;quot; line several icons will appear on hovering on it - click the rightmost &amp;quot;cog&amp;quot; icon to get to the &amp;#039;&amp;#039;Settings&amp;#039;&amp;#039; page. The top most left tab &amp;quot;General&amp;quot; has a field about two thirds of the way down labelled &amp;#039;&amp;#039;Build schedule&amp;#039;&amp;#039; which accepts a 5 element [[https://github.com/atifaziz/NCrontab/wiki/Crontab-Expression crontab]] value that specifies when the job should be run. We currently use &amp;#039;&amp;#039;&amp;#039;0 0 * * *&amp;#039;&amp;#039;&amp;#039; which translates to &amp;quot;at the 0th minute of the 0th hour of every day of the month (1 to 31), every month (1 to 12), for every day of the week (0=Sunday, 6=Saturday). For this job AppVeyor defines the environmental variable &amp;#039;&amp;#039;&amp;#039;APPVEYOR_SCHEDULED_BUILD&amp;#039;&amp;#039;&amp;#039; to &amp;quot;&amp;#039;&amp;#039;True&amp;#039;&amp;#039;&amp;quot; if the build runs by scheduler More details here: https://www.appveyor.com/docs/build-configuration/#scheduled-builds&lt;br /&gt;
* Travis - &amp;#039;&amp;#039;tbd&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The last two are not so obvious to tell apart but the &amp;#039;&amp;#039;testing&amp;#039;&amp;#039; ones have an additional &amp;#039;&amp;#039;-PR1234&amp;#039;&amp;#039; element in the zip file or app-image that is produced.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;†&amp;#039;&amp;#039;&amp;#039; The changes should be piled on top of the development branch at the time the PR was started (if the coder is doing the right thing and starting a new branch from there) but the GitHub webpage for the PR will make it clear if the code can or cannot be combined with the &amp;#039;&amp;#039;development&amp;#039;&amp;#039; branch code as it is &amp;#039;&amp;#039;&amp;#039;currently&amp;#039;&amp;#039;&amp;#039; either by rebasing (preferred) or squashing (alternative recommended where there is a large number of commits in the PR). If the latter is done it is &amp;#039;&amp;#039;really helpful&amp;#039;&amp;#039; if the person doing the merge takes a moment to clean up the commit message (in plain text NOT the markup that GitHub uses) as otherwise one can end up with a long message comprising a list of commit messages which may not make sense to anyone other than the committer - and that message gets written into the git history for good.&lt;br /&gt;
&lt;br /&gt;
== Windows AppVeyor ==&lt;br /&gt;
The package production builds (&amp;quot;version uses the &amp;#039;&amp;#039;native&amp;#039;&amp;#039;(?) Nuget tool to read a &amp;#039;&amp;#039;mudlet.nuspec&amp;#039;&amp;#039; in the mudlet/installer repository files and uses that to convert all the files in a specific location into a specially constructed &amp;#039;&amp;#039;zip&amp;#039;&amp;#039; archive that has a &amp;#039;&amp;#039;.nupkg&amp;#039;&amp;#039; extension. &amp;#039;&amp;#039;squirrel.windows&amp;#039;&amp;#039; then converts that file into a &amp;#039;&amp;#039;setup.exe&amp;#039;&amp;#039; installer which is intended for initial installation of the packaged application and also a &amp;#039;&amp;#039;-full.nupkg&amp;#039;&amp;#039; version which presumably has a few extra squirrel bits and, if it can detect a previous version of the same project a &amp;#039;&amp;#039;-delta.nupkg&amp;#039;&amp;#039; which is a update file that is much smaller (to download) and contains the data to patch the previous one to update it to the new version.&lt;br /&gt;
&lt;br /&gt;
== Linux &amp;amp; MacOs Travis ==&lt;/div&gt;</summary>
		<author><name>Slysven</name></author>
	</entry>
</feed>