Weekly DevOps Roundup: Repeatable CI/CD, Runners, and Chart Tests
This week's DevOps updates focused on making automation more repeatable and less fragile. Fabric kept closing “treat artifacts like code” gaps (Git, pipelines, environment promotion), while GitHub and VS Code shipped workflow improvements that reduce triage overhead and tighten feedback loops. Infrastructure teams also got a heads-up on Docker storage behavior changes and a pattern for turning Helm chart expectations into CI-enforced tests.
Microsoft Fabric CI/CD and “everything as code” (CLI, Git, pipelines, and environment promotion)
Fabric updates focused on turning UI-heavy operations into versioned, promotable artifacts across dev/test/prod. Building on last week's Git-shaped delivery push (bulk export/import, branched workspaces, selective branching, diff-style review), the Fabric Data Engineering API for GraphQL now supports source control and CI/CD as GA. GraphQL artifacts can now be committed, reviewed via PRs, and promoted using Azure DevOps or Fabric Deployment pipelines. The result is that API definition/config changes become diffable and rollback-friendly instead of portal-only state.
Fabric's database DevOps tooling also moved toward an end-to-end workflow. Extending last week's “deploy from VS Code / database projects” direction, updated guidance positions a SQL project (.sqlproj with Microsoft.Build.Sql) as the unit of versioning and deployment. Builds validate dependencies and produce a DACPAC; deployments generate a plan/script to align the target database. Fabric's portal can connect a SQL database in Fabric to GitHub/Azure DevOps, generate a SQL project from the current schema, and commit it so changes can flow through PRs/pipelines. Two pipeline-relevant details: (1) pre/post-deployment scripts are supported in SQL database in Fabric (authored as Shared Queries and marked), and (2) tooling is converging. SSMS 22.4 adds a “Database DevOps” workload (preview) using the same project system as VS Code, while the VS Code MSSQL extension publish dialog is now GA and can show the equivalent SqlPackage command for CI reuse.
Automation gained more building blocks that fit last week's “reduce special-case automation” theme. Fabric CLI v1.5 is GA with a new deploy command wrapping fabric-cicd, enabling full workspace deploys with one command (for example, fab deploy --config deployment-config.yaml) suitable for GitHub Actions/Azure DevOps. It also expands Power BI automation (rebinding, semantic model refresh scheduling/triggering), improves notebook execution (including running fab inside Fabric notebooks and parsing JSON), and adds agent-facing guardrails like .ai-assets and AGENTS.md to reduce invented flags in generated commands. A separate preview Azure DevOps Marketplace extension targets pipeline boilerplate by provisioning Fabric CLI via a FabricCLI@1 task (PowerShell/PowerShell Core/Bash, version pinning), avoiding per-pipeline install scripting.
Notebook Git workflows also improved for promotion. Notebooks can now optionally commit/restore the Resources folder (Python modules, config files, small assets), with Fabric-side exclusion rules plus .gitignore support inside Resources. And Lakehouse auto-binding (preview) reduces manual rebinding of lakehouses across Git-connected workspaces by capturing config in a Fabric-managed notebook-settings.json (visible for auditing, not intended for manual editing).
- API for GraphQL source control and CI/CD support (Generally Available)
- ‘Batteries included: Database DevOps with SQL projects’
- 'Fabric CLI in Azure DevOps: automation without friction (Preview)'
- Fabric CLI v1.5 is here (Generally Available)
- ‘Fabric Notebooks: Resources Folder Support in Git’
- Fabric notebooks support Lakehouse auto-binding in Git (Preview)
GitHub Actions and PR workflow ergonomics (runner images, agentic automation, review triage)
GitHub shipped changes targeting two friction sources: inconsistent CI environments and review/maintenance overhead. Building on last week's runner fleet hygiene and Kubernetes scheduling improvements (ARC multilabel scale sets, safer listener defaults, controls to avoid stale runner reprovisioning), custom images for GitHub-hosted runners are now GA. Orgs can start from GitHub-curated images and bake in toolchains, dependencies, cert roots, and hardened config so workflows install less and fail less due to drift. The gains show up in performance (fewer setup steps) and governance (standardized approved versions). GitHub notes October 2025 preview users should continue without changes. Agentic workflows are also being previewed as a way to define intent-driven automation in Markdown that runs in Actions via coding agents, for tasks like scheduled maintainer reports or proposing fixes for CI failures. Continuing last week's theme of adding boundaries/context for AI contributions, Actions run summaries now show the exact agentic workflow Markdown used for a run, making auditing/debugging easier without jumping between pages. For human review flow, GitHub's pull requests dashboard is in public preview with an Inbox-style view (needs your review, needs fixing, ready to merge), saved views built from common queries, and richer search syntax (AND/OR, nested expressions) for cross-repo review queues. It follows last week's PR ergonomics updates: as controls/checks expand, GitHub is also reducing “what do I review next?” overhead.
- Custom images for GitHub-hosted runners are now generally available
- Automate your repo with GitHub agentic workflows
- View Agentic Workflow configs in the Actions run summary
- New pull requests dashboard is in public preview
Other DevOps News
Fabric's environment configuration story advanced for data integration, continuing last week's Variable Library theme for environment rewiring during promotions. Dataflow Gen2 Variable Library integration is now GA, letting teams externalize environment-specific values (endpoints, IDs, paths, thresholds, flags) and resolve them at runtime instead of editing Power Query/M per environment. This supports promoting the same logic across dev/test/prod under CI/CD with centrally governed configuration.
- 'Dataflow Gen2: Variable Library integration in Microsoft Fabric (Generally Available)' Gateway lifecycle automation became more pipeline-friendly with the Gateway PowerShell module reaching GA for on-premises and VNet data gateways. Following last week's note on admin-triggered auto-update GA, this moves from “upgrade on demand” to “script upgrades and recovery as runbooks.” New/updated cmdlets cover upgrade/recovery tasks like checking versions, pinning upgrade targets, polling update status, and restoring a cluster member, reducing reliance on portal workflows.
- Gateway PowerShell module is now generally available, with new update and recovery commands
Container operators got a troubleshooting note for Docker Engine v29 on Linux. With containerd image store enabled by default on fresh installs, Docker's
data-rootno longer prevents OS disk growth because images/snapshots go under/var/lib/containerd. The workaround is relocating/symlinking containerd storage to a data disk in addition to setting Docker'sdata-root. This matters for build agents, VMSS workers, and batch nodes where OS disk saturation impacts availability, especially when standardizing CI environments (like GitHub runner custom images) and needing worker disk behavior to match assumptions. - 'Docker Engine v29 on Linux: Why data-root No Longer Prevents OS Disk Growth (and How to Fix It)'
A Helm chart testing pattern showed how to unit test charts with Terratest by rendering (
helm template) with base + environment override values, unmarshalling into typed Kubernetes API objects in Go, and asserting on fields (labels/selectors, securityContext hardening, ingress/TLS, HPA bounds). Using typed structs reduces brittle YAML-path assertions, and the post includes an Azure DevOps pipeline pattern for running tests and publishing JUnit results. This aligns with last week's “policy as enforceable primitives” direction: chart invariants can be enforced as tests rather than review-only expectations. - ‘Unit Testing Helm Charts with Terratest: A Pattern Guide for Type-Safe Validation’
Two smaller workflow updates may still affect automation. VS Code Insiders 1.114 adds
${taskVar:name}so task output (captured via problem matchers) can feed launch/debug configs, helping with dynamic ports/URLs. GitHub also added a repo setting to disable comments on individual commits (via REST and GraphQL), which may require adjustments if bots/CI currently post commit-level comments instead of PR comments, especially as teams reduce review noise with improved PR dashboards and review surfaces. - ‘Visual Studio Code 1.114 (Insiders): pinned chat sessions and new task variables’
- Disable comments on individual commits (GitHub repository setting)