atom_table 1.1.0

Assign easy-to-handle typed IDs to large, hard to handle things like strings
Documentation
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
# SPDX-FileCopyrightText: 2022, GitHub
# SPDX-FileCopyrightText: 2023, Collabora, Ltd.

name: Tests

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout sources
        uses: actions/checkout@v3

      - name: Install stable Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          components: llvm-tools-preview

      - name: Prepare rust caching
        uses: Swatinem/rust-cache@v1

      - name: Build
        run: cargo build --verbose

      - name: Run tests
        run: cargo test --verbose

      - name: Run tests in minimal configuration
        run: cargo test --verbose --no-default-features

      - name: Install grcov
        run: cargo install grcov

      - name: Run clippy, fmt, ... using xtask
        run: cargo xtask ci

      - name: Run test coverage
        run: cargo xtask coverage

      - name: Upload coverage data
        uses: codecov/codecov-action@v3
        with:
          files: coverage/*.lcov

  reuse-compliance:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: REUSE Compliance Check
        uses: fsfe/reuse-action@v1