Skip to content

README: expand three-tier to multi-tier persistence with Semantic Ima… #123

README: expand three-tier to multi-tier persistence with Semantic Ima…

README: expand three-tier to multi-tier persistence with Semantic Ima… #123

name: Build Wasm Library with Emscripten
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4 # Update to v3 for Node.js 20 support
- name: Setup Emscripten toolchain
uses: mymindstorm/setup-emsdk@v14
- name: Install Doxygen
run: sudo apt-get install -y doxygen
- name: Setup Node.js
uses: actions/setup-node@v3 # Ensure using the latest version
with:
node-version: '20' # Specify Node.js 20 for compatibility
- name: Install pnpm
run: npm install -g pnpm
- name: Install Dependencies with pnpm
run: |
cd micropolis
pnpm install # Use pnpm to install dependencies
- name: Build
run: |
echo ".github/workflows/emscripten_build.yaml: Running Build step:"
emcc --version
node --version
make install
# Setup and build Jekyll site
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: Install Jekyll and dependencies
run: |
gem install jekyll bundler
cd docs
bundle init
bundle add jekyll jekyll-theme-minimal jekyll-relative-links jekyll-optional-front-matter
- name: Copy build artifacts to Jekyll
run: |
mkdir -p docs/app
cp -r micropolis/build/* docs/app/
- name: Copy diagrams and PDF to Jekyll
run: |
mkdir -p docs/assets/images docs/assets/pdf
# Copy diagram images
cp Cursor/SimCityReverseDiagrams-Page-*.png docs/assets/images/
cp Cursor/SimCityReverseDiagrams-Note-*.png docs/assets/images/
# Copy PDF
cp Cursor/SimCityReverseDiagrams.pdf docs/assets/pdf/
- name: Build Jekyll site
run: |
cd docs
bundle exec jekyll build
- name: Deploy to GitHub Pages
if: success() && github.ref == 'refs/heads/main' # Only deploy if build was successful and on main branch
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/_site # Use Jekyll's output directory instead