Skip to content

Commit ccf9482

Browse files
authored
Merge branch 'G-Research-Forks:main' into main
2 parents cf868b9 + 70d42d5 commit ccf9482

82 files changed

Lines changed: 1959 additions & 532 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/meeting_minutes.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ YYYYMMDD - time
1616

1717
- [Register for future meetings](https://zoom-lfx.platform.linuxfoundation.org/meeting/95849833904?password=99413314-d03a-4b1c-b682-1ede2c399595&invite=true)
1818

19-
## Untracked attendees
20-
21-
- Full Name, Affiliation, (optional) GitHub username
22-
- ...
23-
2419
## Meeting notices
2520

2621
- FINOS **Project leads** are responsible for observing the FINOS guidelines for [running project meetings](https://community.finos.org/docs/governance/meeting-procedures/). Project maintainers can find additional resources in the [FINOS Maintainers Cheatsheet](https://community.finos.org/docs/finos-maintainers-cheatsheet).
@@ -34,19 +29,16 @@ YYYYMMDD - time
3429
## Agenda
3530

3631
- [ ] Convene & roll call (5mins)
37-
- [ ] Display [FINOS Antitrust Policy summary slide](https://community.finos.org/Compliance-Slides/Antitrust-Compliance-Slide.pdf)
38-
- [ ] Review Meeting Notices (see above)
32+
- [ ] Display [FINOS Antitrust Policy summary slide](https://community.finos.org/Compliance-Slides/Antitrust-Compliance-Slide.pdf) and review Meeting Notices (see above)
3933
- [ ] Approve past meeting minutes
4034
- [ ] Agenda item 1
4135
- [ ] Agenda item 2
4236
- [ ] ...
4337
- [ ] AOB, Q&A & Adjourn (5mins)
4438

45-
## Decisions Made
39+
## Meeting Minutes
4640

47-
- [ ] Decision 1
48-
- [ ] Decision 2
49-
- [ ] ...
41+
...
5042

5143
## Action Items
5244

.github/workflows/ci.yml

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,18 @@ permissions:
1313
pull-requests: write
1414

1515
jobs:
16-
# Ubuntu build with MongoDB matrix (9 combinations: 3 Node × 3 MongoDB)
1716
build-ubuntu:
1817
runs-on: ubuntu-latest
1918

2019
strategy:
2120
fail-fast: false
2221
matrix:
23-
node-version: [20.x, 22.x, 24.x]
22+
node-version: [22.x, 24.x]
2423
mongodb-version: ['6.0', '7.0', '8.0']
2524

2625
steps:
2726
- name: Harden Runner
28-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
27+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
2928
with:
3029
egress-policy: audit
3130

@@ -44,7 +43,7 @@ jobs:
4443
mongodb-version: ${{ matrix.mongodb-version }}
4544

4645
- name: Install dependencies
47-
run: npm ci
46+
run: npm ci --no-fund
4847

4948
# for now only check the types of the server
5049
# tsconfig isn't quite set up right to respect what vite accepts
@@ -55,6 +54,11 @@ jobs:
5554
- name: Build TypeScript
5655
run: npm run build-ts
5756

57+
- name: Build CLI
58+
run: |
59+
npm run build -w @finos/git-proxy-cli
60+
npm rebuild @finos/git-proxy-cli
61+
5862
- name: Test
5963
id: test
6064
run: |
@@ -68,30 +72,19 @@ jobs:
6872
run: npm run test:integration
6973

7074
- name: Upload test coverage report
71-
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
75+
uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3
7276
with:
73-
files: ./coverage/lcov.info
77+
files: ./coverage/lcov.info,./coverage-cli/lcov.info
7478
token: ${{ secrets.CODECOV_TOKEN }}
7579

7680
- name: Build frontend
7781
run: npm run build-ui
7882

79-
- name: Save build folder
80-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
81-
with:
82-
name: build-ubuntu-node-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
83-
if-no-files-found: error
84-
path: build
85-
86-
- name: Download the build folders
87-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
88-
with:
89-
name: build-ubuntu-node-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
90-
path: build
91-
9283
- name: Run cypress test
93-
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
84+
uses: cypress-io/github-action@4c06c48f3ffea349b7189aa06dfcda47a9fa7b92 # v7.1.8
9485
with:
86+
# skip the action's internal npm ci — dependencies are already installed above
87+
install: false
9588
start: npm start &
9689
wait-on: 'http://localhost:3000'
9790
wait-on-timeout: 120
@@ -103,7 +96,7 @@ jobs:
10396

10497
steps:
10598
- name: Harden Runner
106-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
99+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
107100
with:
108101
egress-policy: audit
109102

@@ -122,14 +115,19 @@ jobs:
122115
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
123116
124117
- name: Install dependencies
125-
run: npm ci
118+
run: npm ci --no-fund
126119

127120
- name: Check Types (Server)
128121
run: npm run check-types:server
129122

130123
- name: Build TypeScript
131124
run: npm run build-ts
132125

126+
- name: Build CLI
127+
run: |
128+
npm run build -w @finos/git-proxy-cli
129+
npm rebuild @finos/git-proxy-cli
130+
133131
- name: Test
134132
id: test
135133
shell: bash

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,22 @@ jobs:
2626

2727
steps:
2828
- name: Harden Runner
29-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2
29+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2
3030
with:
3131
egress-policy: audit
3232

3333
- name: Checkout repository
3434
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
3535

3636
- name: Initialize CodeQL
37-
uses: github/codeql-action/init@a6594f96a3c88bcd1537795a61816854dc8ccf20 # ratchet:github/codeql-action/init@v4
37+
uses: github/codeql-action/init@72c0b0efb7def5141326c5e13760acdda431379d # ratchet:github/codeql-action/init@v4
3838
with:
3939
languages: ${{ matrix.language }}
4040

4141
- name: Autobuild
42-
uses: github/codeql-action/autobuild@a6594f96a3c88bcd1537795a61816854dc8ccf20 # ratchet:github/codeql-action/autobuild@v4
42+
uses: github/codeql-action/autobuild@72c0b0efb7def5141326c5e13760acdda431379d # ratchet:github/codeql-action/autobuild@v4
4343

4444
- name: Perform CodeQL Analysis
45-
uses: github/codeql-action/analyze@a6594f96a3c88bcd1537795a61816854dc8ccf20 # ratchet:github/codeql-action/analyze@v4
45+
uses: github/codeql-action/analyze@72c0b0efb7def5141326c5e13760acdda431379d # ratchet:github/codeql-action/analyze@v4
4646
with:
4747
category: '/language:${{matrix.language}}'

.github/workflows/dependency-review.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Harden Runner
13-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2
13+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2
1414
with:
1515
egress-policy: audit
1616

@@ -21,6 +21,6 @@ jobs:
2121
with:
2222
comment-summary-in-pr: always
2323
fail-on-severity: high
24-
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0, Ubuntu-font-1.0
24+
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0, Ubuntu-font-1.0, Artistic-2.0
2525
fail-on-scopes: development, runtime
2626
allow-dependencies-licenses: 'pkg:npm/caniuse-lite'

.github/workflows/docker-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
steps:
1515
- name: Set up Docker Buildx
16-
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
16+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
1717

1818
- name: Checkout Repository
1919
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -36,7 +36,7 @@ jobs:
3636
3737
- name: Build and Publish Docker Image
3838
if: github.repository == 'finos/git-proxy'
39-
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
39+
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7
4040
with:
4141
context: .
4242
file: Dockerfile

.github/workflows/e2e.yml

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,31 @@ on:
1414
jobs:
1515
e2e:
1616
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
suite: [vitest, cypress]
20+
env:
21+
BUILDX_CACHE_SCOPE: ${{ matrix.suite }}-build
1722

1823
steps:
1924
- name: Checkout code
2025
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2126

2227
- name: Set up Docker Buildx
23-
uses: docker/setup-buildx-action@9cd4410b76a77e8054419e70095df406556617a8
28+
uses: docker/setup-buildx-action@d91f340399fb2345e3e45f5461e116862b08261d
29+
with:
30+
install: true
31+
32+
- name: Expose GitHub Runtime for Docker Cache
33+
uses: crazy-max/ghaction-github-runtime@3cb05d89e1f492524af3d41a1c98c83bc3025124 # v3
2434

2535
- name: Set up Docker Compose
26-
uses: docker/setup-compose-action@112d3e30db3bf437d207fea57f22510569d1ab97
36+
uses: docker/setup-compose-action@e29e0ecd235838be5f2e823f8f512a72dc55f662
2737

2838
- name: Set up Node.js
2939
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
3040
with:
31-
node-version: '20'
41+
node-version: '24'
3242
cache: 'npm'
3343

3444
- name: Install dependencies
@@ -41,17 +51,55 @@ jobs:
4151
git config --global init.defaultBranch main
4252
4353
- name: Build and start services with Docker Compose
44-
run: docker compose up -d --build --wait || true
54+
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d --build --wait
4555

4656
- name: Debug service state
47-
if: always()
57+
if: failure()
4858
run: |
4959
docker compose ps
5060
docker compose logs
5161
52-
- name: Run E2E tests
62+
- name: Run vitest E2E tests
63+
if: matrix.suite == 'vitest'
5364
run: npm run test:e2e
5465

66+
- name: Run Cypress E2E tests
67+
if: matrix.suite == 'cypress'
68+
run: npm run cypress:run:docker
69+
timeout-minutes: 10
70+
env:
71+
CYPRESS_BASE_URL: http://localhost:8081
72+
CYPRESS_API_BASE_URL: http://localhost:8081
73+
CYPRESS_GIT_PROXY_URL: http://localhost:8000
74+
CYPRESS_GIT_SERVER_TARGET: git-server:8443
75+
76+
- name: Dump git-proxy logs on failure
77+
if: failure()
78+
run: docker compose logs git-proxy --tail=100
79+
80+
- name: Upload Cypress screenshots on failure
81+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
82+
if: failure() && matrix.suite == 'cypress'
83+
with:
84+
name: cypress-screenshots
85+
path: cypress/screenshots
86+
retention-days: 7
87+
5588
- name: Stop services
5689
if: always()
5790
run: docker compose down -v
91+
92+
results:
93+
if: ${{ always() }}
94+
runs-on: ubuntu-latest
95+
name: e2e
96+
needs: [e2e]
97+
steps:
98+
- name: Check e2e results
99+
run: |
100+
result="${{ needs.e2e.result }}"
101+
if [[ "$result" == "success" || "$result" == "skipped" ]]; then
102+
exit 0
103+
else
104+
exit 1
105+
fi

.github/workflows/experimental-inventory-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ jobs:
1919

2020
strategy:
2121
matrix:
22-
node-version: [20.x]
22+
node-version: [22.x]
2323
mongodb-version: [4.4]
2424

2525
steps:
2626
- name: Harden Runner
27-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
27+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
2828
with:
2929
egress-policy: audit
3030

.github/workflows/experimental-inventory-cli-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Harden Runner
17-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
17+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
1818
with:
1919
egress-policy: audit
2020

@@ -23,7 +23,7 @@ jobs:
2323
# Setup .npmrc file to publish to npm
2424
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
2525
with:
26-
node-version: '22.x'
26+
node-version: '24.x'
2727
registry-url: 'https://registry.npmjs.org'
2828

2929
- name: check version matches input

.github/workflows/experimental-inventory-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Harden Runner
17-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
17+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
1818
with:
1919
egress-policy: audit
2020

@@ -23,7 +23,7 @@ jobs:
2323
# Setup .npmrc file to publish to npm
2424
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
2525
with:
26-
node-version: '22.x'
26+
node-version: '24.x'
2727
registry-url: 'https://registry.npmjs.org'
2828

2929
- name: check version matches input

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Code Cleanliness
33
on: [pull_request]
44

55
env:
6-
NODE_VERSION: 20
6+
NODE_VERSION: 22
77

88
permissions:
99
contents: read
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps: # list of steps
1616
- name: Harden Runner
17-
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2
17+
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2
1818
with:
1919
egress-policy: audit
2020

0 commit comments

Comments
 (0)