v1.1 Released

Posted on Tue 26 Oct 2021 to Announcements

It's been relatively quiet here for some time since the first post was published announcing the initial launch of Djinn CI. Since then, work has been underway to expand the tests, fix bugs, and introduce new features. So, let's take a look at what is available with v1.1 of Djinn CI.

Remote image downloads

Custom images can now be created via remote downloads. Instead of having to wait for 15 minutes for an image to upload, you can instead specify a URL during image creation to have your image downloaded in the background instead. This accepts downloading from either HTTP, HTTPS or SFTP. Images that were downloaded will have download icon beside them in the UI.

Namespace webhooks

Namespaces now support the creation of webhooks. This will now allow you to setup integrations with Djinn CI for the various events that are fired from within a namespace.

Auto ref-tagging of builds

Builds that a triggered via a push event from GitHub or GitLab will be automatically tagged with the ref of that commit. This will make searching and organizing builds easier, so you can see which build corresponds to which branch or tag currently being worked on.

Orphaned builds

Builds that are orphaned by the worker will be tagged as such from now on with the orphaned tag. An orphaned build occurs when the background worker is restarted during build execution. This won't impact how the build actually executes, other than it being run again from the beginning, the new tag will simply denote that the build was orphaned and will be executed again.

Refactored tests

Also part of this release, we massively refactored the testing that was done. Lot's of waste was cut, and the integration tests were consolidated, and further expanded. Part of this involved creating a pseudo-SDK for the API that Djinn CI has, this will act as a proving ground for a future SDK for the API.

Removing the old unit tests helped a lot, as these were more of a hindrance during the development. They didn't really offer much utility, got in the way especially when mucking about with the database internals. Unit testing will remain, but only when necessary. Going forward, we will be putting more focus on the end-to-end integration testing of the platform.