Skip to content

Fix: explicitly fetch master branch from RayforceDB/rayforce #6

Fix: explicitly fetch master branch from RayforceDB/rayforce

Fix: explicitly fetch master branch from RayforceDB/rayforce #6

Workflow file for this run

name: Build and Deploy to GitHub Pages
on:
push:
branches: [master]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout rayforce-wasm
uses: actions/checkout@v4
- name: Checkout rayforce (source)
uses: actions/checkout@v4
with:
repository: RayforceDB/rayforce
ref: master
path: rayforce-src
- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@v14
with:
version: 'latest'
- name: Verify Emscripten
run: emcc --version
- name: Verify rayforce commit
run: |
cd rayforce-src
echo "Rayforce commit: $(git rev-parse HEAD)"
echo "Rayforce log:"
git log --oneline -3
# Verify math.c has direct call fix
grep -c "obj_p\(\*\)(obj_p, i64_t, i64_t)" core/math.c || echo "WARNING: math.c fix NOT found!"
- name: Sync sources
run: |
mkdir -p src/rayforce
# Copy core C sources from rayforce/core/ to src/rayforce/
cp rayforce-src/core/*.c src/rayforce/
cp rayforce-src/core/*.h src/rayforce/
- name: Build WASM
run: |
# Set RAYFORCE_LOCAL to the checked out source
export RAYFORCE_LOCAL=$GITHUB_WORKSPACE/rayforce-src
make wasm
- name: Prepare deployment
run: |
mkdir -p _site
# Copy WASM build
cp dist/rayforce.js _site/
cp dist/rayforce.wasm _site/
# Copy demo page and assets
cp examples/index.html _site/
cp examples/favicon.ico _site/
cp -r examples/assets _site/
# Fix paths for flat structure (dist is now in same folder)
sed -i 's|../dist/rayforce.js|./rayforce.js|g' _site/index.html
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: _site
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4