mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-03 05:08:53 +00:00
ci: очищать dist перед распаковкой бандла (#663)
Issue: #663 User-Visible: no
This commit is contained in:
@@ -847,6 +847,13 @@ jobs:
|
||||
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
|
||||
with:
|
||||
node-version: 22
|
||||
# download-artifact распаковывает поверх checkout и не удаляет старые
|
||||
# content-hashed чанки закоммиченного release-бандла (#657). Свежий
|
||||
# артефакт должен быть единственным содержимым dist, иначе bundle-tree
|
||||
# справедливо видит оставшиеся файлы как orphan assets.
|
||||
- name: Очистить закоммиченный dist перед артефактом
|
||||
run: |
|
||||
node -e "require('node:fs').rmSync('dist', { recursive: true, force: true })"
|
||||
- name: Забрать собранный бандл
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
@@ -893,6 +900,9 @@ jobs:
|
||||
# Бандл приходит артефактом из job `frontend` (#336): та же сборка, но
|
||||
# один раз на прогон. Свежесть проверяет сам продукт — `assertFreshDemoBundle`
|
||||
# сверяет вшитый отпечаток с исходниками этого дерева.
|
||||
- name: Очистить закоммиченный dist перед артефактом
|
||||
run: |
|
||||
node -e "require('node:fs').rmSync('dist', { recursive: true, force: true })"
|
||||
- name: Забрать собранный бандл
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
@@ -1013,6 +1023,9 @@ jobs:
|
||||
# Бандл приходит артефактом из job `frontend` (#336): та же сборка, но
|
||||
# один раз на прогон. Свежесть проверяет сам продукт — `assertFreshDemoBundle`
|
||||
# сверяет вшитый отпечаток с исходниками этого дерева.
|
||||
- name: Очистить закоммиченный dist перед артефактом
|
||||
run: |
|
||||
node -e "require('node:fs').rmSync('dist', { recursive: true, force: true })"
|
||||
- name: Забрать собранный бандл
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
@@ -1117,6 +1130,9 @@ jobs:
|
||||
# Бандл приходит артефактом из job `frontend` (#336): та же сборка, но
|
||||
# один раз на прогон. Свежесть проверяет сам продукт — `assertFreshDemoBundle`
|
||||
# сверяет вшитый отпечаток с исходниками этого дерева.
|
||||
- name: Очистить закоммиченный dist перед артефактом
|
||||
run: |
|
||||
node -e "require('node:fs').rmSync('dist', { recursive: true, force: true })"
|
||||
- name: Забрать собранный бандл
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
|
||||
@@ -57,6 +57,11 @@ test('бандл собирается один раз и приезжает бр
|
||||
assert.equal(builds.length, 1, 'бандл должен собираться ровно в одной job');
|
||||
assert.equal(workflow.match(/name: card-bundle/g)?.length, 5,
|
||||
'один upload и четыре download артефакта бандла (три браузерные job и стенд dev, #657)');
|
||||
const cleanDownloads = workflow.match(
|
||||
/- name: Очистить закоммиченный dist перед артефактом\n\s+run: \|\n\s+node -e "require\('node:fs'\)\.rmSync\('dist', \{ recursive: true, force: true \}\)"\n\s+- name: Забрать собранный бандл\n\s+uses: actions\/download-artifact@[0-9a-f]+ # v7\n\s+with:\n\s+name: card-bundle\n\s+path: dist/g,
|
||||
) || [];
|
||||
assert.equal(cleanDownloads.length, 4,
|
||||
'каждый download свежего бандла обязан сначала удалить старые content-hashed чанки checkout');
|
||||
assert.equal(workflow.match(/name: card-test-build/g)?.length, 2,
|
||||
'один upload и один download тестового дерева для smoke job');
|
||||
assert.match(workflow, /name: card-test-build\n\s+path: test-build\//,
|
||||
|
||||
Reference in New Issue
Block a user