Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release by 31.01.2024 #1019

Closed
wants to merge 59 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
67df0d4
feat(plasma-tokens): Add theme caldera
luizasok Jan 18, 2024
e348371
chore: closed img tag
Yakutoc Jan 19, 2024
5ec2283
feat(plasma-ui): fix Badge tests
TitanKuzmich Jan 18, 2024
8aac178
Update versions
Salute-Eva Jan 19, 2024
f13c8ef
Update package-lock.json files
Salute-Eva Jan 19, 2024
747cf2f
fix(plasma-icons): fix package publish
kayman233 Jan 19, 2024
932c041
Update versions
Salute-Eva Jan 19, 2024
362f307
Update package-lock.json files
Salute-Eva Jan 19, 2024
d753989
ci: add caldera-package to workflows
TitanKuzmich Jan 18, 2024
975e178
ci(documentation): add documentation workflow for dev branch
Yakutoc Jan 22, 2024
14e67bf
ci: use perftool collaborative mode
akhdrv Jan 19, 2024
697d774
chore(lerna): override ignoreChanges property for list command
Yakutoc Jan 22, 2024
0ad715e
test: added tests for ModalBase, PopupBase
kayman233 Jan 24, 2024
092a661
fix(plasma-new-hope): fix id generation for Modal, Popup
kayman233 Jan 24, 2024
7a87c08
Update versions
Salute-Eva Jan 25, 2024
e058004
Update package-lock.json files
Salute-Eva Jan 25, 2024
842538f
chore: fix Popup storybook example
kayman233 Jan 24, 2024
b33931c
feat(new-hope): add Avatar, AvatarGroup
nikewht Dec 1, 2023
2ba359f
Update versions
Salute-Eva Jan 25, 2024
4f0ce7e
Update package-lock.json files
Salute-Eva Jan 25, 2024
941e1e0
ci(publish-rc): add notification when publish failed
Yakutoc Dec 20, 2023
553676d
ci(changelog): refactoring "Create release pull request" workflow
Yakutoc Jan 24, 2024
2cc3944
ci(release-latest): add "versionate_docs" workflow
Yakutoc Jan 25, 2024
078d678
ci(release-latest): delete "versionate_docs" job in publish latest wo…
Yakutoc Jan 25, 2024
4bd4214
feat(plasma-tokens): Add theme caldera_online
TitanKuzmich Jan 29, 2024
109e9d0
Update versions
Salute-Eva Jan 30, 2024
a1c7a5e
Update package-lock.json files
Salute-Eva Jan 30, 2024
6b0c721
chore: add Caldera-online-package to workflows
TitanKuzmich Jan 23, 2024
5a845a1
ci(documentation-pr): add "HAS_CALDERA_ONLINE" variable
Yakutoc Jan 30, 2024
5227501
feat(plasma-new-hope): Add and refactoring icons
neretin-trike Dec 27, 2023
207d198
feat(plasma-new-hope,-asdk): Add scale tokens to `Button` component
neretin-trike Dec 27, 2023
ca5c71b
feat(plasma-*): Add margin tokens to `Checkbox` component and update …
neretin-trike Dec 27, 2023
06828f7
feat(plasma-*): Add margin tokens to `Radiobox` component and update …
neretin-trike Dec 27, 2023
40fea45
feat(plasma-new-hope): Add color icon close tokens to `Chip` component
neretin-trike Dec 27, 2023
809302a
feat(plasma-new-hope): Update and refactor `Dropdown` component
neretin-trike Dec 27, 2023
015cfde
feat(plasma-new-hope): Add `Select` component
neretin-trike Dec 27, 2023
b62a70a
feat(plasma-new-hope): Add `Select` config for plasma_b2c
neretin-trike Dec 27, 2023
a10ab49
feat(plasma-new-hope): Add `Select` config for plasm_web
neretin-trike Dec 27, 2023
513f1a0
feat(plasma-new-hope): Add keyboard navigation for `Select` component
neretin-trike Jan 29, 2024
a61333a
feat(plasma-new-hope): Add support usePortal for `Select` component
neretin-trike Jan 29, 2024
b81b941
Update versions
Salute-Eva Jan 30, 2024
23ba762
Update package-lock.json files
Salute-Eva Jan 30, 2024
bb7e2e0
ci: remove perftool max log verbosity
akhdrv Jan 24, 2024
0c10c81
feat(plasma-new-hope): add Toast with new architecture
TitanKuzmich Jan 23, 2024
cfeb607
docs(plasma-b2c/web/hope): generate api docs
TitanKuzmich Jan 26, 2024
f145061
feat(plasma-b2c/web): add Toast with new architecture
TitanKuzmich Jan 26, 2024
6992e24
feat(plasma-ui): remove symlink on Toast tests
TitanKuzmich Jan 26, 2024
6ec4d02
feat(plasma-core): update Toast tests
TitanKuzmich Jan 26, 2024
890b9fa
test(plasma-b2c/web): add Toast snapshots
TitanKuzmich Jan 26, 2024
7546196
docs(plasma-web-docs): add Toast docs
TitanKuzmich Jan 26, 2024
92c0f9c
feat(plasma-hope): remove Toast
TitanKuzmich Jan 26, 2024
bed018c
Update versions
Salute-Eva Jan 30, 2024
aaa71fc
Update package-lock.json files
Salute-Eva Jan 30, 2024
78bd5b5
ci: delete unnecessary `on:pull_request` into master
Yakutoc Jan 31, 2024
a42e92f
fix(plasma-new-hope): Add wrapping to placeholder for `TextArea` comp…
neretin-trike Jan 30, 2024
5638ccd
fix(plasma-new-hope): Update behavior with defaultValue for `TextArea…
neretin-trike Jan 30, 2024
6eb614c
Update versions
Salute-Eva Jan 31, 2024
855d9d6
Update package-lock.json files
Salute-Eva Jan 31, 2024
6b53320
Merge remote-tracking branch 'origin/dev' into release_2024-01-31
Yakutoc Jan 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 11 additions & 1 deletion .github/processing-scope.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,18 @@ module.exports = () => {
const HAS_PLASMA_TEMPLE = packagesList.includes('@salutejs/plasma-temple');
const HAS_PLASMA_HOPE = packagesList.includes('@salutejs/plasma-new-hope');
const HAS_PLASMA_ASDK = packagesList.includes('@salutejs/plasma-asdk');
const HAS_CALDERA = packagesList.includes('@salutejs/caldera');
const HAS_CALDERA_ONLINE = packagesList.includes('@salutejs/caldera-online');
const HAS_PLASMA_WEBSITE = packagesList.includes('@salutejs/plasma-website');

const HAS_DOCUMENTATION_CHANGED =
HAS_PLASMA_WEBSITE || HAS_PLASMA_UI_DOCS || HAS_PLASMA_WEB_DOCS || HAS_PLASMA_TEMPLE_DOCS || HAS_PLASMA_ASDK;
HAS_PLASMA_WEBSITE ||
HAS_PLASMA_UI_DOCS ||
HAS_PLASMA_WEB_DOCS ||
HAS_PLASMA_TEMPLE_DOCS ||
HAS_PLASMA_ASDK ||
HAS_CALDERA ||
HAS_CALDERA_ONLINE;

// Флаг для управления логикой "@auto-it" плагина upload-assets-extend
// Изменения в plasma-tokens или plasma-tokens-utils так же повлияют на то что в packagesList окажется plasma-tokens-native
Expand Down Expand Up @@ -87,5 +95,7 @@ module.exports = () => {
HAS_PLASMA_HOPE,
HAS_PLASMA_ASDK,
HAS_ASSETS,
HAS_CALDERA,
HAS_CALDERA_ONLINE,
};
};
10 changes: 10 additions & 0 deletions .github/workflows/change-detection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ on:
HAS_PLASMA_ASDK:
description: ""
value: ${{ jobs.run.outputs.HAS_PLASMA_ASDK }}
HAS_CALDERA:
description: ""
value: ${{ jobs.run.outputs.HAS_CALDERA }}
HAS_CALDERA_ONLINE:
description: ""
value: ${{ jobs.run.outputs.HAS_CALDERA_ONLINE }}
HAS_ASSETS:
description: ""
value: ${{ jobs.run.outputs.HAS_ASSETS }}
Expand All @@ -74,6 +80,8 @@ jobs:
HAS_PLASMA_UI: ${{ steps.set-output.outputs.HAS_PLASMA_UI }}
HAS_PLASMA_HOPE: ${{ steps.set-output.outputs.HAS_PLASMA_HOPE }}
HAS_PLASMA_ASDK: ${{ steps.set-output.outputs.HAS_PLASMA_ASDK }}
HAS_CALDERA: ${{ steps.set-output.outputs.HAS_CALDERA }}
HAS_CALDERA_ONLINE: ${{ steps.set-output.outputs.HAS_CALDERA_ONLINE }}
HAS_ASSETS: ${{ steps.set-output.outputs.HAS_ASSETS }}
PACKAGES_ENUMERATION: ${{ steps.set-output.outputs.PACKAGES_ENUMERATION }}

Expand Down Expand Up @@ -125,6 +133,8 @@ jobs:
echo "HAS_PLASMA_UI=${{ fromJSON(steps.scope.outputs.result).HAS_PLASMA_UI }}" >> $GITHUB_OUTPUT
echo "HAS_PLASMA_HOPE=${{ fromJSON(steps.scope.outputs.result).HAS_PLASMA_HOPE }}" >> $GITHUB_OUTPUT
echo "HAS_PLASMA_ASDK=${{ fromJSON(steps.scope.outputs.result).HAS_PLASMA_ASDK }}" >> $GITHUB_OUTPUT
echo "HAS_CALDERA=${{ fromJSON(steps.scope.outputs.result).HAS_CALDERA }}" >> $GITHUB_OUTPUT
echo "HAS_CALDERA_ONLINE=${{ fromJSON(steps.scope.outputs.result).HAS_CALDERA_ONLINE }}" >> $GITHUB_OUTPUT
echo "HAS_ASSETS=${{ fromJSON(steps.scope.outputs.result).HAS_ASSETS }}" >> $GITHUB_OUTPUT
echo "PACKAGES_ENUMERATION=${{ fromJSON(steps.scope.outputs.result).PACKAGES_ENUMERATION }}" >> $GITHUB_OUTPUT

Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Default based by dev branch
name: Create release PR and generate changelog

on:
Expand Down Expand Up @@ -25,6 +26,7 @@ jobs:
run: |
echo "DATE=$(date +'%d.%m.%Y')" >> $GITHUB_ENV
echo "FROM_TAG=$(git merge-base --fork-point origin/master)" >> $GITHUB_ENV
echo "FILE=${{ github.workspace }}/changelog_artifacts.md" >> $GITHUB_ENV

- name: Build Changelog
id: github_release
Expand All @@ -34,22 +36,24 @@ jobs:
configuration: "./.github/changelog-builder-config.json"

- name: List pull request
run: echo "pull_requests -->${{ steps.github_release.outputs.pull_requests}}"
# List merged pull request into dev branch
run: echo "pull_requests --> ${{ steps.github_release.outputs.pull_requests }}"

- name: Create "changelog_artifacts.md"
# Write multiple lines input stream
run: |
cat > ${{ github.workspace }}/changelog_artifacts.md << EOL
`${{ steps.github_release.outputs.changelog }}`
EOL

cat > ${{ env.FILE }} <<'EOF'
${{ steps.github_release.outputs.changelog }}

- name: Upload "changelog_artifacts.md"
uses: actions/upload-artifact@master
with:
name: release-changelog-artifacts
path: ${{ github.workspace }}/changelog_artifacts.md
path: ${{ env.FILE }}

- name: Create release PR
run: |
gh pr create --base master --head dev --title "Release by ${{ env.DATE }}" --body '# Release Notes
body='# Release Notes
${{ steps.github_release.outputs.changelog }}'
gh pr create --base master --head ${{ github.ref_name }} --title "Release by ${{ env.DATE }}" --body "$body"

40 changes: 40 additions & 0 deletions .github/workflows/documentation-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,16 @@ jobs:
run: |
npm run storybook:build --prefix="./packages/plasma-asdk"
cp -R ./packages/plasma-asdk/build-sb ./s3_build_sb/asdk-storybook

- name: Plasma "Caldera" Storybook
run: |
npm run storybook:build --prefix="./packages/caldera"
cp -R ./packages/caldera/build-sb ./s3_build_sb/caldera-storybook

- name: Plasma "Caldera-online" Storybook
run: |
npm run storybook:build --prefix="./packages/caldera-online"
cp -R ./packages/caldera-online/build-sb ./s3_build_sb/caldera-online-storybook

- name: Plasma Temple Storybook
run: |
Expand Down Expand Up @@ -165,3 +175,33 @@ jobs:
sync
./s3_build_sb/asdk-storybook/
s3://${{ secrets.AWS_S3_BUCKET_2 }}/asdk-storybook/

- name: Upload to S3 storybook "Caldera"
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_build_sb/caldera-storybook/
s3://${{ secrets.AWS_S3_BUCKET_2 }}/caldera-storybook/

- name: Upload to S3 storybook "Caldera-online"
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_build_sb/caldera-online-storybook/
s3://${{ secrets.AWS_S3_BUCKET_2 }}/caldera-online-storybook/
29 changes: 24 additions & 5 deletions .github/workflows/documentation-pr.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: PR Documentation and Storybook
name: PR Documentation and Storybook [PR into DEV branch]

on:
pull_request:
branches:
- master
pull_request_target:
branches:
- dev
Expand Down Expand Up @@ -168,6 +165,18 @@ jobs:
npm run storybook:build --prefix="./packages/plasma-asdk"
cp -R ./packages/plasma-asdk/build-sb ./s3_build/${PR_NAME}/asdk-storybook

- name: Plasma "Caldera" Storybook
if: ${{ needs.scope.outputs.HAS_CALDERA == 'true' }}
run: |
npm run storybook:build --prefix="./packages/caldera"
cp -R ./packages/caldera/build-sb ./s3_build/${PR_NAME}/caldera-storybook

- name: Plasma "Caldera-online" Storybook
if: ${{ needs.scope.outputs.HAS_CALDERA_ONLINE == 'true' }}
run: |
npm run storybook:build --prefix="./packages/caldera-online"
cp -R ./packages/caldera-online/build-sb ./s3_build/${PR_NAME}/caldera-online-storybook

- name: Install s3cmd
run: pip3 install s3cmd

Expand Down Expand Up @@ -195,10 +204,12 @@ jobs:
HAS_PLASMA_TEMPLE: ${{ fromJSON(needs.scope.outputs.HAS_PLASMA_TEMPLE) }}
HAS_PLASMA_HOPE: ${{ fromJSON(needs.scope.outputs.HAS_PLASMA_HOPE) }}
HAS_PLASMA_ASDK: ${{ fromJSON(needs.scope.outputs.HAS_PLASMA_ASDK) }}
HAS_CALDERA: ${{ fromJSON(needs.scope.outputs.HAS_CALDERA) }}
HAS_CALDERA_ONLINE: ${{ fromJSON(needs.scope.outputs.HAS_CALDERA_ONLINE) }}
with:
github-token: ${{secrets.GH_TOKEN}}
script: |
const { HAS_PLASMA_B2C, HAS_PLASMA_WEB, HAS_PLASMA_UI, HAS_PLASMA_TEMPLE, HAS_PLASMA_HOPE, HAS_PLASMA_ASDK } = process.env;
const { HAS_PLASMA_B2C, HAS_PLASMA_WEB, HAS_PLASMA_UI, HAS_PLASMA_TEMPLE, HAS_PLASMA_HOPE, HAS_PLASMA_ASDK, HAS_CALDERA, HAS_CALDERA_ONLINE } = process.env;

const {
issue: { number },
Expand Down Expand Up @@ -232,6 +243,14 @@ jobs:
if (HAS_PLASMA_ASDK === 'true') {
links.push(`asdk storybook: http://plasma.sberdevices.ru/pr/pr-${number}/asdk-storybook/`)
}

