Custom Queues UI

Availability

Please contact support@solanolabs.com regarding availability of this feature.

Usage Scenarios

The primary use cases for this feature are to allow gradual migrations to new runtime environments for your build, and to run select builds on different hardware.

Migration

For instructions of migrating from yml to ui please see this blog post.

Configuration

This feature allows you to name the queue to be used for your builds. If you do not provide an explicitly configured queue or you provide an invalid or unrecognized queue name, the system will choose the default queue. Note that queue names are per-organization; the default queue in one organization may not be the same underlying queue as the default queue in another organization.

The system defines two global named queues: default and v2runtime. To select a queue, add the following to your solano.yml:

Step 1.

Visit your Solano CI Dashboard page, and click the gear icon for the repo you wish to configure. This will take you to the Repo Settings page.

../../_images/repo_settings-1.png

Step 2.

Click “Queue Routing” in the left sidebar to bring up the Queue Routing settings page. Using the form at the bottom of the page, add branch/profile combinations and indicate which queue you want each combination to route to. You can use ‘*’ in the branch field to match all branches. If you’re not using profiles or don’t wish to change routing rules based on profile you can simply leave the field blank.

../../_images/queue_routing_ui.png

Step 3.

Click “Save” to add the new route to your list of active Queue Routers. The routes are evaluated from top to bottom, the first rule that matches the branch & profile of the session that is being routed will be the one that determines the queue to use.

Step 4.

Once you validate that your Queue Routers are configured correctly, you can turn on Queue Routing for this branch by toggling the slider at the top of the page so that “Enabled” is highlighted in green. Congratulations, you’re fully migrated! Now would be a good time to remove any references to queue routing in your solano.yml to avoid any future confusion.

../../_images/queue_routing_on.png

It is possible to set up per-account queues with custom names and plans in addition to globally-defined queues such as v2runtime. Once they are set up, you can route to them as in the example above. There must always be a fall-back queue called “default” that will be used if no other queue is configured or matches.

Debug Sessions

Debug Sessions will run on the same queue as the session they are started from.

Rebuild

Session started with the rebuild command will be run through the queue router. The queue that these sessions use will take into account any ovverides that the original session had.

Session started with solano run

Session started with solano run will use the queue router, unless the queue is overriden by passing --queue=NAME_OF_QUEUE to the solano run command.

Build Now

Sessions started with the ‘Build Now’ command will always run through the queue router.

Webhooks

Sessions started with webhooks will be run through the queue router unless that webhook overides the queue value. More details on webhooks is avalible here