ProjectYami

Laboratories

Automated Build System Details

The Build System uses a Jenkins backend and custom PHP scripts.
Jenkins can be accessed at https://builds.projectyami.com (ignore the SSL warning)
PHP Scripts and the Compilers can be accessed at https://github.com/yamikaitou/build-environment

Each Build Job is created with the same initial code block, which will then trigger the project-specific script. This is because there are certain items that need to be the same or provided to each job. These items include various Environmental variables, the Compiler to use and the initial name of the ZIP Archive.
Here is a copy of what the initial code block looks like
#!/usr/local/cpanel/3rdparty/php/54/bin/php
<?php

$compiler = $_ENV['AMXXRELEASE'];

$archive = $_ENV['JOB_NAME']."-";

echo "{$_ENV['JOB_NAME']} Build Script\n";
require_once("{$_ENV['BUILDSCRIPTS']}/{$_ENV['JOB_NAME']}.php");
exit(0);

?>


In the GitHub Repository, you will find 3 folders.
amxx - Contains 2 Compilers for AMXModX, a Release version and a Dev Snapshot version.
sm - Contains 3 Compilers for SourceMod, a Release version, a Stable Snapshot version and a Dev Snapshot version.
scripts - Contains the Build Scripts for each Job.
In each of the Compiler folders, the exact version of the Compiler is listed in the README.md file.
Additionally, in the amxx and sm folders, there is another folder called include. This is where any global 3rd party include files will be stored that can be used by any Job. These folders are also NOT included during the packaging, so it will most likely never be used.

Each Build Job also calls another script using HTTP upon completion of the Job. This script will not be made public but all it does is send out the Build Notification emails and any other required post-build tasks for each Job.