# CI/CD Pipeline

Published articles for CI/CD Pipeline.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Automated Worker Versioning with GitHub Actions

DevFeed: [Automated Worker Versioning with GitHub Actions](<https://devfeed.tech/articles/automated-worker-versioning-with-github-actions-35727.md>)

Original publisher: [Read original article](<https://temporal.io/blog/automated-worker-versioning-with-github-actions>)

Author: Adam Quan

Published: 2026-09-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

This tutorial explains how to automate Temporal Worker Versioning in a CI/CD pipeline with GitHub Actions and Worker Controller. It covers deterministic Workflow code changes, deployment versions, traffic ramping, pinned and auto-upgrade Workflows, safer rollouts, and rollbacks.

### Source excerpt

Learn how to automate Temporal Worker Versioning in CI/CD with GitHub Actions and Worker Controller for safer rollouts, traffic ramping, and rollbacks.

## Publishing Playwright HTML reports on GitLab Pages

DevFeed: [Publishing Playwright HTML reports on GitLab Pages](<https://devfeed.tech/articles/publishing-playwright-html-reports-on-gitlab-pages-22422.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/publishing-playwright-html-reports-on.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-29T23:56:10Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [GitLab](<https://devfeed.tech/topics/gitlab.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [Publishing](<https://devfeed.tech/topics/publishing.md>)

Tags: [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [github-pages](<https://devfeed.tech/tags/github-pages.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [gitlab-ci](<https://devfeed.tech/tags/gitlab-ci.md>), [playwright](<https://devfeed.tech/tags/playwright.md>)

### AI overview

This tutorial explains how to add a deploy stage to a GitLab CI/CD pipeline for a Bun-based Playwright project. The stage publishes generated Playwright HTML reports, including screenshots and videos, to GitLab Pages so they can be viewed online.

### Source excerpt

We've added a lot to our demo project, bun--create-playwright. We've explored setting up a Playwright framework using bun, a new package manager bundled into Claude Code. We've added typechecking, and formatting and linting. We've set up a CI/ CD pipeline for our tests using GitLab, one with three stages: Quality: We check that the formatting, linting and typechecking is correct for any changes we attempt to push to the code base. Test: We run the smoke and then the regression tests to make sure that everything still works. Report: We bundle an archive of the Playwright generated HTML report, with screenshots and videos if things fail. For this post, we will add a new stage to this GitLab pipeline: Deploy: Where we will deploy the HTML report to GitLab Pages, so we can view it online. What is GitLab Pages? GitLab Pages is a built-in feature of GitLab that allows you to publish static websites directly from a repository in GitLab. Similar to GitHub Pages, it is commonly used to host project documentation, personal blogs, portfolios, or corporate landing pages for free. From the GitLab Docs / Pages: "To use GitLab Pages, you must create a project in GitLab to upload your website's files to. These projects can be either public, internal, or private. "By default, GitLab deploys your website from a specific folder called public in your repository. You can also set a custom folder to be deployed with Pages. When you create a new project in GitLab, a repository becomes available automatically. "To deploy your site, GitLab uses its built-in tool called GitLab CI/CD to build your site and publish it to the GitLab Pages server. The sequence of scripts that GitLab CI/CD runs to accomplish this task is created from a file named .gitlab-ci.yml, which you can create and modify. A user-defined job with pages: true property in the configuration file makes GitLab aware that you're deploying a GitLab Pages website. "You can either use the GitLab default domain for GitLab Pages websit

## Examining the artifacts job of a Playwright GitLab CI / CD pipeline

DevFeed: [Examining the artifacts job of a Playwright GitLab CI / CD pipeline](<https://devfeed.tech/articles/examining-the-artifacts-job-of-a-playwright-gitlab-ci-cd-pipeline-22416.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/examining-artifacts-job-of-playwright.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-29T23:19:22Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [test](<https://devfeed.tech/tags/test.md>), [trace](<https://devfeed.tech/tags/trace.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

This tutorial examines how a Playwright GitLab CI/CD pipeline stores and exposes test artifacts. It explains the playwright-report, test-results, and reports/junit folders and describes generated HTML and JUnit reports, screenshots, videos, and trace reports.

### Source excerpt

You may have noticed that in the GitLab CI / CD Pipeline for our Playwright project, in the .gitlab-ci.yml file, after our scripts has run, in the Test stage, there is a subsection called "artifacts" with certain paths to something called "playwright-report", "test-results", and "reports". The Playwright -> Artifacts -> Reports stage playwright: extends: .bun_playwright stage: test timeout: 30 minutes ... ... artifacts: when: always paths: - playwright-report/ - test-results/ - reports/ reports: junit: reports/junit/results.xml expire_in: 30 days https://gitlab.com/tjmaher/bun-create-playwright/-/blob/main/.gitlab-ci.yml Every time Playwright tests run, it generates proof of the test execution: screenshots capturing the state of the UI when a test failed, video recordings of an entire browser session, HTML and JUnit XML test reports, trace reports showing action logs, network requests. These artifacts, when the tests run locally, are placed by the Playwright Test runner in generated folders, playwright-report and test-results, along with a folder called reports/junit. With this post, we will be examining how this artifacts stage of the GitLab CI/ CD pipeline produces downloadable artifacts we can examine. Playwright-Report: A Playwright Test folderThe Playwright Test runner creates a folder called "playwright-report", if it doesn't already exist, and an HTML file called index.html documenting the completed test run. From Playwright.dev / Test Reporters: "Playwright Test comes with a few built-in reporters for different needs and ability to provide custom reporters. [...] All built-in reporters show detailed information about failures, and mostly differ in verbosity for successful runs. [...] HTML reporter produces a self-contained folder that contains report for the test run that can be served as a web page". The HTML Report is the one that automatically opens after you run your tests locally, or if you are using the node package manager: npx playwright show-report

## Setting up a CI/ CD pipeline with GitLab: Quality, Test and Report

DevFeed: [Setting up a CI/ CD pipeline with GitLab: Quality, Test and Report](<https://devfeed.tech/articles/setting-up-a-ci-cd-pipeline-with-gitlab-quality-test-and-report-22424.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/setting-up-ci-cd-pipeline-with-gitlab.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-25T02:28:52Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

A tutorial on setting up a three-stage GitLab CI/CD pipeline for merge requests. The pipeline runs code-quality checks, smoke and regression tests, and produces a downloadable report, with stages executed sequentially and jobs within each stage running in parallel.

### Source excerpt

So far, we have reviewed how to review code with ES Lint + Prettier and Typecheck, how to set up and run smoke tests, how to run all Playwright + TypeScript tests, and reviewed the HTML report of results. In this post, we are going to set up a three stage GitLab CI/ CD pipeline that will run against every merge request: Quality (lint, typecheck, prettier) --> Test ( smoke + regression ) --> Report ( Downloadable ) I haven't used GitLab since when I worked at ThreatStack back in 2020. ( See my blog entry Getting to Know GitLab and How They Test the UI ) GitLab reads .gitlab-ci.yml from the repository root and turns it into a pipeline, a set of jobs, grouped into stages, running whenever you push a change to a repository. Stages run one after another, and jobs within a stage run in parallel. If one stage fails, the stages after it are skipped. This begs the question: What is GitLab? What is CI/ CD? Or a pipeline? Or a merge request? What is GitLab? GitLab began in 2011 as a side project by Ukrainian programmer Dmytro Zaporozhets, built to help developers work together on code more easily. Over time, it grew into a large open-source DevOps platform. More than just storing code, it handles code reviews, CI/CD (continuous integration and continuous delivery), and package registries. A company called GitLab Inc. was eventually created to turn the project into a commercial product. What makes GitLab different from tools that only host Git repositories (like a basic Git server) is that it bundles the entire software delivery process into one application. This includes: Merge requests - GitLab's term for proposing and reviewing code changes before they're merged into the main codebase (similar to a "pull request" in GitHub) Issue tracking - a built-in system for logging bugs, tasks, and feature requests Pipelines - automated workflows that build, test, and deploy code whenever changes are pushed So instead of stitching together separate tools for version control, testing, an

## Software Delivery Platform: Key Features & How to Evaluate

DevFeed: [Software Delivery Platform: Key Features & How to Evaluate](<https://devfeed.tech/articles/software-delivery-platform-key-features-how-to-evaluate-13478.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/software-delivery-platform>)

Author: Eric Minick

Published: 2026-08-11T00:00:00Z

Content type: article

Language: en

Sources: [Harness Blog](<https://devfeed.tech/sources/harness-blog.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [automation](<https://devfeed.tech/tags/automation.md>), [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [governance](<https://devfeed.tech/tags/governance.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [progressive-delivery](<https://devfeed.tech/tags/progressive-delivery.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [security](<https://devfeed.tech/tags/security.md>), [software-delivery](<https://devfeed.tech/tags/software-delivery.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

This article explains how a software delivery platform differs from a standalone CI/CD tool. It describes a platform as an integrated system covering the full after-code lifecycle, including continuous integration, continuous delivery, security, governance, insights, coordination, and rollback, then outlines criteria for evaluating vendors.

### Source excerpt

A software delivery platform isn't just a CI/CD tool. Get the must-have feature checklist and the demo questions to use when evaluating vendors. | Blog

## Blue Green and Canary Deployments Explained

DevFeed: [Blue Green and Canary Deployments Explained](<https://devfeed.tech/articles/blue-green-and-canary-deployments-explained-17480.md>)

Original publisher: [Read original article](<https://kodekloud.com/blog/blue-green-and-canary-deployments-explained/>)

Author: Pramodh Kumar M

Published: 2026-08-09T16:30:08Z

Content type: tutorial

Language: en

Sources: [Kubernetes - KodeKloud Blog | DevOps, Cloud, Kubernetes, AI Tutorials & More](<https://devfeed.tech/sources/kubernetes-kodekloud-blog-devops-cloud-kubernetes-ai-tutorials-more.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Software](<https://devfeed.tech/topics/software.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [argo-rollouts](<https://devfeed.tech/tags/argo-rollouts.md>), [automation](<https://devfeed.tech/tags/automation.md>), [blue-green-and-canary-deployments](<https://devfeed.tech/tags/blue-green-and-canary-deployments.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployment-strategies](<https://devfeed.tech/tags/deployment-strategies.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dora-change-failure-rate](<https://devfeed.tech/tags/dora-change-failure-rate.md>), [expand-and-contract-migration](<https://devfeed.tech/tags/expand-and-contract-migration.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [guide](<https://devfeed.tech/tags/guide.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [progressive-delivery](<https://devfeed.tech/tags/progressive-delivery.md>), [release-management](<https://devfeed.tech/tags/release-management.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [rolling-update](<https://devfeed.tech/tags/rolling-update.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sre](<https://devfeed.tech/tags/sre.md>), [traffic-splitting](<https://devfeed.tech/tags/traffic-splitting.md>), [zero-downtime-deployment](<https://devfeed.tech/tags/zero-downtime-deployment.md>)

### AI overview

This guide explains blue-green and canary deployment strategies for replacing running software versions. It emphasizes that effective rollback depends on detecting problems with reliable metrics and that database schema changes can limit reversibility.

### Source excerpt

Both strategies buy you the same thing, which is a cheap way to be wrong. The mechanism is the easy part, and the two hard parts are noticing you are wrong and dealing with the database.

## A Story of Delayed AWS Pipelines

DevFeed: [A Story of Delayed AWS Pipelines](<https://devfeed.tech/articles/a-story-of-delayed-aws-pipelines-23718.md>)

Original publisher: [Read original article](<https://medium.com/booking-com-development/a-story-of-delayed-aws-pipelines-382e4a1fede6?source=rss----1c36c35f9c76---4>)

Author: Vladimir Romashov

Published: 2026-05-08T14:23:22Z

Content type: article

Language: en

Sources: [Booking.com Development - Medium](<https://devfeed.tech/sources/booking-com-development-medium.md>)

Topics: [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [AWS Organizations](<https://devfeed.tech/topics/aws-organizations.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-organizations](<https://devfeed.tech/tags/aws-organizations.md>), [booking](<https://devfeed.tech/tags/booking.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [pii](<https://devfeed.tech/tags/pii.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

The article investigates delays in Terraform CI/CD pipelines caused by repeated use of the aws_organizations_organization data source and interactions with the AWS Organizations API. Testing found that roughly 1 in 10 Terraform pipelines were affected, with delays ranging from 1 to 15 minutes, while comparable CDK pipelines were not delayed.

### Source excerpt

How a seemingly simple AWS API call can silently slow down your CI/CD pipelines Review/co-researcher: Gonzalo Ulla The Mystery It started with a line in one of our team's CI/CD logs that nobody expected: module.project.module.user_buckets.module.s3_bucket.data.aws_organizations_organization.current: Still reading... [15m10s elapsed] 15 minutes and 10 seconds -- just to read organization data. A value that should return in milliseconds was holding up entire pipelines. After digging deeper, we discovered this wasn't a one-off issue. During testing, roughly 1 in 10 pipelines containing Terraform were affected, with delays ranging from 1 to 15 minutes each. At Booking.com, we deploy and manage our AWS infrastructure using two primary Infrastructure as Code (IaC) technologies: Terraform and AWS Cloud Development Kit (CDK). To standardize and enforce our compliance and security controls, we maintain a set of internal Terraform and CDK modules to provision resources that handle personally identifiable information (PII). Interestingly, only Terraform pipelines were affected by this issue -- CDK ones running in the same accounts and against the same AWS Organization were completed without any delays. [spoiler alert/] CDK uses CloudFormation under the hood, which doesn't make additional Organizations API calls directly. [/spoiler alert]. This ruled out a general AWS-side outage or account-level throttling and pointed us toward something specific to how Terraform interacts with the Organizations API. This is the story of how we tracked down the root cause -- and why the fix isn't as simple as you'd think. What is aws_organizations_organization? Terraform's aws_organizations_organization data source retrieves information about, guess what, your AWS Organization. On the surface, it maps to the AWS DescribeOrganization API call -- a flat request. No iteration. No pagination. Simple... Or so we thought. The First Clue: Reproducing the Issue The references to the Organizations API mostly c

## Monitoring Android Vitals with the Play Developer Reporting API

DevFeed: [Monitoring Android Vitals with the Play Developer Reporting API](<https://devfeed.tech/articles/monitoring-android-vitals-with-the-play-developer-reporting-api-25945.md>)

Original publisher: [Read original article](<https://medium.com/google-developer-experts/monitoring-android-vitals-with-the-play-developer-reporting-api-85edabb772a9?source=rss-cbfc736ddcd3------2>)

Author: Julien Salvi

Published: 2026-03-19T12:41:51Z

Content type: tutorial

Language: en

Sources: [Stories by Julien Salvi on Medium](<https://devfeed.tech/sources/stories-by-julien-salvi-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [aircall](<https://devfeed.tech/tags/aircall.md>), [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [anr](<https://devfeed.tech/tags/anr.md>), [api](<https://devfeed.tech/tags/api.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [crash](<https://devfeed.tech/tags/crash.md>), [google-play-developer](<https://devfeed.tech/tags/google-play-developer.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [slack](<https://devfeed.tech/tags/slack.md>)

### AI overview

This tutorial explains how Aircall uses the Google Play Developer Reporting API in a Gradle task to retrieve Android Vitals, including ANR and crash metrics, and deliver daily health reporting to Slack. It covers metric-set queries, timeline aggregations, service-account authentication, data modeling, and health thresholds.

### Source excerpt

At Aircall, we built an automated reporting tool that fetches our Android Vitals metrics thanks to the Play Developer Reporting API and delivers a daily health dashboard straight to Slack. All of this powered by a simple Gradle task. Discovering the API The Google Play Developer Reporting API gives programmatic access to the same quality metrics you see in the Google Play Console. It covers the core Android Vitals: ANR rate, crash rate, slow start rate, and stuck background wakelocks, the signals Google uses to determine whether your app meets the bad behavior thresholds. The API is organized around metric sets that you query with a timeline specification. Each metric set returns daily, 7-day, and 28-day user-weighted aggregates, giving you the full picture from short-term regressions to long-term trends. The key advantage over scraping the Console UI is that you can automate the entire flow and integrate it into your existing CI/CD pipeline. You will find the complete API reference in the official documentation. Build with Play VitalsSetting up the dependency We chose to implement this as a Gradle task inside our build-logic module. This keeps the reporting logic close to the project without polluting the app code. First, let's add the dependency: # libs.versions.toml googleApiReporting = "v1beta1-rev20230803-2.0.0" buildLogic-plugin-google-play-developer-reporting = { module = "com.google.apis:google-api-services-playdeveloperreporting", version.ref = "googleApiReporting" } Which can then be added to the build.gradle.kts of your build-logic module: dependencies { // API to get Google Play store vitals metrics implementation(libs.buildLogic.plugin.google.play.developer.reporting) }Authenticating with a Service Account To access the API, you need a Google Cloud Service Account with the Play Developer Reporting scope. We pass the credentials as an environment variable to keep secrets out of the repository. The Reporting client initializes the API with these credentia

## Mutation testing at Mercado Libre: From pilot to everyday guardrail

DevFeed: [Mutation testing at Mercado Libre: From pilot to everyday guardrail](<https://devfeed.tech/articles/mutation-testing-at-mercado-libre-from-pilot-to-everyday-guardrail-22555.md>)

Original publisher: [Read original article](<https://medium.com/mercadolibre-tech/mutation-testing-at-mercado-libre-from-pilot-to-everyday-guardrail-2ffe0a273f0e?source=rss----5011f85401f0---4>)

Author: Luram Archanjo

Published: 2026-01-14T12:19:03Z

Content type: article

Language: en

Sources: [Mercado Libre Tech](<https://devfeed.tech/sources/mercado-libre-tech.md>)

Topics: [mutation-testing](<https://devfeed.tech/topics/mutation-testing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>)

Tags: [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [github](<https://devfeed.tech/tags/github.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [mutation-testing](<https://devfeed.tech/tags/mutation-testing.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [software-quality-testing](<https://devfeed.tech/tags/software-quality-testing.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Mercado Envíos integrated mutation testing into Mercado Libre's Fury pipelines using a multi-stack GitHub Action, delta-first execution focused on modified code, and gradual team-level gates. The article explains how this approach supplements coverage by identifying weak test assertions and aims to improve pull request quality and reduce regressions.

### Source excerpt

Beyond coverage: How we integrated mutation testing into Fury pipelines and turned it into an actionable quality indicator for teams At Mercado Envíos (ME), we saw that high test coverage didn't always prevent regressions -- pull requests (PRs) were green, but we still broke production. In this article, we share how we brought mutation testing into our pipelines on Fury, our internal developer platform (IDP). We used a single multi-stack GitHub Action, a delta-first approach, and gradual team-level gates. We walk through the design decisions, challenges, and lessons learned that helped us turn this technique into an everyday guardrail that improves test effectiveness and PR quality. Introduction: Green PR, still an incident Friday, end of the day. You've got a green PR, pipelines are passing, and coverage looks great. You merge with confidence. On Monday, production goes down because of an edge case no one asserted. Sounds familiar? Same here. Coverage tells us what runs, not whether tests fail where they should. You can have 95-100% line coverage and still let a subtle regression slip -- a slightly wrong if condition, an unexpected default value, a branch with no assertions. That's where mutation testing comes in. Instead of assuming tests are good just because they pass, you intentionally introduce small code changes (mutants) and check whether the test suite kills them. In mutation testing, "killing a mutant" means your test suite fails when run on the mutated code, proving it can detect the injected defect. If mutants survive, you get a concrete indicator of weak assertions exactly in the area you're changing. At Mercado Envíos (ME), we moved from a one-off experiment to making mutation testing part of teams' daily flow. We integrated it into our standard pipelines on Fury, Mercado Libre's internal developer platform. We did it without breaking delivery: a single, multi-stack GitHub Action; delta-first execution focused on modified code; and team-level gates with

## Managing Machine Identities to Reduce Anonymous Computing Risks

DevFeed: [Managing Machine Identities to Reduce Anonymous Computing Risks](<https://devfeed.tech/articles/it-s-finally-time-to-embrace-trusted-computing-29942.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/time-to-embrace-trusted-computing/>)

Author: jason@intellyx.com (Jason Bloomberg)

Published: 2025-02-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [identity and access management](<https://devfeed.tech/topics/identity-and-access-management.md>), [Security](<https://devfeed.tech/topics/security.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Network](<https://devfeed.tech/topics/network.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>)

Tags: [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [identity-and-access](<https://devfeed.tech/tags/identity-and-access.md>), [identity-and-access-management](<https://devfeed.tech/tags/identity-and-access-management.md>), [network](<https://devfeed.tech/tags/network.md>), [security](<https://devfeed.tech/tags/security.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

The article argues that anonymous computing occurs when infrastructure assets use fictitious or shared identities without identifying the human making a request. It presents machine-identity management as a way to reduce security vulnerabilities without obstructing necessary work.

### Source excerpt

It's Finally Time to Embrace Trusted Computing Does your corporate network treat users on VPNs as trusted regardless of who they are? Does your web server connect to its database as a fictitious user with a password in a config file somewhere? Or perhaps the most frightening scenario: did your platform engineer log in as root to configure your CI/CD pipeline toolchain?

## CI CD for OpenHarmony Project -- GitHub Action

DevFeed: [CI CD for OpenHarmony Project -- GitHub Action](<https://devfeed.tech/articles/ci-cd-for-openharmony-project-github-action-24547.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/ci-cd-for-openharmony-project-github-action-8ba7940a3d2d?source=rss----bcd96e620b02---4>)

Author: Payam Zahedi

Published: 2024-12-09T12:05:48Z

Content type: tutorial

Language: en

Sources: [Snapp Mobile - Medium](<https://devfeed.tech/sources/snapp-mobile-medium.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [ark-ts](<https://devfeed.tech/tags/ark-ts.md>), [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [ci-cd-workflows](<https://devfeed.tech/tags/ci-cd-workflows.md>), [github](<https://devfeed.tech/tags/github.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [harmony-os](<https://devfeed.tech/tags/harmony-os.md>), [open-harmony](<https://devfeed.tech/tags/open-harmony.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [testing](<https://devfeed.tech/tags/testing.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

This tutorial explains how to create a GitHub Actions CI/CD workflow for building and verifying an OpenHarmony application. It introduces the roles of DevEco Studio, Hvigor, OHPM, the OpenHarmony Code Linter, and the reusable oh-action for preparing the required SDK and command-line tools.

### Source excerpt

CI CD for OpenHarmony Project -- GitHub Action When developing OpenHarmony, we typically use DevEco Studio to write our code, build the project, test it, and run it on our devices, with DevEco Studio taking care of everything under the hood. However, as engineers, we love to automate repetitive processes, right? This is where CI/CD workflows become incredibly useful. GitHub Actions, in particular, is a popular and highly customizable workflow solution. In this article, we'll explore how to create a workflow on GitHub Actions to build and verify our OpenHarmony application. A Little Context To write our GitHub Action workflow, we first need to understand how DevEco Studio works under the hood. Specifically, what tools does it install, and how are they used? In this article, we won't dive too deep into all OpenHarmony tools and DevEco Studio capabilities. Instead, we'll provide a brief overview to understand the components needed for our workflow. hvigorw Hvigor is a simple build tool, much like Gradle for Android, but designed specifically for OpenHarmony apps. It helps you manage tasks, dependencies, and builds easily. DevEco Studio uses hvigorw to build, test, and run apps on devices. ohpm OHPM (OpenHarmony Package Manager) is akin to npm for JavaScript, but tailored for OpenHarmony applications. It helps facilitate the publishing, installation, and management of dependencies for shared packages. DevEco Studio uses OHPM to manage third-party libraries within OpenHarmony projects. Code Linter OpenHarmony's Code Linter is a tool that checks ArkTS and TypeScript code for best practices and coding standards. It helps developers identify and fix issues during development, ensuring high-quality code. Now that we have a good understanding of the tools involved, the next step is to bring these components together into a cohesive GitHub Action that can automate our workflow. This is where oh-action steps in. GitHub - Snapp-Mobile/oh-action: The oh-action is a GitHub Action t

## 8 tips for securing your CI/CD pipeline with Snyk

DevFeed: [8 tips for securing your CI/CD pipeline with Snyk](<https://devfeed.tech/articles/8-tips-for-securing-your-ci-cd-pipeline-with-snyk-8082.md>)

Original publisher: [Read original article](<https://snyk.io/blog/securing-ci-cd-pipeline-with-snyk/>)

Author: Eric Smalling

Published: 2023-07-20T05:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [snyk](<https://devfeed.tech/topics/snyk.md>), [snyk-open-source](<https://devfeed.tech/topics/snyk-open-source.md>), [Application Security](<https://devfeed.tech/topics/application-security.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>)

Tags: [application-security](<https://devfeed.tech/tags/application-security.md>), [blog](<https://devfeed.tech/tags/blog.md>), [cheat-sheet](<https://devfeed.tech/tags/cheat-sheet.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [devsecops](<https://devfeed.tech/tags/devsecops.md>), [enablement](<https://devfeed.tech/tags/enablement.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk](<https://devfeed.tech/tags/snyk.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>), [snyk-platform](<https://devfeed.tech/tags/snyk-platform.md>), [software-composition-analysis](<https://devfeed.tech/tags/software-composition-analysis.md>)

### AI overview

This cheat sheet presents eight tips for securing CI/CD pipelines with Snyk. It covers dependency and open-source component scanning, vulnerability detection, remediation guidance, and implementation examples for Jenkins and GitHub Actions.

### Source excerpt

In this post, we'll cover using Snyk in your CI/CD pipelines to catch security issues quickly and empower your developers to fix them before they ever get to production.

## Standardize GraphQL schema linting policies with GraphOS

DevFeed: [Standardize GraphQL schema linting policies with GraphOS](<https://devfeed.tech/articles/standardize-graphql-schema-linting-policies-with-graphos-23523.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/standardize-graphql-schema-linting-policies-with-graphos>)

Author: Vivek Ravishankar

Published: 2023-06-15T08:29:00Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphOS](<https://devfeed.tech/topics/graphos.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [API](<https://devfeed.tech/topics/api.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Development](<https://devfeed.tech/topics/development.md>), [consistency](<https://devfeed.tech/topics/consistency.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apis](<https://devfeed.tech/tags/apis.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [cli](<https://devfeed.tech/tags/cli.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [graphos](<https://devfeed.tech/tags/graphos.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [lint](<https://devfeed.tech/tags/lint.md>), [linter](<https://devfeed.tech/tags/linter.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

Apollo GraphOS adds schema linting for GraphQL APIs. The checks validate predefined formatting and naming rules, run automatically when schema changes are published, and can also be run locally or in CI/CD pipelines with the Rover CLI. The feature is available to organizations on GraphOS Enterprise and Serverless plans.

### Source excerpt

When it comes to writing code collaboratively, consistency is everything. APIs are no exception. In fact, APIs are perhaps the most important place to ensure consistency, since they act as a vein for collaboration across nearly every developer in an organization's ecosystem. For GraphQL APIs, the schema is at the heart of all collaboration and consumption, but ensuring consistency in a graph that spans many teams, tools, and workflows is no easy task.

## New Apollo Federation spec compliance tools for GraphQL Server maintainers

DevFeed: [New Apollo Federation spec compliance tools for GraphQL Server maintainers](<https://devfeed.tech/articles/new-apollo-federation-spec-compliance-tools-for-graphql-server-maintainers-23465.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/new-apollo-federation-spec-compliance-tools-for-graphql-server-maintainers>)

Author: Derek Kuc

Published: 2023-01-24T08:09:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [compose](<https://devfeed.tech/tags/compose.md>), [docker](<https://devfeed.tech/tags/docker.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [npm](<https://devfeed.tech/tags/npm.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Apollo introduces local and CI/CD compatibility testing tools for Apollo Federation subgraph libraries. The tools are distributed as an executable NPM script and a GitHub Action, with PM2 or Docker Compose available for managing test processes.

### Source excerpt

Apollo Federation is supported by over 20 different subgraph libraries across 12 different programming languages. Have you ever wondered how we capture those compatibility results? In order to ensure those libraries are compatible with the specification, we have a testing repository that verifies compatibility against their reference implementations.

## Setting Up a CI/CD Pipeline for Power BI Report Source Control

DevFeed: [Setting Up a CI/CD Pipeline for Power BI Report Source Control](<https://devfeed.tech/articles/a-turbulent-journey-through-power-bi-source-control-40832.md>)

Original publisher: [Read original article](<https://mutto.fyi/posts/2022/11/turbulent-journey-power-bi-source-control/>)

Published: 2022-11-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Mutt0-ds Notes](<https://devfeed.tech/sources/mutt0-ds-notes.md>)

Topics: [Azure DevOps](<https://devfeed.tech/topics/azure-devops.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Git](<https://devfeed.tech/topics/git.md>), [active directory](<https://devfeed.tech/topics/active-directory.md>), [JSON](<https://devfeed.tech/topics/json.md>), [API](<https://devfeed.tech/topics/api.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [devops](<https://devfeed.tech/tags/devops.md>), [directory](<https://devfeed.tech/tags/directory.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [git](<https://devfeed.tech/tags/git.md>), [json](<https://devfeed.tech/tags/json.md>), [repository](<https://devfeed.tech/tags/repository.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>)

### AI overview

This article describes setting up a CI/CD pipeline through Azure DevOps to provide rudimentary version control for Power BI reports. Because .pbix files are binary, the pipeline uploads a report to a Power BI Premium workspace, uses the Power BI REST API and Tabular Editor 2 to extract metadata, and pushes the resulting textual representation back to a Git repository.

### Source excerpt

One of the most annoying issues I have when working with Power BI files is that source control is a real pain. Considering that Microsoft...

## Android CI/CD Pipeline Using GitHub Actions and Firebase Test Labs

DevFeed: [Android CI/CD Pipeline Using GitHub Actions and Firebase Test Labs](<https://devfeed.tech/articles/android-ci-cd-pipeline-using-github-actions-and-firebase-test-labs-32351.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2022-02-21-build-a-cicd-pipeline-using-github-actions/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2022-03-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Android](<https://devfeed.tech/topics/android.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-continuous-integration-continuous-delivery-cicd-github-actions-firebase-test-labs](<https://devfeed.tech/tags/android-continuous-integration-continuous-delivery-cicd-github-actions-firebase-test-labs.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial for configuring a CI/CD pipeline for an Android project with GitHub Actions and Firebase. It explains how to run unit, UI, code-quality, and code-smell checks on pushes and pull requests, and how to block merges until required checks pass.

### Source excerpt

As a Software Engineer, knowing how to set up a solid CI/CD Pipeline for your project is a vital skill. Whether you're starting a side project or working on a well established project, having a solid CI/CD pipeline is going to enable you or your team to move faster. The end goal is to protect your branches and ensure only quality code makes it in that passes your status checks.