hebi 0.4.0

A dynamic scripting language
Documentation
name: CI

on:
  push:
    branches:
      - main
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  lint-test:
    name: Lint + Test
    runs-on: ubuntu-22.04
    strategy:
      fail-fast: false
      matrix:
        toolchain: [stable, nightly]
    steps:
      - uses: actions/checkout@v3

      - name: Install Rust
        uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          components: rustfmt, clippy

      - name: Cache
        uses: Swatinem/rust-cache@v2

      - name: Formatting
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

      - name: Linting
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets --all-features -- -D warnings

      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: xtask
          args: test
#  miri:
#    name: Miri
#    runs-on: ubuntu-22.04
#    env:
#      TOOLCHAIN: nightly
#    steps:
#      - uses: actions/checkout@v3
#
#      - name: Install Rust
#        uses: dtolnay/rust-toolchain@v1
#        with:
#          toolchain: ${{ env.TOOLCHAIN }}
#          components: miri, rust-src
#
#      - name: Cache
#        uses: Swatinem/rust-cache@v2
#
#      - name: Run miri tests
#        uses: actions-rs/cargo@v1
#        with:
#          command: xtask
#          args: miri test