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
50 changes: 50 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI

# Проверяем только pull request'ы и ручной запуск.
# Деплой живёт отдельно, в deploy.yml, и реагирует только на push в main.
on:
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: site-ci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22.23.4'
cache: 'npm'

- name: "Guard: без внутренних файлов"
run: |
bad=$(git ls-files | grep -E '^(AGENTS\.md|SITE_HANDOFF\.md|docs/internal/)' || true)
if [ -n "$bad" ]; then
echo "::error::В ветке появились внутренние файлы:"
echo "$bad"
exit 1
fi
echo "Ветка чистая."

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Upload dist
uses: actions/upload-artifact@v4
with:
name: site-dist
path: dist
retention-days: 3
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,6 @@ public/
| `main` | прод: то, что видят пользователи | GitHub Pages, автоматически |
| `dev` | разработка: черновики, эксперименты | нет |

Работа идёт в `dev`, в `main` попадает только проверенная сборка (`npm run build` + просмотр `npm run preview`).
Работа идёт в `dev`. `main` — это опубликованный сайт: push в него запускает деплой, поэтому
`dev → main` мержится только при выпуске релиза (или чтобы срочно поправить ошибку на проде).
Перед PR: `npm run build` и `npm run preview`.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "validum-site",
"type": "module",
"version": "0.1.0",
"version": "0.2.0",
"engines": {
"node": ">=22.23.4"
},
Expand Down
2 changes: 1 addition & 1 deletion src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const currentPath = Astro.url.pathname;
</svg>
</div>
<span class="font-semibold text-[15px] tracking-tight">Validum</span>
<span class="hidden xl:inline text-[11px] font-mono px-1.5 py-0.5 rounded border border-line text-fg-muted">v0.1.0-SNAPSHOT</span>
<span class="hidden xl:inline text-[11px] font-mono px-1.5 py-0.5 rounded border border-line text-fg-muted">v0.2.0</span>
</a>

<nav class="hidden lg:flex items-center gap-4 xl:gap-6">
Expand Down
17 changes: 11 additions & 6 deletions src/pages/changelog.astro
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ import BaseLayout from '../layouts/BaseLayout.astro';
<div class="relative">
<div class="absolute -left-[41px] top-1 w-5 h-5 rounded-full bg-accent border-4 border-surface-0"></div>
<div class="flex items-center gap-4 mb-3 flex-wrap">
<h2 class="text-2xl font-bold font-mono">v0.1.0-SNAPSHOT</h2>
<span class="px-2 py-0.5 rounded-full bg-accent/10 text-accent text-xs font-mono border border-accent/20">Текущая сборка</span>
<span class="text-sm text-fg-muted font-mono">Октябрь 2026</span>
<h2 class="text-2xl font-bold font-mono">v0.2.0</h2>
<span class="px-2 py-0.5 rounded-full bg-accent/10 text-accent text-xs font-mono border border-accent/20">Актуальный релиз</span>
<span class="text-sm text-fg-muted font-mono">Ноябрь 2026</span>
</div>
<p class="text-fg-muted mb-4">MVP на пути к первому публичному релизу. Apache 2.0. Git-тега пока нет — в Gradle указана версия 0.1.0-SNAPSHOT.</p>
<p class="text-fg-muted mb-4">Пакет «Набор»: воспроизводимость, уникальность и читаемый CSV. Apache 2.0. Артефакты — в <a href="https://github.com/Validum-Tech/validum/releases/tag/v0.2.0" class="text-accent hover:underline">GitHub Releases</a>, библиотеки — в Maven Central.</p>
<ul class="space-y-2 text-sm text-fg-muted">
<li class="flex gap-2"><span class="text-accent">+</span> <code>validum-core</code> — zero-dependency ядро, 18 пакетов</li>
<li class="flex gap-2"><span class="text-accent">+</span> <code>validum-api</code> — Spring Boot 3.5.7, 19 эндпоинтов</li>
<li class="flex gap-2"><span class="text-accent">+</span> <code>validum-cli</code> — fat JAR ~15 МБ, 8 команд Picocli</li>
<li class="flex gap-2"><span class="text-accent">+</span> <code>validum-cli</code> — fat JAR ~15 МБ, 9 команд Picocli</li>
<li class="flex gap-2"><span class="text-accent">+</span> <code>validum-allure</code> — JUnit 5 Extension</li>
<li class="flex gap-2"><span class="text-accent">+</span> 370 банков ЦБ РФ из ED807 (1380 участников, 17 типов PtType)</li>
<li class="flex gap-2"><span class="text-accent">+</span> Счета: 12 типов, контрольный ключ по письму ЦБ № 515 (учитывает БИК подразделения)</li>
Expand All @@ -33,7 +33,12 @@ import BaseLayout from '../layouts/BaseLayout.astro';
<li class="flex gap-2"><span class="text-accent">+</span> ОКВЭД-2: полный справочник (3069 кодов) у ЮЛ и ИП, явный код в REST и CLI</li>
<li class="flex gap-2"><span class="text-accent">+</span> Seed-детерминизм: <code>asOf</code> — профиль не зависит от календарной даты</li>
<li class="flex gap-2"><span class="text-accent">+</span> Справочник БИК обязателен — демо-набор из 30 банков удалён</li>
<li class="flex gap-2"><span class="text-accent">+</span> 721 тест зелёных (567 core · 80 api · 55 cli · 19 allure)</li>
<li class="flex gap-2"><span class="text-accent">+</span> Версия и seed в выводе: stderr-строка, заголовки REST, шапка SQL — прогон воспроизводим</li>
<li class="flex gap-2"><span class="text-accent">+</span> <code>--unique</code>: повторов ИНН/ОГРНИП/ОГРН нет, ёмкость проверяется до генерации</li>
<li class="flex gap-2"><span class="text-accent">+</span> CSV для Excel: <code>csv-semicolon</code> с русскими заголовками и BOM</li>
<li class="flex gap-2"><span class="text-accent">+</span> Набор из спецификации: <code>generate --spec set.json</code></li>
<li class="flex gap-2"><span class="text-accent">+</span> Отчёт о покрытии: <code>coverage --file clients.csv</code></li>
<li class="flex gap-2"><span class="text-accent">+</span> 769 тестов зелёных (585 core · 87 api · 78 cli · 19 allure)</li>
</ul>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/pages/docs/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,11 @@ java -jar validum-cli/build/libs/validum.jar --help</code></pre>

