Questions tagged [continuous-integration]

In software engineering, continuous integration (CI) implements the continuous building and automated testing of the full software product on a frequent schedule. At least once a day, often several times a day and sometimes as often as after every check in to the version control system.

Filter by
Sorted by
Tagged with
4 votes
1 answer
116 views

I'm adding Windows Home support to my client application. How can I perform automated testing?

My team and I publish a client app as part of our solution. It includes a CLI but there are other components as well. Currently most of us develop locally on MacOS, and as part of our CI/CD we have a ...
0 votes
1 answer
80 views

What is the correct way to deal with Pull Request updates concerning an interface with a Continuous Integration script: rebase or merge?

I work with other Software Engineers on a web app product. Also, the source code is hosted on GitHub. Recently, there was an introduction of a Continuous Integration procedure enabled by a script ...
0 votes
2 answers
211 views

If "others have modified components since you checked out the system", what would you do?

In Software Engineering by Pressman: The steps in continuous integration are: Check out the mainline system from the version management system into the developer's private workspace. Build the ...
  • 5,365
0 votes
0 answers
67 views

GitLab repo architecture checks: on server or in CI?

I am currently seeking a solution to run sanity tests on my GitLab repos architecture. There are more than 20 repos in a GitLab group. My idea is to create a "Health Check Repo" (HCR) that ...
  • 129
-4 votes
2 answers
101 views

Does Jenkins essentially function like a package manager for your software product?

I'm a relatively new IT Ops guy in a software (web) development company. Recently I deployed a virtual machine on OpenStack, because some developer needs it, and then I installed their application (...
  • 159
2 votes
0 answers
193 views

Is branch-per-release trunk-based development incompatible with semantic versioning?

For the purposes of this question it will be assumed that the conventional commits spec is used as a version driver for semantic versioning. Given a project is in active development. Releases are ...
  • 29
-1 votes
1 answer
93 views

Do you test your CI/CD scripts? [closed]

Is it common to write test for CI/CD scripts? Background: Some CI/CD jobs/scripts have become rather complex over the years (new features, edge cases) and I believe it would help rewriting them with e....
1 vote
0 answers
85 views

How to provide clang-format config for IDE and build system of multiple projects?

We have several C++ projects that use clang-format and clang-tidy and other similar tools. Currently the config files for these tools are stored in each project's Git repository. Now I'm trying to put ...
  • 111
0 votes
3 answers
399 views

Improve CI process by testing against docker image and fail docker build if test fails

Our CI process goes as this cycle (I think it is quite normal), unit test => build docker image => run function test against the image => if test fails remove the failed docker image, figure ...
0 votes
2 answers
511 views

Should integration tests run after updating the feature branch from master?

We have a suite of integration tests that take about 2 hours to complete. Currently our flow is that each feature branch runs the integration tests, and only if the branch is updated from master and ...
0 votes
1 answer
106 views

Azure DevOps Change nuget.config in CI/CD process

I'm currently working on a project which uses azure function apps, we also create a data access layers for each function app which are built as nuget packages and are then published to a private nuget ...
0 votes
2 answers
194 views

How to reset state of exernal services when running Acceptance tests

What are the generic patterns and best practices for resetting state of a database, storage, external service, etc, in Acceptance Tests? I'm struggling with spaghetti, living in acceptance tests. It ...
  • 111
1 vote
2 answers
72 views

How to use release toggles with Acceptance Test Driven Development?

One of the advantages of feature / release toggles is that you can integrate and deploy code without releasing it. But how does that work with ATDD? If I write some tests that are failing, because I'm ...
-1 votes
2 answers
229 views

Nightly build, GitFlow and PR [closed]

My customer decided to have an automatic nightly build based on develop branch. We usually make a feature branch (and if it is necessary we provide a release compiled manually on that branch) and when ...
  • 107
0 votes
1 answer
108 views

How to manage concurrent build & test toolchains in (embedded) software development?

TL;DR: How do you manage the complex development toolchain in different (embedded) projects? In our company we are discussing the toolchain setups in different development teams and how to work ...
  • 109
2 votes
0 answers
79 views

CI/CD artifacts -- should they include runtime?

It seems best practice is to build the final artifact, in full, at the earliest stage. And then the stages that follow (testing, deployment) should use same artifact throughout, to protect against ...
0 votes
2 answers
137 views

Platform that converts Documentation into Unit/Integration Tests? [closed]

I've seen many SO questions around auto-generating unit tests, or documenting unit tests, but I'd like to go the reverse direction. What I'd REALLY like is to have folks (devs, tech writers, etc) ...
  • 127
1 vote
1 answer
191 views

Python Unit Tests Mocking Imports - Removing Dependencies for CI/CD

I have a project written in python that I would like to create unit tests on. This project has a dependency on a database project which is a sort of abstraction layer to data connections. The issue ...
3 votes
1 answer
389 views

Setting up tests and a continuous integration pipeline in a polyrepo environment

In the past I've mainly worked with monorepos, specifically a Vue.js app that was served by a rails backend. Setting up E2E/integration tests in the CI was simple, because all the required parts were ...
0 votes
2 answers
170 views

What is the current definition of continuous integration?

It seems that there are at least two possible definitions of continuous integration: Frequent merging of a codebase to a common codebase (e.g. daily merge to the main branch of a VCS server). ...
-1 votes
1 answer
62 views

Service-specific releases vs Releasing all services on every change

The following applies to a platform/company at an early stage in its life, moving quickly and cheaply with a small engineering team. Imagine a platform with the following components: Cloud ...
  • 207
62 votes
5 answers
14k views

Is the usage of random values in unit testing a good practice? [duplicate]

Having worked in complex solutions that had Unit Tests and Integration Test in the CI/CD pipeline, I recall having a tough time with tests that failed randomly (either due to random values being ...
0 votes
1 answer
73 views

Modernizing a legacy source control / deployment infrastructure

I've got a large, old application with a clunky, extremely manual deployment process (essentially, tribal knowledge combined with random scripts / build jobs scattered across servers). The application ...
1 vote
2 answers
274 views

Integration Testing Stripe Payments - stripe-mock or Stripe's test mode?

I'm building an automated test suite to integration/feature test my organization's Stripe implementation within a GitLab CI pipeline. We're running Laravel 8 and using phpunit for testing. Within this ...
-1 votes
2 answers
647 views

Configuration of a staging environment vs production environment

For our software development process we used to set up 3 environments : integration , QA and master. Recently it was decided to add a new staging environment that shall mirror the production ...
  • 19
6 votes
3 answers
1k views

How to deal with SemVer in a build number based company

My company uses Major.Minor.Patch.Build for our version numbers. When a new release is started, the Major.Minor.Patch part is set. Then as work is done, the build number goes up until a build is ...
  • 4,018
0 votes
1 answer
223 views

How to make the tests run faster?

I develop my current project with a very strict approach to TDD and try to make it as close to Kent Beck's TDD By Example book. So right now I've got code coverage of 93%, with 1290 unit test cases, ...
1 vote
2 answers
171 views

Automating performance tests for python code in a CI

My apologies in advance for a question that might seem trivial - I am a mostly solo dev in academic environment and a lot of industry best practices don't necessarily make it here. Several of my ...
1 vote
3 answers
809 views

Clarifying the steps in a CI/CD, but namely if if unit testing should be done building a Docker image or before

I'm building at a Build and Deployment pipeline and looking for clarification on a couple points. In addition, I'm trying to implement Trunk Based Development with short-lived branches. The process I ...
  • 121
3 votes
1 answer
247 views

Efficiently updating a common repository used by multiple other repositories

Suppose we have a project consisting of many microservices, all of which use a common library. The common library has been put into a separate git repository, and each microservice is also in its own ...
  • 1,223
-2 votes
3 answers
119 views

Nightly Builds Test against real database

Is it a good practice to hit actual database for Integrations test(Not prod but pre prod DB) for Jenkins Night builds? The reason I am asking this is because our DAO uses procedures to perform simple ...
2 votes
1 answer
482 views

Which git workflow for micro-services and testing

I would like to know what best practices exists out there with regard to micro services, CI/CD, testing and Git workflow, especially the way of working given the constraints that a) nothing should ...
  • 137
0 votes
2 answers
98 views

How to address a common problem with automated testing on remote machine

CI/CD options such as bitbucket pipelines and github actions make use of virtual machines called runners. Changes in source code trigger the runners, which in turn trigger a set of commands. The ...
  • 213
6 votes
2 answers
3k views

