Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
d2ddd36
sync(*): master to develop
ovh-cds Oct 30, 2025
c93f763
fix(pci-private-network): fix tests after bump to react-shell-client
aTurmo Oct 30, 2025
9a0a242
sync(*): master to develop
ovh-cds Oct 30, 2025
0705706
fix(pci-block-storage): fix tests after bump to react-shell-client
aTurmo Oct 30, 2025
b3363ea
fix(*): resolve branches tests fails
helabenkhalfallah Oct 30, 2025
59899e0
sync(*): master to develop
ovh-cds Oct 30, 2025
79ce0e4
sync(*): master to develop
ovh-cds Oct 30, 2025
1595e82
fix(i18n): add missing translations [CDS 4443]
ovh-cds Oct 31, 2025
1c4396a
fix(i18n): add missing translations [CDS 4445]
ovh-cds Nov 1, 2025
835b74c
sync(*): master to develop
ovh-cds Nov 2, 2025
1a5e1cf
sync(*): master to develop
ovh-cds Nov 2, 2025
f9fe50c
sync(*): master to develop
ovh-cds Nov 3, 2025
4e59778
sync(*): master to develop
ovh-cds Nov 3, 2025
796a196
feat(common-translations): update translation for fr in setting page
Oct 29, 2025
5409346
fix(i18n): add missing translations [CDS 4447]
Nov 3, 2025
0e55ad4
sync(*): master to develop
ovh-cds Nov 3, 2025
805989c
fix(*): update manager pm doc indentation
Nov 3, 2025
afa702e
fix(*): update manager pm doc indentation
helabenkhalfallah Nov 3, 2025
36cce2a
sync(*): master to develop
ovh-cds Nov 3, 2025
e9f0410
sync(*): master to develop
ovh-cds Nov 3, 2025
0b1c3ff
sync(*): master to develop
ovh-cds Nov 3, 2025
a85142e
sync(*): master to develop
ovh-cds Nov 3, 2025
3677178
fix(*): remove unused translations [CDS]
ovh-cds Nov 4, 2025
4c88a77
fix(muk): correct datagrid issues in header and row selection
aboungnaseng-ovhcloud Oct 30, 2025
f74689e
fix(muk): correct import of ods style
aboungnaseng-ovhcloud Oct 30, 2025
33eb0f3
fix(muk): update datagrid mock and snapshot
aboungnaseng-ovhcloud Nov 3, 2025
b0d0cb2
sync(*): master to develop
ovh-cds Nov 4, 2025
866c610
sync(*): master to develop
ovh-cds Nov 4, 2025
19facba
fix(i18n): add missing translations [CDS 4449]
ovh-cds Nov 4, 2025
d33416d
feat(workflow): handle yarn cache restore
hbelkhir Oct 23, 2025
af7b155
feat(workflow): handle yarn cache restore
hbelkhir Nov 4, 2025
fbb5f72
sync(*): master to develop
ovh-cds Nov 4, 2025
636ecff
sync(*): master to develop
ovh-cds Nov 4, 2025
fe65b4c
fix(workflow): fix duplicate translations issue
hbelkhir Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,12 @@ jobs:
NUMBER_PULL=$(echo "$PR_JSON" | jq -r '.[0].number')
labels=$(gh pr view $NUMBER_PULL --repo ovh/manager --json labels --jq '.labels[].name')

if echo "$labels" | grep -wq "translation required "; then
if echo "$labels" | grep -wq "translation required"; then
echo "βœ… Translation required: Check the duplicate translation pls!..."

