Skip to content

디자인: pyproc 브랜드와 랜딩 전면 개편 #236

디자인: pyproc 브랜드와 랜딩 전면 개편

디자인: pyproc 브랜드와 랜딩 전면 개편 #236

Workflow file for this run

# GitHub Pages 데모 배포. 빌드 없음(네이티브 ESM): 저장소 파일을 그대로 조립해 올린다.
# GH Pages는 응답 헤더를 못 달지만 실측으로 경로를 확보했다(pythonMachine 캠페인):
# - SAB 없는 데모(machine/terminal/basic)는 헤더 없이 그대로 돈다(noCoiProbe 7/7).
# - SAB 필요한 processOs는 pyprocSw(?coi=1) 헤더 주입 + 1회 새로고침으로 연다(swCoiProbe 4/4).
name: pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: 22
# RED 커밋이 공개 진열장으로 나가지 않게 한다. 배포는 사람이 보는 표면이고, 구조 게이트는
# 의존성 0이라 여기서 도는 비용이 거의 없다(브라우저 게이트는 ci job이 본다).
- run: npm ci
- run: npm test
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: vendor/pyodide
key: pyodide-${{ hashFiles('src/runtime/pyodideDistribution.js', 'scripts/assetCatalog.json') }}
- run: npm run fetch:engine
- name: 데모 사이트 조립 (예제 + 라이브러리 + 브랜드 자산 + SW 루트 사본 + 랜딩 루트 승격)
run: |
mkdir -p _site
# assets: 파비콘·헤더 로고가 참조하는 브랜드 마크 정본(랜딩은 assets/, 예제는 ../assets/).
cp -r examples src assets vendor _site/
cp index.js index.d.ts LICENSE _site/
cp src/capabilities/pyprocSw.js _site/pyprocSw.js
# 랜딩은 examples/index.html이 정본이고 배포 루트로 승격된다(상대 경로가 루트 기준).
mv _site/examples/index.html _site/index.html
- uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: _site
- id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4