if (HAS_CALDERA === 'true') {
links.push(`caldera storybook: http://plasma.sberdevices.ru/pr/pr-${number}/caldera-storybook/`)
}

if (HAS_CALDERA_ONLINE === 'true') {
links.push(`caldera-online storybook: http://plasma.sberdevices.ru/pr/pr-${number}/caldera-online-storybook/`)
}

github.rest.issues.createComment({
issue_number: number,
Expand Down
145 changes: 145 additions & 0 deletions .github/workflows/documentation-pull-request-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# Отдельный workflow для pull request из ветки dev в мастер.
# Собирает storybook для всех пакетов (plasma-{web,b2c,ui,asdk,etc}) без каких либо условий.
# Мотивация - нужен стенд для проведения регрессионного тестирования релизных изменений.
name: Documentation and Storybook [DEV => MASTER]

on:
pull_request:
branches:
- master

concurrency:
# New commit on branch cancels running workflows of the same branch
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true

jobs:
documentation:
name: Build
runs-on: ubuntu-latest
env:
PR_NAME: pr-${{ github.event.number }}
ICONS_PUBLIC_URL: /icons
steps:
- uses: actions/checkout@v4
with:
show-progress: false

- name: Prepare environment
uses: ./.github/actions/prepare-environment

- name: Lerna bootstrap
run: npx lerna bootstrap

- name: Prepare directory
run: mkdir -p s3_build/${PR_NAME}

# TODO: https://github.com/salute-developers/plasma/issues/603
- name: Plasma Website
run: |
export NODE_OPTIONS=--openssl-legacy-provider
npm run build --prefix="./website/plasma-website"
cp -R ./website/plasma-website/build/. ./s3_build/${PR_NAME}

- name: Plasma UI Docs
run: |
export NODE_OPTIONS=--openssl-legacy-provider
npm run build --prefix="./website/plasma-ui-docs"
cp -R ./website/plasma-ui-docs/build ./s3_build/${PR_NAME}/ui

- name: Plasma Web Docs
run: |
export NODE_OPTIONS=--openssl-legacy-provider
npm run build --prefix="./website/plasma-web-docs"
cp -R ./website/plasma-web-docs/build ./s3_build/${PR_NAME}/web

- name: Plasma Web Temple
run: |
export NODE_OPTIONS=--openssl-legacy-provider
npm run build --prefix="./website/plasma-temple-docs"
cp -R ./website/plasma-temple-docs/build ./s3_build/${PR_NAME}/temple

- name: Plasma UI Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-ui"
cp -R ./packages/plasma-ui/build-sb ./s3_build/${PR_NAME}/ui-storybook

- name: Plasma Web Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-web"
cp -R ./packages/plasma-web/build-sb ./s3_build/${PR_NAME}/web-storybook

- name: Plasma B2C Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-b2c"
cp -R ./packages/plasma-b2c/build-sb ./s3_build/${PR_NAME}/b2c-storybook

- name: Plasma Temple Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-temple"
cp -R ./packages/plasma-temple/build-sb ./s3_build/${PR_NAME}/temple-storybook

- name: Plasma "New Hope" Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-new-hope"
cp -R ./packages/plasma-new-hope/build-sb ./s3_build/${PR_NAME}/new-hope-storybook

- name: Plasma "ASDK" Storybook
run: |
npm run storybook:build --prefix="./packages/plasma-asdk"
cp -R ./packages/plasma-asdk/build-sb ./s3_build/${PR_NAME}/asdk-storybook

- name: Plasma "Caldera" Storybook
run: |
npm run storybook:build --prefix="./packages/caldera"
cp -R ./packages/caldera/build-sb ./s3_build/${PR_NAME}/caldera-storybook

- name: Plasma "Caldera-online" Storybook
run: |
npm run storybook:build --prefix="./packages/caldera-online"
cp -R ./packages/caldera-online/build-sb ./s3_build/${PR_NAME}/caldera-online-storybook

- name: Install s3cmd
run: pip3 install s3cmd

- name: s3 Upload builds
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_build/${PR_NAME}/
s3://${{ secrets.AWS_S3_BUCKET_2 }}/pr/${PR_NAME}/

- name: Post success comment
uses: actions/github-script@v6
with:
github-token: ${{secrets.GH_TOKEN}}
script: |
const {
issue: { number },
repo: { owner, repo }
} = context;

github.rest.issues.createComment({
issue_number: number,
owner,
repo,
body: `Documentation preview deployed!
website: http://plasma.sberdevices.ru/pr/pr-${number}/
b2c storybook: http://plasma.sberdevices.ru/pr/pr-${number}/b2c-storybook/
web storybook: http://plasma.sberdevices.ru/pr/pr-${number}/web-storybook/
ui storybook: http://plasma.sberdevices.ru/pr/pr-${number}/ui-storybook/
temple storybook: http://plasma.sberdevices.ru/pr/pr-${number}/temple-storybook/
new-hope storybook: http://plasma.sberdevices.ru/pr/pr-${number}/new-hope-storybook/
asdk storybook: http://plasma.sberdevices.ru/pr/pr-${number}/asdk-storybook/
caldera storybook: http://plasma.sberdevices.ru/pr/pr-${number}/caldera-storybook/
caldera-online storybook: http://plasma.sberdevices.ru/pr/pr-${number}/caldera-online-storybook/
`
});
Loading
Loading