SHOULD_CONTINUE=true
echo "should_continue<<EOF" >> $GITHUB_OUTPUT
echo "$SHOULD_CONTINUE" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "❌ Translation label does not exist, exit..."
SHOULD_CONTINUE=false
Expand All @@ -56,8 +59,12 @@ jobs:
if: steps.gate.outputs.should_continue == 'true'
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
path: |
~/.cache/yarn
node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Install dependencies
if: steps.gate.outputs.should_continue == 'true'
Expand All @@ -73,7 +80,7 @@ jobs:
get_changed_packages() {
BASE_BRANCH=${{ steps.gate.outputs.base_branch }}
CURRENT_BRANCH=${{ steps.gate.outputs.current_branch }}
yarn turbo run build --dry-run=json --filter=...[origin/${BASE_BRANCH}...origin/${CURRENT_BRANCH}] > output.json
yarn pm:build:ci --dry-run=json --filter=...[origin/${BASE_BRANCH}...origin/${CURRENT_BRANCH}] > output.json

# Clean JSON
tail -n +3 output.json > tmpfile.json && mv tmpfile.json output.json
Expand Down
23 changes: 19 additions & 4 deletions .github/workflows/linter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,42 @@ on:
branches-ignore: [master, develop]
pull_request:
branches: [master, develop]

jobs:
build:
name: Lint Code Base
runs-on: ubuntu-latest

steps:
# Checkout the code and include all commit history
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 0

# Setup Node.js 22.x environment
- name: Use Node.js 22.x
uses: actions/setup-node@v3
with:
node-version: 22
- name: Restore/create node_modules cache

# Restore and cache node_modules and yarn.lock related cache
- name: Restore node_modules cache
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install repository
path: |
~/.cache/yarn
node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

# Install dependencies only if necessary (cache hit will skip)
- name: Install dependencies
run: |
yarn install --frozen-lockfile

# Lint the code base
- name: Lint Code Base
run: |
yarn lint
12 changes: 9 additions & 3 deletions .github/workflows/run-bdd-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,17 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 22
- name: Restore/create node_modules cache
# Restore and cache node_modules and yarn.lock related cache
- name: Restore node_modules cache
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
path: |
~/.cache/yarn
node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Install repository
run: yarn install --frozen-lockfile
- name: Build covered packages and dependencies
Expand Down
15 changes: 8 additions & 7 deletions packages/manager-tools/manager-pm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -586,15 +586,16 @@ Because the monorepo runs **Yarn at the root** and **PNPM per-app**, you must fo
}
```

2. **Run `yarn install` from the root**
This updates the root lockfile and triggers `manager-pm` hooks to:
- normalize versions
- rebuild PNPM overrides
- re-install PNPM apps if necessary
2. **Run `yarn install` from the root:** this updates the root lockfile and triggers `manager-pm` hooks to:

- normalize versions
- rebuild PNPM overrides
- re-install PNPM apps if necessary

3. **Verify**
- For Yarn apps: `yarn workspace <app> why <dep>`
- For PNPM apps: `manager-pm --type pnpm --action build --app <app>`

- For Yarn apps: `yarn workspace <app> why <dep>`
- For PNPM apps: `manager-pm --type pnpm --action build --app <app>`

---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export interface Person extends Record<string, unknown> {
id: string;
name: string;
age: number;
subRows?: Person[];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useRef } from 'react';

import { Table } from '@ovhcloud/ods-react';

import { DatagridProps } from '@/components/datagrid/Datagrid.props';
import { DatagridProps, ExpandableRow } from '@/components/datagrid/Datagrid.props';
import { TableHeaderContent } from '@/components/datagrid/table/table-head';

import { TableBody } from './table/table-body/TableBody.component';
Expand All @@ -14,7 +14,7 @@ import { useDatagrid } from './useDatagrid';
const DEFAULT_ROW_HEIGHT = 50;
const DEFAULT_CONTAINER_HEIGHT = 570;

export const Datagrid = <T extends Record<string, unknown>>({
export const Datagrid = <T extends ExpandableRow<T>>({
autoScroll = true,
columns,
columnVisibility,
Expand Down Expand Up @@ -91,7 +91,7 @@ export const Datagrid = <T extends Record<string, unknown>>({
/>
)}
<div className="overflow-auto relative w-full" ref={tableContainerRef} style={containerStyle}>
<Table className="w-full">
<Table className="table table-fixed w-full">
<TableHeaderContent<T>
headerGroups={headerGroups}
onSortChange={sorting?.setSorting}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,12 @@ export interface ExpandedProps {
setExpanded: Dispatch<SetStateAction<ExpandedState>>;
}

export type DatagridProps<T extends Record<string, unknown>> = {
export interface ExpandableRow<T> {
id?: string;
subRows?: T[];
}

export type DatagridProps<T extends ExpandableRow<T>> = {
autoScroll?: boolean;
columns: readonly DatagridColumn<T>[];
columnVisibility?: ColumnVisibilityProps;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ export const mockIamResponse: IamAuthorizationResponse = {
};

export const mockData: Person[] = [
{ name: 'John Doe', age: 30 },
{ name: 'Jane Smith', age: 25 },
{ id: '1', name: 'John Doe', age: 30 },
{ id: '2', name: 'Jane Smith', age: 25 },
];

export const mockBasicColumns: readonly DatagridColumn<Person>[] = [
Expand Down Expand Up @@ -160,6 +160,7 @@ export const mockFilters = {
};

export const mockExtendedData: Person[] = Array.from({ length: 5 }, (_, i) => ({
id: `person-${i + 1}`,
name: `Person ${i + 1}`,
age: i + 25,
}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,12 @@ describe('Datagrid', () => {
data: mockData,
rowSelection: mockRowSelection,
});
const head = container.querySelector('thead tr th label');
const body = container.querySelector('tbody tr td label');
expect(head).toBeInTheDocument();
expect(body).toBeInTheDocument();
expect(head).toHaveAttribute('id', 'checkbox:select-all');
expect(body).toHaveAttribute('id', 'checkbox:0');
const targetDiv = container.querySelector('thead tr th label');
expect(targetDiv).toBeInTheDocument();
expect(targetDiv).toHaveAttribute('id', 'checkbox:select-all');
const targetDivBody = container.querySelector('tbody tr td label');
expect(targetDivBody).toBeInTheDocument();
expect(targetDivBody).toHaveAttribute('id', 'checkbox:1');
});

it('should handle expandable rows', () => {
Expand Down
Loading
Loading