Skip to content

Commit 363006f

Browse files
committed
Merge remote-tracking branch 'origin/main' into eslint9
* origin/main: (243 commits) chore: apply latest changesets fix(ui5 library inquirer): 32726 versions sapui5 distribution metadata (#3666) chore: apply latest changesets fix: Missing build script for ADP onPremise projects leads to error during deployment (#3695) chore: apply latest changesets fix(ui5-proxy-middleware): support pathRewrite for UI5 resources (#3669) chore: apply latest changesets fix: Wrong navigation between steps in FLP Configuration generator for ADP (#3691) Update Icons for Page and Building Block (#3690) chore: apply latest changesets fix: "lrep" property is not added when the deploy config is created from within the ADP Generator (#3687) chore: apply latest changesets feat(proxy-middleware): http-proxy-middleware v3 migration (#3032) chore: apply latest changesets fix(ui-service-gen): escape information message (#3681) Project modules update 30.09.2025 (4843) (#3684) chore: apply latest changesets feat: use schema approach for input parameters in functionality details (#3673) chore: apply latest changesets Remove button group configuration from Rich Text Editor template for initial version (#3678) ...
2 parents 8d9919a + c196723 commit 363006f

File tree

3,403 files changed

+659275
-10350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,403 files changed

+659275
-10350
lines changed

.github/CODEOWNERS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@
111111
# Module: jest-environment-ui5
112112
/packages/jest-environment-ui5/ @SAP/ux-tools-ui5-jest
113113

114+
# Module: ux-tools-control-property-editor
115+
/tests/integration/adaptation-editor/ @SAP/ux-tools-control-property-editor
116+
117+
# Module: odata-service-inquirer
118+
/packages/odata-service-inquirer/ @SAP/ux-tools-fiori-app-sub-generator
119+
120+
# Module: fiori-app-sub-generator
121+
/packages/fiori-app-sub-generator/ @SAP/ux-tools-fiori-app-sub-generator
122+
114123
# Admin
115124
/.github/ @SAP/ux-tools-admin
116125
/.LICENSES/ @SAP/ux-tools-admin
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
name: Integration Tests
2+
3+
on:
4+
workflow_dispatch:
5+
jobs:
6+
ui5-versions:
7+
runs-on: ubuntu-latest
8+
timeout-minutes: 5
9+
outputs:
10+
ui5_versions: ${{ steps.output-ui5-versions.outputs.ui5_versions }}
11+
steps:
12+
- name: Read UI5 versions from cache
13+
uses: actions/cache/restore@v4
14+
with:
15+
path: |
16+
tests/integration/adaptation-editor/versions.json
17+
key: ui5-versions
18+
restore-keys: ui5-versions-
19+
- name: Output UI5 versions
20+
id: output-ui5-versions
21+
run: |
22+
cat tests/integration/adaptation-editor/versions.json
23+
echo "ui5_versions=$(cat tests/integration/adaptation-editor/versions.json)" >> $GITHUB_OUTPUT
24+
25+
playwright-tests:
26+
# if: github.repository == 'SAP/open-ux-tools' && github.event_name == 'push' && github.ref == 'refs/heads/main'
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
ui5-version: ${{ fromJson(needs.ui5-versions.outputs.ui5_versions) }}
31+
runs-on: ubuntu-latest
32+
needs: ui5-versions
33+
timeout-minutes: 30
34+
steps:
35+
- name: Checkout code repository
36+
uses: actions/checkout@v4
37+
with:
38+
fetch-depth: 0
39+
- name: Setup pnpm
40+
uses: pnpm/action-setup@v4
41+
with:
42+
run_install: true
43+
- name: Cache pnpm modules
44+
uses: actions/cache@v4
45+
env:
46+
cache-name: cache-pnpm-modules
47+
with:
48+
path: ~/.pnpm-store
49+
key: ubuntu-latest-build-${{ env.cache-name }}-20.x-${{ hashFiles('**/pnpm-lock.yaml') }}
50+
restore-keys: |
51+
ubuntu-latest-build-build-${{ env.cache-name }}-20.x-
52+
- name: Use Node.js 20.x
53+
uses: actions/setup-node@v4
54+
with:
55+
node-version: 20.x
56+
- name: Install pnpm modules
57+
run: pnpm install
58+
- name: Run build
59+
run: pnpm run build
60+
env:
61+
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
62+
- name: Cache playwright browsers
63+
id: cache-playwright-browsers
64+
uses: actions/cache@v4
65+
with:
66+
path: |
67+
~/.cache/ms-playwright
68+
key: playwright-browsers-os-ubuntu-latest-node-version-20.x
69+
- name: Install playwright chrome browsers
70+
if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
71+
run: npx playwright install chrome
72+
- name: Read UI5 versions from cache
73+
uses: actions/cache/restore@v4
74+
with:
75+
path: |
76+
tests/integration/adaptation-editor/versions.json
77+
key: ui5-versions-
78+
restore-keys: ui5-versions
79+
- name: Run playwright tests
80+
run: cd tests/integration/adaptation-editor && pnpm exec playwright test --project=${{ matrix.ui5-version }} --reporter=blob
81+
env:
82+
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
83+
- name: Upload blob report to GitHub Actions Artifacts
84+
if: ${{ !cancelled() }}
85+
uses: actions/upload-artifact@v4
86+
with:
87+
88+
name: blob-report-${{ matrix.ui5-version }}
89+
path: tests/integration/adaptation-editor/blob-report
90+
retention-days: 1
91+
merge-reports:
92+
# Merge reports after playwright-tests, even if some shards have failed
93+
if: ${{ !cancelled() }}
94+
needs: [playwright-tests]
95+
runs-on: ubuntu-latest
96+
steps:
97+
- name: Checkout code repository
98+
uses: actions/checkout@v4
99+
with:
100+
fetch-depth: 0
101+
- name: Setup pnpm
102+
uses: pnpm/action-setup@v4
103+
with:
104+
run_install: true
105+
- name: Cache pnpm modules
106+
uses: actions/cache@v4
107+
env:
108+
cache-name: cache-pnpm-modules
109+
with:
110+
path: ~/.pnpm-store
111+
key: ubuntu-latest-build-${{ env.cache-name }}-20.x-${{ hashFiles('**/pnpm-lock.yaml') }}
112+
restore-keys: |
113+
ubuntu-latest-build-build-${{ env.cache-name }}-20.x-
114+
- name: Use Node.js 20.x
115+
uses: actions/setup-node@v4
116+
with:
117+
node-version: 20.x
118+
- name: Install pnpm modules
119+
run: pnpm install
120+
- name: Download blob reports from GitHub Actions Artifacts
121+
uses: actions/download-artifact@v4
122+
with:
123+
path: tests/integration/adaptation-editor/all-blob-reports
124+
pattern: blob-report-*
125+
merge-multiple: true
126+
127+
- name: Merge into HTML Report
128+
run: cd tests/integration/adaptation-editor && npx playwright merge-reports --reporter html ./all-blob-reports
129+
130+
- name: Upload HTML report
131+
uses: actions/upload-artifact@v4
132+
with:
133+
name: playwright-report-${{ github.run_attempt }}
134+
path: tests/integration/adaptation-editor/playwright-report
135+
retention-days: 15

.github/workflows/lint.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ jobs:
2525
- name: Setup pnpm
2626
uses: pnpm/action-setup@v4
2727
with:
28-
run_install: true
28+
run_install: |
29+
- args: [--ignore-scripts]
2930
- name: Cache pnpm modules
3031
uses: actions/cache@v4
3132
env:
@@ -40,7 +41,7 @@ jobs:
4041
with:
4142
node-version: ${{ matrix.node-version }}
4243
- name: Install pnpm modules
43-
run: pnpm install
44+
run: pnpm install --frozen-lockfile
4445
- name: Run build
4546
run: pnpm run build
4647
env:

.github/workflows/pipeline.yml

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@ on:
88
jobs:
99
build:
1010
strategy:
11+
# fail-fast: false # run all matrix build and not stop on the first failure
1112
matrix:
1213
os: [ubuntu-latest, windows-2025, macos-latest]
14+
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
15+
# not just the latest version of mac os also amd on Mac
16+
# os: [ubuntu-latest, windows-2025, macos-13, macos-14, macos-14-large, macos-15, macos-latest-large]
1317
node-version: [20.x, 22.x]
1418
runs-on: ${{ matrix.os }}
1519
timeout-minutes: 30
@@ -19,9 +23,10 @@ jobs:
1923
with:
2024
fetch-depth: 0
2125
- name: Setup pnpm
22-
uses: pnpm/action-setup@v4
26+
uses: pnpm/action-setup@v4.1.0
2327
with:
24-
run_install: true
28+
run_install: |
29+
- args: [--frozen-lockfile]
2530
- name: Cache pnpm modules
2631
uses: actions/cache@v4
2732
env:
@@ -36,13 +41,13 @@ jobs:
3641
with:
3742
node-version: ${{ matrix.node-version }}
3843
- name: Install pnpm modules
39-
run: pnpm install
44+
run: pnpm install --frozen-lockfile
4045
- name: Run build
4146
run: pnpm run build
4247
env:
4348
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
4449
- name: Run unit tests
45-
run: pnpm run test
50+
run: pnpm run test --tuiAutoExit
4651
env:
4752
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
4853
- name: Check for changeset files
@@ -85,7 +90,7 @@ jobs:
8590
run: find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + && git restore .
8691
- name: Run SonarCloud scan
8792
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x'
88-
uses: sonarsource/sonarqube-scan-action@v4
93+
uses: sonarsource/sonarqube-scan-action@v5
8994
env:
9095
GITHUB_TOKEN: ${{ secrets.ACCESS_PAT }}
9196
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
@@ -103,9 +108,10 @@ jobs:
103108
fetch-depth: 0
104109
token: ${{ secrets.ACCESS_PAT }}
105110
- name: Setup pnpm
106-
uses: pnpm/action-setup@v4
111+
uses: pnpm/action-setup@v4.1.0
107112
with:
108-
run_install: true
113+
run_install: |
114+
- args: [--frozen-lockfile]
109115
- name: Cache pnpm modules
110116
uses: actions/cache@v4
111117
env:
@@ -120,7 +126,7 @@ jobs:
120126
with:
121127
node-version: 20.x
122128
- name: Install pnpm modules
123-
run: pnpm install
129+
run: pnpm install --frozen-lockfile
124130
- name: Apply changesets
125131
id: changesetVersion
126132
run: |
@@ -148,9 +154,10 @@ jobs:
148154
- name: Checkout code repository
149155
uses: actions/checkout@v4
150156
- name: Setup pnpm
151-
uses: pnpm/action-setup@v4
157+
uses: pnpm/action-setup@v4.1.0
152158
with:
153-
run_install: true
159+
run_install: |
160+
- args: [--frozen-lockfile]
154161
- name: Cache pnpm modules
155162
uses: actions/cache@v4
156163
env:
@@ -165,7 +172,14 @@ jobs:
165172
with:
166173
node-version: 20.x
167174
- name: Install pnpm modules
168-
run: pnpm install
175+
run: pnpm install --frozen-lockfile
176+
- name: Replace placeholder with instrumentation key
177+
uses: jacobtomlinson/gha-find-replace@v3
178+
with:
179+
include: packages/fiori-mcp-server/src/telemetry/index.ts
180+
find: 'ApplicationInsightsInstrumentationKeyPLACEH0LDER'
181+
replace: ${{ secrets.INSTRUMENTATION_KEY }}
182+
regex: false
169183
- name: Run build
170184
run: pnpm run build
171185
- name: Setup npmrc with npmjs.com token
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Update UI5 Maintenance Versions
2+
3+
on:
4+
workflow_dispatch:
5+
jobs:
6+
ui5-versions:
7+
runs-on: ubuntu-latest
8+
timeout-minutes: 10
9+
outputs:
10+
ui5_versions: ${{ steps.output-ui5-versions.outputs.ui5_versions }}
11+
steps:
12+
- name: Checkout code repository
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
- name: Setup pnpm
17+
uses: pnpm/action-setup@v4
18+
with:
19+
run_install: true
20+
- name: Cache pnpm modules
21+
uses: actions/cache@v4
22+
env:
23+
cache-name: cache-pnpm-modules
24+
with:
25+
path: ~/.pnpm-store
26+
key: ubuntu-latest-build-cache-pnpm-modules-20.x-${{ hashFiles('**/pnpm-lock.yaml') }}
27+
restore-keys: |
28+
ubuntu-latest-build-$cache-pnpm-modules-20.x-
29+
- name: Use Node.js 20.x
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: 20.x
33+
- name: Install pnpm modules
34+
run: pnpm install
35+
- name: Run build
36+
run: pnpm --filter @sap-ux/ui5-info... build
37+
- name: Cache UI5 maintenance versions
38+
id: cache-ui5-versions
39+
uses: actions/cache/restore@v4
40+
with:
41+
path: tests/integration/adaptation-editor/versions.json
42+
key: ui5-versions
43+
- name: List previously cached UI5 maintenance versions
44+
id: previous-ui5-versions
45+
run: |
46+
if [[ -f tests/integration/adaptation-editor/versions.json ]]; then
47+
cat tests/integration/adaptation-editor/versions.json
48+
else
49+
echo "No previous versions found."
50+
fi
51+
- name: Load UI5 maintenance versions
52+
id: current-ui5-versions
53+
run: |
54+
cd tests/integration/adaptation-editor && pnpm exec node version.js
55+
cat versions.json
56+
echo "versions=$(cat versions.json)" >> $GITHUB_OUTPUT
57+
- name: Cache ui5-versions modules
58+
uses: actions/cache/save@v4
59+
with:
60+
path: tests/integration/adaptation-editor/versions.json
61+
key: ui5-versions-${{fromJson(steps.current-ui5-versions.outputs.versions)[0]}}

.vscode/launch.json

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,33 @@
164164
"internalConsoleOptions": "neverOpen",
165165
"cwd": "${workspaceFolder}/packages/fiori-elements-writer"
166166
},
167+
{
168+
"type": "node",
169+
"request": "launch",
170+
"name": "fiori-mcp-server: Debug Current Jest File",
171+
"program": "${workspaceFolder}/node_modules/jest/bin/jest.js",
172+
"args": ["${fileBasenameNoExtension}", "--config", "jest.config.js", "--coverage=false"],
173+
"console": "integratedTerminal",
174+
"internalConsoleOptions": "neverOpen",
175+
"windows": {
176+
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
177+
},
178+
"cwd": "${workspaceFolder}/packages/fiori-mcp-server"
179+
},
180+
{
181+
"type": "node",
182+
"request": "launch",
183+
"name": "fiori-mcp-server: Launch inspector",
184+
"runtimeExecutable": "npx",
185+
"runtimeArgs": [
186+
"@modelcontextprotocol/inspector",
187+
"node",
188+
"dist/index.js"
189+
],
190+
"console": "integratedTerminal",
191+
"skipFiles": ["<node_internals>/**"],
192+
"cwd": "${workspaceFolder}/packages/fiori-mcp-server"
193+
},
167194
{
168195
"type": "node",
169196
"request": "launch",
@@ -354,7 +381,7 @@
354381
"request": "launch",
355382
"name": "ui-components: Debug Current Jest File",
356383
"program": "${workspaceFolder}/node_modules/jest/bin/jest.js",
357-
"args": ["${file}", "--config", "jest.config.js", "--coverage=false"],
384+
"args": ["${fileBasenameNoExtension}", "--config", "jest.config.js", "--coverage=false"],
358385
"console": "integratedTerminal",
359386
"internalConsoleOptions": "neverOpen",
360387
"windows": {

0 commit comments

Comments
 (0)