adobe / adobe/aem-project-archetype

Usage of 'npm ci' for Build Pipelines

Open
#827 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
596
Forks
431
Avg merge
10d 6h
Merged PRs (30d)
1

Description

### Expected Behaviour

Local build always also corresponds to CI/CD build using 'npm ci'

See for more information:
- https://docs.npmjs.com/cli/v7/commands/npm-ci/
- https://stackoverflow.com/questions/52499617/what-is-the-difference-between-npm-install-and-npm-ci

### Actual Behaviour

Because of the overarching use of npm install, it is not impossible that the local build differs from the build in the pipeline, due to dependency updates.

### Reproduce Scenario (including but not limited to)

#### Steps to Reproduce

#### Platform and Version

Archetype 31 and previous

#### Sample Code that illustrates the problem

see: https://github.com/eirslett/frontend-maven-plugin#running-npm
Using the frontend-maven-plugin used in the archetype, it is possible to customize the arguments via the plugin configuration (install -> ci).

#### Logs taken while reproducing problem

Contributor guide

Open the contributing guide

Research direction

Start at the frontend-maven-plugin configuration used by the archetype, where the npm command and arguments can be customized. Check how the generated build pipeline invokes npm and compare it with the requested ci behavior. Done means the pipeline consistently uses npm ci so dependency installation matches the local build expectations.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.