neetoCI got Rerun, CI job pages, Activity monitoring, scheduler and more

Neeraj Singh

By Neeraj Singh

on June 16, 2023

neetoCI is a tool that allows you to create CI pipelines for your GitHub repositories. You can view the results of each CI job, including logs and execution times for each command. With neetoCI, you can easily automate your development workflow and catch bugs before they become significant problems.

Here are some of the new features, enhancements, and optimizations which were recently launched.

1. Rerun Job

This feature allows you to rerun a specific CI job. This can be helpful if you need to retest something or if a job fails and you want to rerun it with some modifications.

Rerun a specific CI job

2. Pull Request and Branch CI Jobs pages

We have added two pages that let you view only those CI jobs associated with a particular Pull Request or Branch.

CI jobs associated with a particular Pull Request or Branch

3. neetoci-service command

You can use the neetoci-service command in your CI jobs to start Elasticsearch, Postgres, and Redis services. For example:

2  - neetoci-service start postgres 9.6

This command starts a Postgres database service using version 9.6.

4. Activity Monitor page

This page provides a real-time list of all running CI jobs in your organization. It also shows the number of running CI Jobs against your organization's limit for how many CI jobs can be run at a time.

Activity Monitor page

5. cache store and cache restore commands

These commands allow you to cache your installed packages and libraries so that subsequent jobs can run faster. By storing commonly used packages in a cache, you can avoid having to download them again each time a job runs, which can significantly speed up your CI jobs.

Here's how you can use these commands to cache Ruby and Node.js packages and use them in subsequent CI jobs:

2  - cache restore
3  - bundle install
4  - yarn install
5  - cache store

On the first time the above commands are executed, cache store commands cache the contents of your project and stores them for the next time you use cache restore. In our example, all the Ruby and NodeJS packages will be cached. In subsequent CI jobs, cache restore will restore all the cached files so that the packages that were cached do not have to be downloaded again.

The following screenshot shows a CI job that ran the cache store command for the first time. The screenshot shows that the bundle install command took 2 minutes and 50 seconds, and the yarn install command took 52 seconds to complete.

CI job

The screenshot below shows a CI job that ran after the CI Job in the screenshot above. In the screenshot below you can see that the bundle install command only took 7 seconds and the yarn install command took less than a second to complete.

CI job

6. Scheduler

This feature allows you to run CI jobs on a schedule for a specific branch. This is useful if you need to run jobs at specific times, such as overnight or on weekends, and want to automate the process.

7. View Pull Request buttons

We have added buttons to view the GitHub Pull Request associated with a CI Job on the Job card and the Pull Request page.

8. Faster installations

We have started maintaining an internal registry of binaries for popular languages, databases, and libraries such as Ruby, NodeJS, Postgres, Redis, and Elasticsearch, which will make their installations much faster.

9. In Queue status

If the limit for the number of jobs that can run at a time has been reached, any new jobs that are created will have the In Queue status. This means the job has been created, but it's waiting for an available slot to run. Once an existing job finishes and a slot becomes available, the job in the queue will start running, and its status will change to Running.

10. Project Activity page

Previously, the Activity page would show all CI jobs associated with a project, making it difficult to quickly understand the status of different branches or pull requests. You can see this in the window on the right in the screenshot below.

To improve the usability of the Project Activity page, we have modified that groups CI jobs based on the pull request or branch they are associated with. Instead of showing all jobs, the activity page now shows only the latest job in each branch or pull request, making it easier to quickly understand the status of each one. You can see this in the window on the left in the screenshot below.

What’s next

At neetoCI, we are constantly striving to improve and add new features to our product. In the coming month, our focus will be on enhancing the Activity Monitor page to provide even more visibility into your organization's CI jobs. Additionally, we will be adding webhooks to enable you to start jobs and receive notifications when they are finished. These features will make neetoCI even more powerful and help you stay on top of your development process.

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 [email protected]. neeto has many other products for you to check out.

Stay up to date with our blogs. Sign up for our newsletter.

We write about how neetoKB has evolved over time.