Conversation
| name: Deploy storybook artifacts | ||
| runs-on: ubuntu-22.04 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| ref: dev | ||
| show-progress: false | ||
|
|
||
| - name: Prepare environment | ||
| uses: ./.github/actions/prepare-environment | ||
|
|
||
| - name: Lerna bootstrap | ||
| run: npx lerna bootstrap --scope="@salutejs/{plasma-icons,plasma-sb-utils,plasma-tokens,plasma-tokens-utils,core-themes,plasma-typo,plasma-new-hope,plasma-colors,plasma-themes}" | ||
|
|
||
| - name: Prepare directory | ||
| run: mkdir -p s3_local_storybook_build | ||
|
|
||
| - name: Build ai-components storybook | ||
| run: | | ||
| npm run storybook:build:ai-components --prefix="./packages/plasma-new-hope" | ||
| cp -R ./packages/plasma-new-hope/ai-components-build-sb ./s3_local_storybook_build/ai-components-storybook | ||
|
|
||
| - name: Install s3cmd | ||
| run: pip3 install s3cmd | ||
|
|
||
| - name: s3 upload ai-components storybook | ||
| run: > | ||
| s3cmd | ||
| --access_key ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
| --secret_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
| --host ${{ secrets.AWS_ENDPOINT }} | ||
| --host-bucket ${{ secrets.AWS_ENDPOINT }} | ||
| --bucket-location ${{ secrets.AWS_REGION }} | ||
| --signature-v2 | ||
| --delete-removed | ||
| --no-mime-magic | ||
| sync | ||
| ./s3_local_storybook_build/ai-components-storybook/ | ||
| s3://${{ secrets.AWS_S3_BUCKET_2 }}/ai-components-storybook/ No newline at end of file |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 10 days ago
In general, the fix is to define an explicit permissions block for the workflow or for the specific job so that the GITHUB_TOKEN has only the minimal necessary scopes. For this workflow, the job only needs to read repository contents (for actions/checkout@v4); all other external operations use AWS credentials from secrets and do not require GitHub write access. Therefore, contents: read is sufficient.
The best fix without changing functionality is to add a root‑level permissions block (so it applies to all jobs in this workflow) immediately after the name: or on: section, setting contents: read. No other permissions appear necessary, since the job does not interact with pull requests, issues, or packages. Concretely, in .github/workflows/storybook-deploy-ai-components.yaml, insert:
permissions:
contents: readbetween the on: block and the jobs: block (or just after name:; both are valid, but placing it after on: keeps the structure clear). No imports or additional methods are required, as this is purely a YAML workflow configuration change.
| @@ -3,6 +3,9 @@ | ||
| on: | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| deploy-artifacts: | ||
| name: Deploy storybook artifacts |
|
Theme Builder app deployed! https://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-2662/ |
Core
TextField
placeholderPR
clearвынесен в отдельную конфигурацию и регулируется свойствомappearancePR
PR
PR
PR
TextField, Range, DatePicker, DateTimePicker
PR
LinkButton
activePR
left/rightContentпри отсутствии другого контентаPR
hoverне применяется, когдаLinkButtonв состоянииdisabledPR
disabledPR
Mask
strict mode(терялось значение маски при повторном рендере)PR
Sheet
hasScrollEvents, отключающий закрытие sheet по свайпуPR
body.style.overflowYPR
TimePicker
usePortalв компонентах группыOverlayPR
PR
TimePickerGridPR
TimeGridPR
TimeGridпереведена наFloatingPopoverPR
Tree
PR
PR
xl;PR
emotion;PR
Combobox
filterValueдля фильтрации вводимых значений;PR
cursor: pointerу стрелочки раскрытия в режимеreadOnly;PR
onChangeValueвызывался когда значение поля ввода не изменялось;PR
Timepicker
dropdownAlignPR
PR
Pagination
perPageпри отсутствииhelperTextиquickJumpBefore:

After:

