Skip to content

Commit

Permalink
Release by 11.12.2024 (#1638)
Browse files Browse the repository at this point in the history
  • Loading branch information
Yakutoc authored Dec 12, 2024
2 parents 0e9f070 + 9db652d commit d3f9944
Show file tree
Hide file tree
Showing 1,289 changed files with 112,547 additions and 198,887 deletions.
84 changes: 61 additions & 23 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,82 @@
### Заголовок вносимых изменений (например Dropdown или CI) [Heading 3]
## [Heading 2]

Здесь описываем резюме вносимых изменений.
Может быть:

В формате списка, например
- `Core` - используем если изменения в библиотеки new-hope и затрагивают все библиотеки
- `SDDS-CS, PLASMA-WEB, PLASMA-ICONS` - если изменения только для конкретной библиотеки используем ее название

- добавили новый api
- изменили свойство size
Например,

Пример такого описания, см. ниже
```md
## Core
```

```md
### Raised hand
## PLASMA-WEB
```

### [Heading 3] Названия компонента, функции, темы, etc

- добавлена новая иконка
Например,

<img width="48" alt="raisedHand" src="https://github.com/salute-developers/plasma/assets/46107741/212dbd44-1739-456e-83c3-e4362a2a10fd">
```md
### Dropdown
```

Примечания:
```md
### PopoverProvider
```

- По возможности приложите скриншоты решенной проблемы в формате "до/после" или скриншоты нового компонента.
- Обязательно укажите соответствующий **label**. Это нужно для определения правильной категории вносимых изменений.
Резюме вносимых изменений.

### What/why changed (Это обязательный заголовок)
```md
- исправлено поведение, когда нажатие на `Tab` очищало набранный текст в `single` mode;
```

Более подробное описание решаемой проблемы.
Полный пример:

```md
## Core

### Combobox

- исправлено поведение, когда нажатие на `Tab` очищало набранный текст в `single` mode;
```

### Labels
```md
## SDDS-CS

### Notification

- добавлен layout `horizontal`
- добавлены токены для позиционирования `actions`, `iconLeft` и `iconClose`
```

Когда pull request содержит изменения и в core и в конечной библиотеки

```md
## Core

### Drawer, Panel

Это то, что **решает** ваш pull request. Label может быть только один.
- добавлена возможность изменить цвет закрывающей иконки

Список доступных labels:
## SDDS-CS

- Components (задача добавить новый компонент)
- Infra (поправили CI/CD, обновили зависимости, etc)
- Tokens (поправили в plasma-tokens, theme-builder)
- Icons (добавили новые иконки)
- Docs (задачи связанные с документацией)
### Datepicker

Все что не попадает в вышеперечисленное, попадет в категорию Misc.
- актуализированы примеры в storybook
```

**Примечания:**

- По возможности приложите скриншоты решенной проблемы в формате "до/после" или скриншоты нового компонента.

### What/why changed

Это **обязательный** блок и заголовок!

Более подробное описание решаемой проблемы.

### Прежде чем перевести в статус "requested a review" убедитесь

Expand Down
16 changes: 16 additions & 0 deletions .github/actions/preprocessing-release-changelog/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: preprocessing-release-changelog

description: 'Transform release changelog with group by heading'

inputs:
data:
description: "Raw data for processing"
required: true

outputs:
changelog:
description: "changelog after processing"

runs:
using: 'node20'
main: 'index.js'
40 changes: 40 additions & 0 deletions .github/actions/preprocessing-release-changelog/groupByHeadings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
export function groupByHeadings(tree) {
const groups = new Map();
const h2List = new Set();

let currentGroup = null;
let currentNodes = [];

for (const node of tree.children) {
if (node.type === 'heading' && node.depth === 2) {
// Сохраняем предыдущую группу
if (currentGroup) {
const data = [...(groups.get(currentGroup) || []), ...currentNodes];

groups.set(currentGroup, data);
}

const headingValue = node.children[0].value;

currentGroup = headingValue;

// Сохраняем заголовок только если он встречается впервые
currentNodes = !h2List.has(headingValue) ? [node] : [];
h2List.add(headingValue);
} else if (currentGroup) {
currentNodes.push(node);
}
}

// Сохраняем последнюю группу
if (currentGroup && currentNodes.length) {
const data = [...(groups.get(currentGroup) || []), ...currentNodes];

groups.set(currentGroup, data);
}

return {
...tree,
children: [...groups.values()].flat(),
};
}
25 changes: 25 additions & 0 deletions .github/actions/preprocessing-release-changelog/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { unified } from 'unified';
import remarkParse from 'remark-parse';
import remarkStringify from 'remark-stringify';

import * as core from '@actions/core';

import { groupByHeadings } from './groupByHeadings.js';

async function run() {
try {
const data = core.getInput('data', { required: true });

const changelog = await unified()
.use(remarkParse)
.use(() => groupByHeadings)
.use(remarkStringify)
.process(data);

core.setOutput('changelog', changelog.toLocaleString());
} catch (error) {
core.setFailed(error.message);
}
}

run();
Loading

0 comments on commit d3f9944

Please sign in to comment.