Should Docker be used in a Windows Production environment?

As my team's microservice architecture grows, as does the pain of manually deploying each individual service in the application. I've played with Docker before and am now learning to leverage the ...
1 vote
3 answers
201 views

How to create a release while implementing CI?

It may be a pretty simple question, but if I understand the concepts correctly, I can't really grasp how are you supposed to create releases with CI. Basically, if you merge unfinished branches into ...
-3 votes
3 answers
211 views

How do you test that an API wasn't broken by a change?

I have an infrastructure package that multiple projects depend upon. This package is supposed to be a stable API shared by those projects. I want to know if a change made in the package has broken ...
  • 2,916
0 votes
2 answers
94 views

Is this Git flow suitable to manage merges and deployments?

We have prepared a Git flow with teammates, and I wonder if it is sustainable. We want to keep committing on both dev and feature branches. Also, we we want to avoid facing with conflicts during ...
1 vote
0 answers
199 views

Build & deploy individual apps from a monorepo

My Proposed Monorepo Architecture This layout is what I've come up with from reading through tons of articles and being convinced that Nx suits many of our needs where I work. The layout works fine ...
  • 111
-1 votes
1 answer
603 views

To lint on the client, or the server?

I am debating two strategies for setting up a linter for my team's github repository. Is strategy #1 standard practice, or not? #1 - Set up a pre-commit hook that runs the linter #2 - My team will ...
  • 11
1 vote
1 answer
2k views

What's the best practice to use semantic-release to update version number in a node.js or frontend project

I'm using semantic-release to auto find out the next version based on the git commit. It's working fine with creating new version, upload to npm and create new git tag. And semantic-release is ...
  • 139
1 vote
2 answers
152 views

Is there a pattern for unit/integration testing where tests that are higher level are intended to act as "gates" for other more specific tests?

The motivating concept here is that the fewer tests you have, the faster your test suite runs. This kinda feels like I'm basically describing smoke tests, but I think smoke tests and other tests are ...
  • 509
3 votes
2 answers
2k views

What's the best way to get GitLab Docker runners and Python tox to work together?

I'm trying to get a better understanding of how tox and GitLab CI (with docker runners) would work together, as they seem to have a bit of overlap in what each does. I think I may be missing something ...
57 votes
11 answers
14k views

If two individual branches pass unit tests, once they're merged, is the result also guaranteed to pass unit tests?

Suppose we have two branches A and B which have been forked from master. Both branches A and B make some changes and implement some unit tests. They pass all current and new tests, then are merged ...
  • 711
-1 votes
1 answer
82 views

Are DB integration tests relevant to test DB schema (and worth being impl.) when being run in a CI pipeline? If not when are they?

This is something that is puzzling me a bit. I am seeing some people who like to implement DB-related integration tests (in the case of BLOBAs) to test the insertion with a Legacy DB in a CI pipeline, ...
-2 votes
1 answer
135 views

First time teamwork (PHP): version control and continuous integration?

A colleague and I are going to be working together on a single project for the first time. This raises a few technical questions for me. Like how. I think a version control system is a must now, if it ...
2 votes
1 answer
59 views

Single Build Command / Continuous Integration

I was reading the Continuous Integration by Martin Fowler article yesterday, the article is from 2006 but I think it is still very applicable today, the statement around a single command stuck in my ...
2 votes
1 answer
461 views

Should a large number of system tests be part of the build?

I believe extensive automated unit tests should be part of the build. However the testing pyramid suggests that there should be a much smaller number of system tests. Should an automatic build include ...
  • 155
1 vote
2 answers
1k views

What is the relationship between continuous integration and git hooks?

I'm trying to get into the habit of making sure that each master commit to a repository I work on does not break any existent tests. In my current flawed workflow, there are some intermediate commits ...
1 vote
1 answer
691 views

Continuous Integration practices for forked repository

We have an on-premises BitBucket server with a git repo for an embedded device. We use a multi-branch pipeline in Jenkins to: Build and run tests Build the firmware (and a little supporting PC tool) (...
-4 votes
1 answer
711 views

Best practice for organizing build products of dependencies and project code in your repo source tree?

I've checked quite a few related questions on source tree organization, but couldn't find the answer for my exact need: How should I organize my source tree? What's the best structure for a ...
  • 95

1
2 3 4 5
8