diff --git a/.github/workflows/build-html.yml b/.github/workflows/build-html.yml
new file mode 100644
index 0000000..fb3f695
--- /dev/null
+++ b/.github/workflows/build-html.yml
@@ -0,0 +1,39 @@
+name: Build HTML from Sample CV
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ build-html:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '18'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm install
+
+ - name: Build HTML from sample.cv.json
+ run: |
+ DATA_FILENAME="${{ github.workspace }}/sample.cv.json" \
+ OUT_DIR="${{ github.workspace }}/output" \
+ npm run build
+
+ - name: Upload HTML artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: sample-cv-html
+ path: output/index.html
+ retention-days: 30
\ No newline at end of file