Up until now if a build failed, or didn’t run correctly on stickler-ci you had to rely on the build status to figure out what to try. While this mostly works when jobs outright fail, it isn’t great for jobs that succeed with the wrong or unexpected results. If you got incorrect or unexpected results, debugging what was going on was a tedious and time consuming process. Thankfully, those days are behind us now.

Going forward sticker-ci check run results (but not reviews created with review comments) will contain build logs! …

CakePHP 4.1.0 is going to be released soon. Thanks to othercorey and ndm2 4.1.0 adds powerful new features to the ORM — Window functions and Common Table Expressions.

Window functions

Window functions enable you to generate aggregations for ‘windows’ of your data. You define what the ‘window’ is by telling the database how to partition your data into frames around the current row, and perform aggregations across the rows in each frame.

Some example problems you could solve with window functions are:

Recently I shipped a new feature to Stickler CI that enables users to extend Javascript and Python builds with additional packages. Maintaining review tool dependencies can be a drain on your team’s time. Stickler CI helps solve this problem, but used to come with a tradeoff of not being able to fully customize your style rules. While our default images come with many popular packages pre-installed, it is impossible to have every package for flake8 and eslint pre-installed.

Enter Custom Builds

After fielding a few package requests, I knew there had to be a better way. Stickler does all of its reviews inside docker containers with temporary filesystems. The solution seems simple enough. Before running each job find and install the additional packages required by the current repository. Then once the review is complete, docker could discard the container filesystem, leaving a pristine state for the next review. …


Mark Story

Principal Developer @ Sentry, Creator of Stickler-CI and CakePHP core team member.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store