<h3 class="text-xl font-semibold mb-3">Java-библиотека</h3>
<p class="text-sm text-fg-muted mb-3">
Публикация в Maven Central запланирована (P1.1). Пока — локальная сборка модуля:
Публикуется в Maven Central — репозиторий подключать не нужно:
</p>
<div class="code-block mb-4">
<pre><code class="language-bash">./gradlew :validum-core:jar
# артефакт: validum-core/build/libs/validum-core-0.1.0-SNAPSHOT.jar</code></pre>
<pre><code class="language-gradle">testImplementation("io.github.validum-tech:validum-core:0.2.0")
testImplementation("io.github.validum-tech:validum-allure:0.2.0")</code></pre>
</div>
</section>

Expand Down
4 changes: 2 additions & 2 deletions src/pages/try.astro
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ import TryForm from '../components/TryForm';
<span class="px-2 py-0.5 bg-accent/10 text-accent border border-accent/20 rounded text-[10px] font-mono uppercase">Java</span>
</div>
<h3 class="font-semibold mb-3">Java-библиотека</h3>
<p class="text-xs text-fg-muted mb-4">Встраивается в JUnit-тесты. Публикация в Maven Central в планах (P1.1).</p>
<p class="text-xs text-fg-muted mb-4">Встраивается в JUnit-тесты. Публикуется в Maven Central.</p>
<div class="bg-code p-3 rounded-lg border border-line text-[11px] font-mono text-fg overflow-x-auto">
<code>./gradlew :validum-core:jar<br><br>// jar лежит в:<br>validum-core/build/libs/validum-core-0.1.0-SNAPSHOT.jar<br><br>// Maven Central — в планах (P1.1)</code>
<code>testImplementation(&quot;io.github.validum-tech:validum-core:0.2.0&quot;)<br><br>// JUnit 5 Extension для Allure:<br>testImplementation(&quot;io.github.validum-tech:validum-allure:0.2.0&quot;)</code>
</div>
</div>
</div>
Expand Down
Loading