# Continuous integration

Continuous integration is a software development practice in which code changes are frequently merged into a shared repository and automatically built and tested.

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

## Google joins the OpenROAD Initiative as principal member to accelerate open source silicon innovation

DevFeed: [Google joins the OpenROAD Initiative as principal member to accelerate open source silicon innovation](<https://devfeed.tech/articles/google-joins-the-openroad-initiative-as-principal-member-to-accelerate-open-source-silicon-innovation-41367.md>)

Original publisher: [Read original article](<http://opensource.googleblog.com/2026/08/%20google-joins-the-openroad-initiative-as-principal-member-to-accelerate-open-source-silicon-innovation.html>)

Author: Google Open Source (noreply@blogger.com)

Published: 2026-08-11T18:30:00Z

Content type: release

Language: en

Sources: [Google Open Source Blog](<https://devfeed.tech/sources/google-open-source-blog.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Chip design](<https://devfeed.tech/topics/chip-design.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>)

Tags: [chip-design](<https://devfeed.tech/tags/chip-design.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [eda](<https://devfeed.tech/tags/eda.md>), [google](<https://devfeed.tech/tags/google.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openroad](<https://devfeed.tech/tags/openroad.md>), [semiconductors](<https://devfeed.tech/tags/semiconductors.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

Google has joined the OpenROAD Initiative as a principal member and appointed Aaron Cunningham to its Governing Board. The partnership supports OpenROAD's open-source electronic design automation ecosystem through governance, ecosystem growth, workforce development, and technical improvements.

### Source excerpt

by Ethan Mahintorabi & Aaron Cunningham, Hardware Toolchains Team Google is committed to advancing open source silicon innovation. We are excited to share that we have formally joined the OpenROAD Initiative (ORI), Inc. as a principal member. ORI is a nonprofit public benefit corporation dedicated to the open source electronic design automation (EDA) ecosystem. As part of this commitment, Aaron Cunningham has been appointed to the ORI Governing Board to represent Google and help drive the foundation's strategic direction, financial sustainability, and technical stewardship. Driving long-term open source sustainability The OpenROAD Initiative's mission is to advance and sustain the open source EDA ecosystem by fostering collaborative innovation across research, education, and industry--transforming ideas into silicon. Google's membership aligns directly with ORI's multi-year sustainability goals, supported by the US National Science Foundation's (NSF) Pathways to Enable Open-Source Ecosystems (POSE) program. With Google's participation and membership commitment, ORI will continue to strengthen, grow, and sustain its open source ecosystem through key vectors: Neutral Stewardship: Fostering transparent governance where no single company has outsized control over the code, ensuring the project remains inspectable, accessible, and community-driven. Ecosystem Growth: Supporting open and reproducible silicon research, developing robust design flows, and hosting global design contests. Workforce Development: Supporting global silicon skilling initiatives by expanding open source chip design curricula and collaborating with academic institutions and industrial training networks. Technical Strengthening: Enhancing continuous integration and deployment (CI/CD) pipelines, expanding PDK enablement, and improving user experience. Leadership perspectives "The OpenROAD Initiative is built on the vision of making chip design open and accessible to all--building a collaborative ecosyst

## 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

## The Electron browser is being deprecated in Cypress

DevFeed: [The Electron browser is being deprecated in Cypress](<https://devfeed.tech/articles/the-electron-browser-is-being-deprecated-in-cypress-12615.md>)

Original publisher: [Read original article](<https://www.cypress.io/blog/the-electron-browser-is-being-deprecated-in-cypress/>)

Published: 2026-07-10T15:15:58Z

Content type: article

Language: en

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

Topics: [Cypress](<https://devfeed.tech/topics/cypress.md>), [Electron](<https://devfeed.tech/topics/electron.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Chromium](<https://devfeed.tech/topics/chromium.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [edge](<https://devfeed.tech/tags/edge.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Cypress is deprecating its bundled Electron browser starting with Cypress 16.0.0 and plans to remove it in a future major version. The article explains that tests can produce inconsistent results in Electron compared with users' installed browsers, and recommends moving local and CI runs to installed browsers such as Chrome for Testing, Chrome, Firefox, or Edge.

### Source excerpt

We're deprecating the Electron browser in Cypress, starting in Cypress 16.0.0, with removal in a future major version. After years of seeing inconsistent results between Electron and the browsers people actually use, we are standardizing on installed browsers for more reliable test results.

## A miniguide to AI Product Management

DevFeed: [A miniguide to AI Product Management](<https://devfeed.tech/articles/a-miniguide-to-ai-product-management-38836.md>)

Original publisher: [Read original article](<https://mettlesome.substack.com/p/a-miniguide-to-ai-product-management>)

Author: Raphaël Hoogvliets

Published: 2024-02-07T09:23:52Z

Content type: tutorial

Language: en

Sources: [Raphaël Hoogvliets](<https://devfeed.tech/sources/raphael-hoogvliets.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Product Management](<https://devfeed.tech/topics/product-management.md>), [MLOps](<https://devfeed.tech/topics/mlops.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Data Quality](<https://devfeed.tech/topics/data-quality.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [data-quality](<https://devfeed.tech/tags/data-quality.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [management](<https://devfeed.tech/tags/management.md>), [mlops](<https://devfeed.tech/tags/mlops.md>), [product-management](<https://devfeed.tech/tags/product-management.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A practical guide for aspiring AI product managers covering MLOps processes, business alignment, requirements gathering, iterative development, governance, data privacy, and data quality.

### Source excerpt

Navigate the challenges of tech innovation in a multi-stakeholder landscape

## Evolution of Developer Productivity at Square - Part Two

DevFeed: [Evolution of Developer Productivity at Square - Part Two](<https://devfeed.tech/articles/evolution-of-developer-productivity-at-square-part-two-15643.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-two>)

Author: Korhan Bircan

Published: 2024-01-29T09:00:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [Android](<https://devfeed.tech/topics/android.md>), [remote-development](<https://devfeed.tech/topics/remote-development.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [ide](<https://devfeed.tech/topics/ide.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ide](<https://devfeed.tech/tags/ide.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [remote-development](<https://devfeed.tech/tags/remote-development.md>), [velocity](<https://devfeed.tech/tags/velocity.md>)

### AI overview

Square describes efforts to improve developer productivity and development velocity by reducing build, installation, IDE synchronization, and continuous integration times. The article reports development apps, remote Android development environments, configuration caching, CI shard skipping, emulator optimization, Gradle changes, and modularization work.

### Source excerpt

Accelerating development velocity

## Schema Checks: Introducing the New GraphQL CI Tool In Apollo Studio

DevFeed: [Schema Checks: Introducing the New GraphQL CI Tool In Apollo Studio](<https://devfeed.tech/articles/schema-checks-introducing-the-new-graphql-ci-tool-in-apollo-studio-23428.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/introducing-the-new-graphql-ci-in-apollo-studio>)

Author: Caydie Tran

Published: 2020-10-01T16:44:29Z

Content type: release

Language: en

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

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [ci](<https://devfeed.tech/tags/ci.md>), [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [release](<https://devfeed.tech/tags/release.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

Apollo introduces redesigned GraphQL schema checks in Apollo Studio. The Apollo CLI can check schema changes against real production traffic for backward compatibility, with improved visibility, overrides, user experience, and centralized configuration.

### Source excerpt

A Better Way to do CI For GraphQL When deploying code, you want to be sure that nothing will blow up when things go live. To prevent downtime, it's a good practice to use CI (continuous integration) to run tests, checks, and ensure your app is fully ready to hit production. If you're running GraphQL in production, the last thing you want is a schema change to break things for your users.

## Living on the Edge of Rails

DevFeed: [Living on the Edge of Rails](<https://devfeed.tech/articles/living-on-the-edge-of-rails-1471.md>)

Original publisher: [Read original article](<https://shopify.engineering/living-on-the-edge-of-rails>)

Author: Edouard CHIN

Published: 2019-08-21T18:39:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Bot](<https://devfeed.tech/topics/bot.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [ci](<https://devfeed.tech/tags/ci.md>), [edge](<https://devfeed.tech/tags/edge.md>), [framework](<https://devfeed.tech/tags/framework.md>), [production](<https://devfeed.tech/tags/production.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [shopify](<https://devfeed.tech/tags/shopify.md>)

### AI overview

Shopify describes running the latest revision of Rails in production and continuously integrating upstream changes into its Core monolith. This approach reduces upgrade effort, exposes edge cases through a large CI test suite, and encourages contributions to Rails and related projects. A bot named Solid Track automates weekly Rails updates.

### Source excerpt

Shopify's Core monolith has been running the latest revision of the Rails framework in production since Feb 2019.

## Continuous Integration of Vanilla C Programs for Intel, ARM, and MIPS Architecture

DevFeed: [Continuous Integration of Vanilla C Programs for Intel, ARM, and MIPS Architecture](<https://devfeed.tech/articles/continuous-integration-of-vanilla-c-programs-for-intel-arm-and-mips-architecture-27444.md>)

Original publisher: [Read original article](<https://ariya.io/2019/07/continuous-integration-of-vanilla-c-programs-for-intel-arm-and-mips-architecture/>)

Published: 2019-07-22T22:33:34Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [C](<https://devfeed.tech/topics/c.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [architectures](<https://devfeed.tech/tags/architectures.md>), [azure](<https://devfeed.tech/tags/azure.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [free](<https://devfeed.tech/tags/free.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This tutorial demonstrates continuous integration for a small ANSI C/C90 program across multiple CPU architectures, operating systems, and C/C++ compilers. It uses Azure Pipelines with YAML jobs for supported architecture, operating-system, and compiler combinations, and describes native builds, compiler installation, and executable verification.

### Source excerpt

Developing cross-platform applications presents a major challenge:, how to ensure that every commit does not break some combinations of operating systems and CPU architectures. Fortunately, thanks an array of online services and open-source tools, this challenge becomes easier to tackle.

## Validating OAS 3 specification in your CI build

DevFeed: [Validating OAS 3 specification in your CI build](<https://devfeed.tech/articles/validating-oas-3-specification-in-your-ci-build-21503.md>)

Original publisher: [Read original article](<https://mirocupak.com/validating-oas-3-specification-in-your-ci-build/>)

Published: 2019-02-15T17:29:41Z

Content type: tutorial

Language: en

Sources: [Miro Cupak](<https://devfeed.tech/sources/miro-cupak.md>)

Topics: [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Swagger](<https://devfeed.tech/topics/swagger.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [github](<https://devfeed.tech/tags/github.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [specifications](<https://devfeed.tech/tags/specifications.md>), [swagger](<https://devfeed.tech/tags/swagger.md>), [swagger-validator-badge](<https://devfeed.tech/tags/swagger-validator-badge.md>), [testing](<https://devfeed.tech/tags/testing.md>), [travis](<https://devfeed.tech/tags/travis.md>), [travis-ci](<https://devfeed.tech/tags/travis-ci.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This tutorial explains how to validate an OpenAPI 3 specification on every pull request as part of continuous integration. It uses the Swagger Validator Badge tool in Travis CI, building version 2.0.0 locally because hosted support for OpenAPI 3 was incomplete at the time of writing.

### Source excerpt

As part of my work on standards under GA4GH, I frequently deal with API specifications, most often written in OpenAPI 3 (OAS 3). The setup is always similar - there's a public GitHub repository containing an OAS 3 YAML file and a few common auxiliary files (.gitignore, LICENSE, CONTRIBUTING.md, and README.md). Reference implementations of...

## Announcing new versions of our client SDKs

DevFeed: [Announcing new versions of our client SDKs](<https://devfeed.tech/articles/announcing-new-versions-of-our-client-sdks-15512.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/announcing-our-new-versions-of-our-client-sdks>)

Author: Tristan Sokol

Published: 2017-04-28T22:18:28Z

Content type: release

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [SDK](<https://devfeed.tech/topics/sdk.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Slack](<https://devfeed.tech/topics/slack.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [ci](<https://devfeed.tech/tags/ci.md>), [developers](<https://devfeed.tech/tags/developers.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [maven](<https://devfeed.tech/tags/maven.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [php](<https://devfeed.tech/tags/php.md>), [python](<https://devfeed.tech/tags/python.md>), [request](<https://devfeed.tech/tags/request.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [slack](<https://devfeed.tech/tags/slack.md>), [travis-ci](<https://devfeed.tech/tags/travis-ci.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Square announces updated first-party client SDKs, a new Slack community for developer feedback, and its first Java SDK. The SDKs are generated from the OpenAPI Specification and support PHP, Python, Ruby, C#, and Java, with expanded endpoint coverage and revised authorization and API naming.

### Source excerpt

We are releasing a big update to our first-party SDKs, as well as a new Slack community for developers!

## Android Makers FR recap

DevFeed: [Android Makers FR recap](<https://devfeed.tech/articles/android-makers-fr-recap-28656.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2017/04/11/androidmakers17/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2017-04-11T00:00:00Z

Content type: article

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Development](<https://devfeed.tech/topics/development.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [React](<https://devfeed.tech/topics/react.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [androidmakers](<https://devfeed.tech/tags/androidmakers.md>), [blogs](<https://devfeed.tech/tags/blogs.md>), [conference](<https://devfeed.tech/tags/conference.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [droidcon](<https://devfeed.tech/tags/droidcon.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [react](<https://devfeed.tech/tags/react.md>), [recap](<https://devfeed.tech/tags/recap.md>)

### AI overview

A recap of Android Makers FR, a conference that followed the organizers' move from Droidcon Paris to a new format. The article covers themes and highlights including Android app quality, launch performance, engineering practices, continuous integration, Kotlin, React Native, Android Things, and collected conference slides.

### Source excerpt

After organizing Droidcon Paris for several year, the organizers decided to move on and experiment with a new format. This didn't just result in a well organized conference, but also in a fresh new vibe whilst still feeling familiar.

## Best Practices and Common Mistakes with Travis CI

DevFeed: [Best Practices and Common Mistakes with Travis CI](<https://devfeed.tech/articles/best-practices-and-common-mistakes-with-travis-ci-28622.md>)

Original publisher: [Read original article](<https://eng.localytics.com/best-practices-and-common-mistakes-with-travis-ci/>)

Author: Kevin Deisz

Published: 2017-01-10T13:46:39Z

Content type: tutorial

Language: en

Sources: [Localytics](<https://devfeed.tech/sources/localytics.md>)

Topics: [Travis CI](<https://devfeed.tech/topics/travis-ci.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [github](<https://devfeed.tech/tags/github.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [speed](<https://devfeed.tech/tags/speed.md>), [testing](<https://devfeed.tech/tags/testing.md>), [travis-ci](<https://devfeed.tech/tags/travis-ci.md>)

### AI overview

This article presents five internal best practices for using Travis CI, focusing on continuous integration, efficient testing, and reducing build time. It explains how Travis CI integrates with GitHub and supports configurable build environments, build matrices, and test parallelism.

### Source excerpt

What is Travis At Localytics, we've worked hard to ensure that all of our services are built and deployed using our own internal best practices. One of those core best practices is that the service in question is using continuous integration (CI). CI greatly reduces the amount of

## Continuous Delivery - Automating the Release Process

DevFeed: [Continuous Delivery - Automating the Release Process](<https://devfeed.tech/articles/continuous-delivery-automating-the-release-process-24950.md>)

Original publisher: [Read original article](<https://codeahoy.com/2016/06/18/continuous-delivery-automating-the-release-process/>)

Author: umer

Published: 2016-06-18T00:00:00Z

Content type: article

Language: en

Sources: [Code Ahoy - Articles](<https://devfeed.tech/sources/code-ahoy-articles.md>)

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

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [ci](<https://devfeed.tech/tags/ci.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [release](<https://devfeed.tech/tags/release.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

The article explains how manual release processes can be slow, error-prone, and stressful, then introduces Continuous Delivery as an approach for automating releases. It describes production-like environments, extensive automated testing, fast developer feedback, and Continuous Integration as a prerequisite.

### Source excerpt

For many software developers, release days are stressful events. There's always some risk that things might go wrong in the process or that a bug would surface in production. At my previous company, we had a manual release process that was very human intensive; hence, error prone. On release days, DevOps would load binaries on a staging environment and perform user acceptance tests (UAT) manually. If the tests were successful, the software was copied to production servers and verified with smoke tests and occasionally, a trimmed down version of the UAT was run again. Here are the common problems we faced: 2 out 3 times when we had to roll back a release because of an issue, it was due to a configuration mismatch between staging and production environments. The release process was slow and it took a long time to put new features in the hands of our users. It wasn't uncommon for the release process to take days or sometimes even weeks. The slow release process and the manual UAT had another side-effect: the developers didn't get timely feedback. By the time feedback arrived, they were often in the middle of another feature. This incurred additional overhead because their memories were no longer fresh and on rare occasions, the error got re-introduced due to mix-up between branches. In short, manual and ad-hoc release processes are suboptimal and the release day is fraught with stress. In our case, it was tolerable until releases became more frequent and the team grew. To improve and automate the release process, there's a software engineering approach know as Continuous Delivery (CD). Continuous delivery makes it possible to release new features quickly and reliably. It provides fast feedback to developers. The software is built in a way where it can be automatically and safely released to production at any time. This is ensured by delivering every change to a production-like environment and running extensive automated tests on it. According to Martin Fowler, you are

## Lint your shell scripts

DevFeed: [Lint your shell scripts](<https://devfeed.tech/articles/lint-your-shell-scripts-37802.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/lint-shell-scripts/>)

Author: Carlos Alexandro Becker

Published: 2014-12-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Bash](<https://devfeed.tech/topics/bash.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [shell](<https://devfeed.tech/tags/shell.md>), [zsh](<https://devfeed.tech/tags/zsh.md>)

### AI overview

The article discusses improving shell-script quality with ShellCheck, a Haskell executable that lints Bash, Zsh, and other shell scripts. It explains how to integrate ShellCheck into continuous integration with the shell-travis-build project and Travis CI, including use as a Git submodule.

### Source excerpt

I will start this by quoting the bashstyle's readme:

## A Modern CI Server for Android

DevFeed: [A Modern CI Server for Android](<https://devfeed.tech/articles/a-modern-ci-server-for-android-30570.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2014/07/a-modern-ci-server-for-android/>)

Published: 2014-07-02T07:00:00Z

Content type: opinion

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Android](<https://devfeed.tech/topics/android.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [ci](<https://devfeed.tech/tags/ci.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [opinion](<https://devfeed.tech/tags/opinion.md>)

### AI overview

A freelance Android developer explains why continuous integration servers improve build reliability, test feedback, and build standardization. The article discusses shortcomings the author sees in Jenkins, including web-only configuration and limited build isolation, and describes the search for a modern, open-source CI server with Android support.

### Source excerpt

As a freelance Android developer, I've gotten the opportunity to work with many different client environments when it comes to building and releasing Android (and other) apps. One of the things that I've learned over the years is the importance of a good build server. Why CI? Continuous Integration servers, or CI servers, are designed to checkout your code after each push and build your project, including any tests you might have. This allows you to be notified immediately if and when you commit code that doesn't compile or fails tests. Especially when working in teams, this can offer increased reliability and peace of mind.

## Writing your own Karma adapter

DevFeed: [Writing your own Karma adapter](<https://devfeed.tech/articles/writing-your-own-karma-adapter-2182.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//writing-your-own-karma-adapter>)

Published: 2013-09-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [ci](<https://devfeed.tech/tags/ci.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mobile-web](<https://devfeed.tech/tags/mobile-web.md>), [testing](<https://devfeed.tech/tags/testing.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

This tutorial explains how to write a custom Karma adapter for the Tyrtle JavaScript unit testing framework. It covers connecting test results and completion status to the Karma API, creating a renderer or reporter, configuring the test files and runner, and handling Karma's browser-serving and caching behavior, including use with an AMD loader.

### Source excerpt

Background When we started to work on the new version of our mobile web app, we knew we wanted to run unit tests on a wide variety of...

## Objective-C on Travis-CI

DevFeed: [Objective-C on Travis-CI](<https://devfeed.tech/articles/objective-c-on-travis-ci-25388.md>)

Original publisher: [Read original article](<https://smileykeith.com/2013/04/11/objective-c-on-travis-ci/>)

Author: Keith Smiley

Published: 2013-04-11T22:58:00Z

Content type: tutorial

Language: en

Sources: [Keith Smiley](<https://devfeed.tech/sources/keith-smiley.md>)

Topics: [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [ci](<https://devfeed.tech/tags/ci.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [submodules](<https://devfeed.tech/tags/submodules.md>), [testing](<https://devfeed.tech/tags/testing.md>), [travis](<https://devfeed.tech/tags/travis.md>), [travis-ci](<https://devfeed.tech/tags/travis-ci.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A practical guide to configuring Travis CI for Objective-C projects targeting OS X and iOS. It covers repository setup, the .travis.yml configuration file, Xcode shared schemes and test targets, dependency handling, and additional scripts for projects using CocoaPods or submodules.

### Source excerpt

Recently Travis added support for Objective-C and there for OS X and iOS projects for continuous integration testing. I gather that people have previously done this with self-hosted dedicated Jenkins machines but since Apple is so aggressive about dropping support for previous versions of the OS it seems like a pain to have to replace your build server every few years. Enter Travis, a great hosted continuous integration server that hosts a huge amount of open source projects. I figured with this new support I could host some of my smaller libraries just to set how well it worked. The initial setup process was a bit tedious but I eventually got it to work. Assumtions: You have a test framework already integrated with your project (I like Specta/Expecta) You have your project on Github in a public repository. Travis offers a pro account if you'd rather Steps Create a .travis.yml file in the root of your repository (leading dot is intentional). For many projects a file may just look like: language: objective-c By default Travis runs this script for Objective-C projects I was informed on Twitter that the current script that runs Objective-C projects is actually located here. It was originally created by Justin Spahr-Summers here. This script seems to run my projects without any issue, they just occasionally require more initial setup (we'll get to that). Enable your repository in Travis' settings. From your Travis profile page (after signing in with Github) you should see a list of your repositories, you may have to press 'Sync now', where you can switch on the repository you're planning on adding. Configure your project within Xcode. As I assumed above you already have a test target setup. You do have to do a few things in Xcode to make everything work correctly. Go to 'Manage Schemes' in Xcode. Check the 'Shared' box for the scheme that needs to be run. Click 'Edit...' in the bottom left and go to your build action. On the row of your Tests target check the box in the '

## iOS Integration Testing, Part 2

DevFeed: [iOS Integration Testing, Part 2](<https://devfeed.tech/articles/ios-integration-testing-part-2-15726.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/ios-integration-testing-part-2>)

Author: Square Engineering

Published: 2011-11-04T16:00:00Z

Content type: release

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [Git](<https://devfeed.tech/topics/git.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [RSS](<https://devfeed.tech/topics/rss.md>)

Tags: [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [git](<https://devfeed.tech/tags/git.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rss](<https://devfeed.tech/tags/rss.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article announces Zapp, an open-source continuous integration server for running KIF iOS integration tests on each commit. It describes its setup, Xcode requirement, Jenkins-compatible RSS output, repository polling, build queuing, and test-result status.

### Source excerpt

A continuous integration server for running your tests on every commit.