PR
PR
Icons
ResizeCorneredFillPR
Calendar
PR
TextArea
PR
appearance=clearPR
PR
PR
Select
Chipприведены в соответствие с макетами;PR
Table
добавлены свойства
topContentиbottomContent, служащие в качестве ячеек для content в начале и конце таблицыдобавлено свойство
loadingSlotдля иконки загрузки;добавлены пример с компонентом Paginations и бесконечным скроллом в документацию;
PR
PR
Tabs
PR
disabledдляTabItemPR
Button
:hoverна мобильных устройствах во избежания "залипания" состоянияPR
Range
добавлен
appearance="clear"переиспользован
InformationWrapperдля унификации отображения лейбла, подсказок и индикатора обязательностиPR
PR
H6
h6во все темыPR
DatePicker
appearance=clearPR
добавлен новый инстанс вызова onDateCommit с двумя аргументами
инстанс с 6ю аргументами помечен как
deprecatedPR
onCommitDatePR
тип
OnCommitDateCallbackUnionбольше не используется, так как ts не может вывести конечный даже сtypeguardстарая версия передачи аргумента поддерживается, но ts будет выводить ошибку
PR
добавлены свойства для управления предустановленными датами
актуализирована сетка выпадающего календаря согласно макетам
PR
Modal
draggable, при котором драг срабатывал одновременно на несколько открытых модальных окон, вложенных друг в друга;PR
Popover, Tooltip
hover=trueв мобильных браузерах;PR
target, теперь она принимает полноценныйReact.Ref<T>;PR
Radiobox
PR
List
disabledдляonClickPR
PR
ListItemPR
File
PR
Segment
PR
PR
Range, DatePicker
contentRightсоответствует макетам и наследуется отEmbedIconButtonPR
Typography
h6PR
Select, Combobox
renderSelectionIconдля кастомизации иконки выбора элемента;PR
flipиshiftдля коррекции позиции выпадающего списка при достижении границ экрана;PR
Attach
AttachPropsPR
callbackonClearPR
TextFieldSlider
TextFieldSliderPR
Toast
textдоReactNodePR
boxShadowPR
Skeleton
анимация задается с помощью свойства
animationTypeдобавлена дополнительная анимация
pulsePR
Popup, Modal
onResizeStartиonResizeEnd;PR
Textfield
NextjsприложенияхPR
Popup
draggableне учитывающая смещения родительского контейнера в DOMPR
NumberInput
добавлено свойство
displayWithoutValueдля отображения компонента без значениядобавлено свойство
limitBehaviorдля управления поведением кнопок при достижении граничных значенийPR
Price
typeдля свойстваcurrencyдоstring, что бы можно было указать валидное значение изISO 4217(а не только из предустановленного списка)PR
Popover
улучшены примеры документации
добавлен пример как избежать потерю скругления между компонентом и slot контейнером
добавлено наследование для
border-radiusна уровнеpopover.stylePR
Autocomplete
rootClassNameиrootStyleдля внешней обертки компонента;PR
Checkbox
indeterminateне снимается при клике, если не переданonChangePR
CodeField, CodeInput
PR
Dropzone
htmlатрибутtitle, чтобы не было пересечения сDropzoneProps[title]PR
Note
PR
Combobox, Select
singleLine, которое делает текст в элементе выпадающего списка в одну строку;PR
SDDS-FINAI
Tokens
PR
dataPR
Tree
PR
DateTimePicker
PR
InformationWrapper
PR
Popover
betaPR
Textfield
PR
Tooltip
betaPR
DOCS
PR
ButtonGroup
gapc 2 px to 4px дляintersections:gap: denseиshape: defaultPR
Autocomplete, Combobox, DatePicker, DateTimePicker, TimePicker
readOnlyPR
Popover, Tooltip (Beta)
portalдля настройки рендера выпадающего списка в DOM;PR
Skeleton
изменен токен градиента для светлой темы
добавлен новое скругление -
4pxPR
Dropzone
PR
PR
Toast
positive,negative,infoPR
Docs
Select
PR
SDDS-PLATFORM-AI
Core
PR
PR
Button, IconButton, TextField, Breadcrumbs
PR
Rating, DateTimePicker, DatePicker
PR
MCP
PR
SDDS-SERV
Tokens
hover,activeиbrightness, рассчитанные по новым формуламPR
Build
emotion, при котором для ряда компонентов использовался импорт изstyled-components;PR
MCP
PR
SDDS-DFA
Tokens
hover,activeиbrightness, рассчитанные по новым формуламPR
SDDS-INSOL
Tokens
hover,activeиbrightness, рассчитанные по новым формуламPR
DateTimePicker
readOnlyPR
SDDS-CS
Build
emotion, при котором для ряда компонентов использовался импорт изstyled-components;PR
DatePicker
readOnlyPR
TimePicker
PR
PR
DropZone
PR
Toolbar
PR
Tokens
изменены токен surfacePositive на Spring 300
изменены токен surfaceNegative на Red 400
PR
Skeleton
PR
PR
Attach
PR
Button, IconButton
buttonBackgroundнаsurface-solid-secondaryPR
Infra
styled-components. По умолчанию сталаemotion;PR
PR
MCP
PR
Storybook
build переведен на
emotion;добавлена в поставку группа компонентов
beta;PR
NumberInput
PR
PLASMA-WEB
Autocomplete, Combobox, DatePicker, DateTimePicker, Range, Select, TextField
readOnlyPR
Tokens
readOnlyв группыoutlinePR
PLASMA-B2C
Tokens
readOnlyв группыsurfacePR
PLASMA-GIGA
Tokens
readOnlyв группыsurfacePR
Theme
PR
SurfaceDefaultCardPR
PLASMA-HOMEDS
TextField
PR
Button, IconButton, LinkButton, ButtonGroup
PR
Docs
PR
SDDS-NETOLOGY
MCP
PR