neetoCI got multiple workflows, trigger, cache optimization and more
neetoCI is a tool that creates CI pipelines for your GitHub repositories. In the last edition, we mentioned that neetoCI got Rerun, job pages, activity monitoring, scheduler and more.
In this edition, we have some new features and enhancements that make your workflow even more flexible. The big news is that we've introduced the ability to have multiple workflows. Now you can create and customize multiple workflows tailored to your project's needs. Let’s jump in.
1. Multiple workflows
neetoCI now supports multiple workflows. With this new feature, neetoCI scans the .neetoci repository and treats each YAML file within that directory as a separate workflow. Every time neetoCI receives a trigger event, it scans the .neetoci directory and creates CI Jobs for all workflows that match the trigger.
Adding a new workflow is as easy as adding a YAML file to the .neetoci directory. Once you add a new YAML file, that workflow will be considered for future CI Jobs. The screenshot below shows a .neetoci directory with two YAML files.
Let's say both workflows get triggered on pushing changes to a Pull Request. A CI Job will be created for both workflows when such a trigger event occurs.
2. pull_request_labeled trigger
Speaking of triggers, we have added the first configurable trigger to neetoCI - pull_request_labeled. You can add this to your workflow by adding the following lines to your workflow configuration file:
triggers:
2 - event: pull_request_labeled
3 label: cypress-test
Once the above lines have been added, the workflow will be triggered once when the label cypress-test is added to a pull request.
Note that this trigger will create a CI Job only once when the label is added. To trigger the workflow again for the same pull request, you have to remove the label and add it again.
3. Reconnect Expired GitHub Integration
neetoCI requires permission to access your GitHub repositories through your account. You can revoke this permission from GitHub Settings. If you revoke access to your account from GitHub settings, you will see that the account is labeled as Expired on neetoCI GitHub Integration Settings (/settings/github). We have added a button in the Github Integration Settings that lets you reconnect a revoked account.
4. Messages to show a reason for jobs getting stopped
Before this update, there was no way for you to know why a CI Job was stopped. After this update, the reason why a CI Job was stopped would appear on the top of the Job Log page. A CI Job can stop for one of the following reasons:
If another commit is pushed to the same branch before the CI Job is finished.
If the Pull Request to which the running CI Job belonged was closed.
Some unexpected errors on the neetoCI side.
5. Cache optimization
We've optimized the caching mechanism to reduce the time to cache and restore dependencies, resulting in faster CI Jobs. Additionally, we've eliminated the need for unnecessary calls to create SSH connections from the client to the external SFTP storage server and eliminated file sharing over the network. This improvement saves you from waiting on tedious file transfers and boosts overall performance. Our solution utilizes the local filesystem with EFS, providing lightning-fast caching and dependency restoration and ensuring a seamless development experience.
What’s next
We are working on facilitating Cypress testing in neetoCI. We know how crucial end-to-end testing is for ensuring the quality of your web applications, so we are working on additional features and integrations specifically for Cypress. In addition to that, we will also be introducing new triggers and making the workflows more flexible. We can't wait to bring you these updates.
You can follow neetoCI on Twitter. neetoCI has not been launched for everyone yet. If you want to give it a try, then please send an email to invite@neeto.com. neeto has many other products for you to check out.