dip 0.2.1

Write cross-platform application with React-like declarative UI framework and scalable ECS architecture all in Rust.
Documentation
name: Rust

on:
  push:
    branches:
      - main
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  Test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: Swatinem/rust-cache@v2
      - name: Install prerequisites
        run: |
          cargo install cargo-workspaces

          sudo apt-get update
          sudo apt-get install -y \
            libudev-dev \
            libwebkit2gtk-4.0-dev \
            build-essential \
            curl \
            wget \
            libssl-dev \
            libgtk-3-dev \
            libayatana-appindicator3-dev \
            librsvg2-dev
      - name: Build
        run: cargo build --all-features
      - name: Build Workspaces
        run: cargo ws exec cargo build --all-features
      - name: Build Examples
        run: cargo build --examples --all-features
      - name: Run tests
        run: cargo ws exec cargo test --all-features
  Format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: Swatinem/rust-cache@v2
      - name: Check format
        run: cargo fmt --check
  Changelog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: orhun/git-cliff-action@v1
        with:
          config: cliff.toml
          args: --verbose
        env:
          OUTPUT: CHANGELOG.md