Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 6 additions & 6 deletions .github/workflows/auto-milestone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Auto Milestone & Label Management
on:
push:
branches:
- 'release/v*'
- 'release/*'
pull_request:
types: [opened, synchronize, reopened, edited]
release:
Expand Down Expand Up @@ -31,7 +31,7 @@ jobs:
const repo = context.repo.repo;

function extractVersion(str) {
const match = str.match(/^v?(\d+\.\d+(\.\d+)?)$/);
const match = str.match(/^(\d+\.\d+(\.\d+)?)$/);
return match ? match[1] : null;
}

Expand All @@ -46,10 +46,10 @@ jobs:
return 0;
}

// 1) Создание label при push в release/v*
// 1) Создание label при push в release/*
if (context.eventName === 'push') {
const ref = context.ref;
if (!ref.startsWith('refs/heads/release/v')) return;
if (!ref.startsWith('refs/heads/release/')) return;

const version = extractVersion(ref.replace('refs/heads/release/', ''));
if (!version) return;
Expand All @@ -74,8 +74,8 @@ jobs:
// 2) Присвоение label + назначение milestone для PR
if (context.eventName === 'pull_request') {
const pr = context.payload.pull_request;
const releaseMatch = pr.head.ref.match(/^release\/v(\d+\.\d+(\.\d+)?)$/)
|| pr.base.ref.match(/^release\/v(\d+\.\d+(\.\d+)?)$/);
const releaseMatch = pr.head.ref.match(/^release\/(\d+\.\d+(\.\d+)?)$/)
|| pr.base.ref.match(/^release\/(\d+\.\d+(\.\d+)?)$/);

if (!releaseMatch) return;
const version = releaseMatch[1];
Expand Down
23 changes: 16 additions & 7 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,20 @@ jobs:
env:
GH_TOKEN: ${{ secrets.ADD_TO_PROJECT_PAT }}
steps:
- name: Check Main Branch
if: github.ref != 'refs/heads/main'
- name: Check Release Branch
env:
BRANCH_NAME: ${{ github.ref_name }}
IS_BETA: ${{ inputs.beta }}
run: |
echo "❌ Этот workflow может быть запущен только на основной ветке (main)"
exit 1
if [[ "$IS_BETA" == "true" ]]; then
if [[ ! "$BRANCH_NAME" =~ ^release/[0-9]+\.[0-9]+(\.[0-9]+)?$ ]]; then
echo "❌ Beta-релиз может быть запущен только из ветки release/X.Y или release/X.Y.Z"
exit 1
fi
elif [[ "$BRANCH_NAME" != "main" ]]; then
echo "❌ Стабильный релиз может быть запущен только из ветки main"
exit 1
fi

- name: Verify Release Team
run: |
Expand Down Expand Up @@ -108,7 +117,7 @@ jobs:
if: inputs.noIncrement == false && inputs.bumpMode == 'auto'
run: |
if [ "${{ inputs.beta }}" == "true" ]; then
yarn release --preRelease=beta
yarn release --preRelease=beta --git.requireBranch="$GITHUB_REF_NAME"
else
yarn release
fi
Expand All @@ -117,7 +126,7 @@ jobs:
if: inputs.noIncrement == false && inputs.bumpMode != 'auto'
run: |
if [ "${{ inputs.beta }}" == "true" ]; then
yarn release ${{ inputs.bumpMode }} --preRelease=beta
yarn release ${{ inputs.bumpMode }} --preRelease=beta --git.requireBranch="$GITHUB_REF_NAME"
else
yarn release ${{ inputs.bumpMode }}
fi
Expand All @@ -126,7 +135,7 @@ jobs:
if: inputs.noIncrement == true
run: |
if [ "${{ inputs.beta }}" == "true" ]; then
yarn release --no-increment --no-npm.publish --preRelease=beta
yarn release --no-increment --no-npm.publish --preRelease=beta --git.requireBranch="$GITHUB_REF_NAME"
else
yarn release --no-increment --no-npm.publish
fi
Expand Down
2 changes: 1 addition & 1 deletion app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
expo: {
name: 'CDEK UI',
slug: 'cdek-uikit',
version,
version: version.replace(/[-+].*$/, ''),
orientation: 'portrait',
android: { package: 'ru.cdek.uikit.prime' },
ios: {
Expand Down
8 changes: 4 additions & 4 deletions lefthook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ prepare-commit-msg:

if echo "$branch_name" | grep -Eq '^main$'; then
echo "✅ Имя ветки корректно: $branch_name"
elif echo "$branch_name" | grep -Eq '^(feature|chore|fix)/[^/]+$'; then
elif echo "$branch_name" | grep -Eq '^((feature|chore|fix)/[^/]+|release/[0-9]+\.[0-9]+(\.[0-9]+)?)$'; then
echo "✅ Имя ветки корректно: $branch_name"
else
echo "❌ Ошибка!\nНекорректное имя ветки: $branch_name\nВетка может иметь следующие названия:\n - main\n - feature/название ветки\n - fix/название ветки\n - chore/название ветки"
echo "❌ Ошибка!\nНекорректное имя ветки: $branch_name\nВетка может иметь следующие названия:\n - main\n - feature/название ветки\n - fix/название ветки\n - chore/название ветки\n - release/X.Y\n - release/X.Y.Z"
exit 1
fi
commitizen:
Expand Down Expand Up @@ -63,10 +63,10 @@ pre-push:

if echo "$branch_name" | grep -Eq '^main$'; then
echo "✅ Имя ветки корректно: $branch_name"
elif echo "$branch_name" | grep -Eq '^(feature|chore|fix)/[^/]+$'; then
elif echo "$branch_name" | grep -Eq '^((feature|chore|fix)/[^/]+|release/[0-9]+\.[0-9]+(\.[0-9]+)?)$'; then
echo "✅ Имя ветки корректно: $branch_name"
else
echo "❌ Ошибка!\nНекорректное имя ветки: $branch_name\nВетка может иметь следующие названия:\n - main\n - feature/название ветки\n - fix/название ветки\n - chore/название ветки"
echo "❌ Ошибка!\nНекорректное имя ветки: $branch_name\nВетка может иметь следующие названия:\n - main\n - feature/название ветки\n - fix/название ветки\n - chore/название ветки\n - release/X.Y\n - release/X.Y.Z"
exit 1
fi
eslint:
Expand Down
Loading