Skip to content

Complete Rust runtime rewrite: Full compiler with Type Checker, WASM Codegen, and CI/CD Pipelines - 100% complete #12

Complete Rust runtime rewrite: Full compiler with Type Checker, WASM Codegen, and CI/CD Pipelines - 100% complete

Complete Rust runtime rewrite: Full compiler with Type Checker, WASM Codegen, and CI/CD Pipelines - 100% complete #12

Workflow file for this run

name: Deploy Documentation to GitHub Pages
permissions:
contents: write
on:
push:
branches: [main]
paths:
- 'HypnoScript.Dokumentation/**'
- '.github/workflows/deploy-docs.yml'
- 'hypnoscript-*/src/**'
- 'RUST_README.md'
pull_request:
branches: [main]
paths:
- 'HypnoScript.Dokumentation/**'
- 'hypnoscript-*/src/**'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Build Rust documentation
run: |
cargo doc --no-deps --workspace --release
mkdir -p rust-docs
cp -r target/doc/* rust-docs/
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: HypnoScript.Dokumentation/package-lock.json
- name: Install Dependencies
working-directory: HypnoScript.Dokumentation
run: npm ci
- name: Build Documentation
working-directory: HypnoScript.Dokumentation
run: npm run build
- name: Copy Rust docs to build directory
run: |
mkdir -p HypnoScript.Dokumentation/build/rust-api
cp -r rust-docs/* HypnoScript.Dokumentation/build/rust-api/
- name: Deploy to GitHub Pages
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./HypnoScript.Dokumentation/build
destination_dir: .
# Optional: Build and test on PR
test-build:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Build Rust documentation
run: cargo doc --no-deps --workspace --release
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: HypnoScript.Dokumentation/package-lock.json
- name: Install Dependencies
working-directory: HypnoScript.Dokumentation
run: npm ci
- name: Build Documentation
working-directory: HypnoScript.Dokumentation
run: npm run build
- name: Check for broken links
working-directory: HypnoScript.Dokumentation
run: |
npm install -g broken-link-checker
blc http://localhost:3000 -ro