holocron 0.5.0

Declarative schema & query compiler — one YAML as the source of truth for SQL schema and a type-checked query catalog.
Documentation
name: Documentation

# Builds the API documentation with rustdoc and publishes it to GitHub Pages.
# Runs on every push to main, and can be triggered manually.
on:
  push:
    branches: [main]
  workflow_dispatch:

# Permissions required by the GitHub Pages deployment.
permissions:
  contents: read
  pages: write
  id-token: write

# Allow one concurrent deployment; don't cancel an in-progress one mid-publish.
concurrency:
  group: pages
  cancel-in-progress: false

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    name: Build docs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2

      - name: Build documentation
        run: cargo doc --no-deps --all-features

      # rustdoc emits the crate docs under target/doc/<crate>/; add a root
      # index.html that redirects to it so the Pages site lands on the docs.
      - name: Add redirect to crate index
        run: echo '<meta http-equiv="refresh" content="0; url=holocron/index.html">' > target/doc/index.html

      # .lock files confuse the Pages artifact upload; remove it if present.
      - name: Remove lock file
        run: rm -f target/doc/.lock

      - uses: actions/configure-pages@v6
      - uses: actions/upload-pages-artifact@v5
        with:
          path: target/doc

  deploy:
    name: Deploy to GitHub Pages
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - id: deployment
        uses: actions/deploy-pages@v5