Complete Rust runtime rewrite: Full compiler with Type Checker, WASM Codegen, and CI/CD Pipelines - 100% complete #12
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |