gdsl 0.2.1

GDSL is a graph data-structure library including graph containers, connected node strutures and efficient algorithms on those structures. Nodes are independent of a graph container and can be used as connected smart pointers.
Documentation
name: Rust

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3

    - name: Build
      run: cargo build --verbose --examples

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

    - name: Set up environment
      run: |
        sudo apt update
        sudo apt install -y libev-dev valgrind

    - name: Run Tests with Valgrind
      run: |
        touch results
        valgrind --leak-check=full --track-origins=yes -q ./target/debug/examples/dijkstras_shortest_path >> results
        valgrind --leak-check=full --track-origins=yes -q ./target/debug/examples/serde_example >> results
        valgrind --leak-check=full --track-origins=yes -q ./target/debug/examples/edmonds_karps_maximum_flow >> results
        valgrind --leak-check=full --track-origins=yes -q ./target/debug/examples/prim_minimum_spanning_tree >> results
        # valgrind --leak-check=full --track-origins=yes -q ./target/debug/examples/kojarasus_strongly_connected_components >> results
        [ -s ./results ] && (cat ./results && exit -1) || echo "No leaks detected"