leptos-struct-table 0.19.0

Generate a complete batteries included leptos data table component from a struct definition.
Documentation
name: CD

on:
  push:
    # Pattern matched against refs/tags
    tags:
      - '*'           # Push events to every tag not containing /
  workflow_dispatch:

permissions: {}

jobs:
  cargo_checks:
    name: Cargo Checks
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - name: Setup Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: nightly
          components: rustfmt, clippy
      - name: Check formatting
        run: cargo fmt --check
      - name: Clippy
        run: cargo clippy --tests -- -D warnings
      # TODO : wait for cargo-rdme to catch up with rustdoc
      # - name: Check if the README is up to date.
      #   run: |
      #     cargo install cargo-rdme
      #     cargo rdme --check
      - name: Run tests
        run: cargo test --features chrono,uuid,rust_decimal,time

  test_examples:
    name: Test Examples
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        example:
          - bootstrap
          - column_index_type
          - column_order_and_visibility
          - custom_renderers_svg
          - custom_row_renderer
          - editable
          - generic
          - getter
          - i18n
          - paginated_rest_datasource
          - pagination
          - selectable
          - serverfn_sqlx
          - simple
          - tailwind
    steps:
      - uses: actions/checkout@v7
      - name: Setup Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: nightly
      - name: Build example ${{ matrix.example }}
        run: |
          cd ${{ github.workspace }}/examples/${{ matrix.example }}/
          cargo build
        shell: bash

  publish:
    name: Publish
    runs-on: ubuntu-latest
    needs: [ cargo_checks, test_examples ]
    steps:
      - uses: actions/checkout@v7
      - name: Setup Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: nightly
      - name: Publish crate leptos-struct-table
        uses: katyo/publish-crates@v2
        with:
          registry-token: ${{ secrets.CRATES_TOKEN }}

      - uses: CSchoel/release-notes-from-changelog@v1
      - name: Create Release using GitHub CLI
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: >
          gh release create
          -d
          -F RELEASE.md
          -t "Version $RELEASE_VERSION"
          ${GITHUB_REF#refs/*/}