• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

UI5 / cli / 19737207056
95%

Build:
DEFAULT BRANCH: main
Ran 27 Nov 2025 01:05PM UTC
Jobs 6
Files 186
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Nov 2025 01:04PM UTC coverage: 94.661% (-0.01%) from 94.674%
19737207056

push

github

web-flow
ci: Refactor automated release and publishing workflows with Release Please (#1215)

JIRA: CPOUI5FOUNDATION-1166

## 🔧 Technical Challenges & Solutions

### 1. Circular Peer Dependencies

**Problem:** `@ui5/project` has `peerDependency` on `@ui5/builder`,
while `@ui5/builder` has `devDependency` on `@ui5/project`. The
`node-workspace` plugin detected this cycle:

```
Error: found cycle in dependency graph: @ui5/builder -> @ui5/project -> @ui5/builder
```

**Solution:**
- Configured `node-workspace` plugin with `updatePeerDependencies: true`
- Added automated workflow step that manually updates `@ui5/builder`
peer dependency in `packages/project/package.json`
- Uses `jq` for surgical JSON manipulation to update version range from
`^4.x` to `^5.x`

```yaml
BUILDER_VERSION=$(jq -r '.version' packages/builder/package.json)
jq --tab --arg new_version "^$BUILDER_VERSION" \
  '.peerDependencies."@ui5/builder" = $new_version' \
  packages/project/package.json > tmp.$$.json
```

### 2. Package-Lock Corruption from npm Aliases

**Problem:** The `node-workspace` plugin corrupted `package-lock.json`
by updating npm alias entries in `internal/documentation/package.json`.
This created inconsistent lockfile entries mixing workspace versions
with registry URLs:

```json
"node_modules/@ui5/fs-npm": {
  "name": "@ui5/fs",
  "version": "5.0.0-alpha.0",  // ❌ New workspace version
  "resolved": "https://registry.npmjs.org/@ui5/fs/-/fs-4.0.3.tgz",  // ❌ Old registry URL
  "integrity": "sha512-..."
}
```

**Solution:**
Implemented automated lockfile restoration that:
1. Runs `npm install` to regenerate workspace lockfile entries
2. Selectively restores npm alias entries from `origin/main` using `jq`
3. Preserves workspace updates while keeping npm aliases at stable
registry versions

```bash
# Restore npm alias entries from main branch
git show origin/main:package-lock.json | \
  jq -r '.packages | to_entries[] | 
    select(.key | test("node_modules/@ui5/(builder|cli|fs|l... (continued)

5031 of 5484 branches covered (91.74%)

Branch coverage included in aggregate %.

9329 of 9686 relevant lines covered (96.31%)

4768.97 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
95.59
-2.94% packages/server/lib/middleware/serveIndex.js
Subprojects
ID Flag name Job ID Ran Files Coverage
1 logger 19737207056.1 27 Nov 2025 01:04PM UTC 5
99.47
GitHub Action Run
2 builder 19737207056.2 27 Nov 2025 01:06PM UTC 76
95.01
GitHub Action Run
3 server 19737207056.3 27 Nov 2025 01:05PM UTC 15
93.07
GitHub Action Run
4 project 19737207056.4 27 Nov 2025 01:06PM UTC 50
94.99
GitHub Action Run
5 cli 19737207056.5 27 Nov 2025 01:05PM UTC 22
96.26
GitHub Action Run
6 fs 19737207056.6 27 Nov 2025 01:05PM UTC 18
90.23
GitHub Action Run
Source Files on build 19737207056
  • Tree
  • List 186
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #19737207056
  • 2ff8c59a on github
  • Prev Build on main (#19730946565)
  • Next Build on main (#19743670994)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc