template-rust-project 0.2.4

A template for Rust projects
Documentation
name: Tests

on:
  workflow_dispatch: { } # Allow manual execution
  workflow_call: # Make this workflow callable from other workflows

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        # Define the Rust versions to test against
        rust-version: [ "1.83.0", "1.84.0", "beta", "stable" ]

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Set up Rust ${{ matrix.rust-version }}
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: ${{ matrix.rust-version }}

      - name: Install Dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y make
          make install-deps

      - name: Run Tests and Generate Coverage Report
        run: make coverage # Generates a coverage report

      - name: Upload Coverage Reports to Codecov
        uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
        continue-on-error: false