Urgent.News

What's breaking now, across thousands of outlets.

Tech

Orchestrating Renovate, Dependabot, release PRs and tests on main: a priority queue for GitHub Actions

A modern repository has four or more parties writing to main, and none of them talks to the others. Developers open pull requests. Renovate or Dependabot open more. A release tool opens one on top. And a workflow runs on main after every merge. Each of them triggers CI, each of them is affected by every merge, and GitHub Actions runs them in whatever order they happen to arrive. If CI is cheap…

In modern repositories with multiple contributors working on the main branch, there are several actors involved in the process. Developers open pull requests, while Renovate and Dependabot automatically open more PRs. A release tool also opens a PR to update the version and changelog. The pipeline on main runs after every merge, potentially interfering with other PRs. The challenge arises because the actor that should go last, the release PR, is the quickest to update, while the slower-acting PRs are tested first.

To solve this coordination problem, the author created a GitHub Action called boarding-gate. This action enforces a priority queue for workflow runs, ensuring that developers' PRs are tested first, followed by dependency bots, then the release PR, and finally main. The weight of each run is determined by label priorities, with higher-weighted runs being tested first.

The boarding-gate action also ensures that branches are rebased or failed if they are behind main, preventing unnecessary testing of stale branches. By implementing this rule, the process becomes more efficient, reducing the number of runs and preventing collisions between deployments.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

What "I want my own brand" actually means in a smart home OEM order

Buyers say this in the first email and mean five different things by it. The factory hears one of them, quotes for that one, and the disagreement surfaces after the deposit.

  • Buyers desire branded product in smart home OEM order
  • Five distinct requirements: packaging, device markings, firmware identity, app, and cloud identity
  • Cloud identity rarely considered until end of process

Deploying Django on AWS Free Tier: A Cost-Effective Path to Production

Bringing a Django application from local development to a publicly accessible production environment often feels like a significant hurdle, especially when budget constraints loom large.

  • AWS Free Tier enables cost-effective Django deployment
  • Utilizes EC2, RDS, S3, and Security Groups for setup
  • Scalable foundation for future application growth

More from Tuesday 3 November →