Пайплайны test и publish, реестр — организация Tansu

- test: юнит-тесты и сборка на каждый push в main, на PR и по кнопке
- publish: по кнопке тесты и публикация в реестр Tansu; ci/publish.sh сам считает патч-версию
  по реестру (major.minor — из package.json) и не публикует, если хэш кода совпал с последней
  опубликованной версией
- .npmrc и publishConfig — реестр Tansu, repository — Tansu/tnsu-ui-kit
- README: установка без токена, публикация кнопкой

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-28 17:19:14 +05:00
parent 048fec0696
commit 2a32b998f6
7 changed files with 201 additions and 39 deletions
+34
View File
@@ -0,0 +1,34 @@
name: publish
# Публикация @tnsu/ui-kit в реестр организации Tansu — только по кнопке (Actions -> publish -> Run workflow).
# Сначала юнит-тесты и сборка, потом ci/publish.sh: версию он считает сам (major.minor — из package.json,
# патч — следующий после опубликованного), а если код не менялся с последней опубликованной версии,
# падает с «Публиковать нечего».
#
# Секреты: PACKAGES_USER — логин в Gitea, PACKAGES_TOKEN — его токен со scope write:package
# (пользователь должен состоять в организации Tansu с правом записи).
on:
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install
run: npm ci --no-audit --no-fund
- name: Unit tests
run: npm test
- name: Publish
env:
PACKAGES_TOKEN: ${{ secrets.PACKAGES_TOKEN }}
run: bash ci/publish.sh