diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8fa5140..7360891 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,4 +15,5 @@ jobs: - uses: actions/checkout@v4 - uses: taiki-e/create-gh-release-action@v1 with: + changelog: CHANGELOG.md token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dff8fc9..a5ab431 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,6 @@ on: env: CI: true - CARGO_TERM_COLOR: always jobs: test: @@ -23,10 +22,15 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Use Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.83.0 + components: clippy, rustfmt - name: Install tarpaulin - run: cargo install cargo-tarpaulin + run: cargo install --locked cargo-tarpaulin - name: Run build - run: cargo build + run: cargo build --locked - name: Run clippy run: cargo clippy --all-targets --all-features --no-deps -- -D warnings - name: Run lint diff --git a/.gitignore b/.gitignore index 4966965..f36c5d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ debug/ target/ -Cargo.lock +!Cargo.lock +examples/Cargo.lock **/*.rs.bk *.pdb diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..64fee46 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,91 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [0.1.10] - 2024-12-27 + +### ⚙️ Miscellaneous Tasks + +- Update rust version +- Init CHANGELOG.md + +## [0.1.9] - 2024-11-05 + +### ⚙️ Miscellaneous Tasks + +- Update readme +- Release graph-algorithms-rs version 0.1.8 +- Release graph-algorithms-rs version 0.1.9 + +## [0.1.7] - 2024-11-04 + +### 🐛 Bug Fixes + +- *(*)* Rename add to set + +### ⚙️ Miscellaneous Tasks + +- Release graph-algorithms-rs version 0.1.7 + +## [0.1.6] - 2024-11-04 + +### 🚀 Features + +- *(algorithm)* Implement floyd-warshall + +### ⚙️ Miscellaneous Tasks + +- Release graph-algorithms-rs version 0.1.6 + +## [0.1.5] - 2024-10-30 + +### 🚀 Features + +- *(lib)* Add features + +### ⚙️ Miscellaneous Tasks + +- Release graph-algorithms-rs version 0.1.5 + +## [0.1.4] - 2024-10-29 + +### 🚀 Features + +- *(algorithm)* Implement bellman-ford + +### ⚙️ Miscellaneous Tasks + +- Update examples +- Update tests +- Apply clippy +- Update readme +- Release graph-algorithms-rs version 0.1.4 + +## [0.1.3] - 2024-10-24 + +### ⚙️ Miscellaneous Tasks + +- Add examples +- Release graph-algorithms-rs version 0.1.3 + +## [0.1.2] - 2024-10-24 + +### ⚙️ Miscellaneous Tasks + +- Update readme +- Release graph-algorithms-rs version 0.1.2 + +## [0.1.1] - 2024-10-24 + +### 🚀 Features + +- *(algorithms)* Implement dijkstra's +- *(algorithms)* Update dijkstra's + +### ⚙️ Miscellaneous Tasks + +- Update repo +- Setup ci +- Release graph-algorithms-rs version 0.1.1 + + diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..bfe86e1 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "graph-algorithms-rs" +version = "0.1.10" diff --git a/Cargo.toml b/Cargo.toml index ebb8581..7c63d1c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "graph-algorithms-rs" description = "A collection of graph algorithms." -version = "0.1.7" +version = "0.1.10" edition = "2021" license = "MIT" readme = "README.md" diff --git a/README.md b/README.md index 30381fd..8d411fb 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Contributions are welcome to expand the set of algorithms and improve existing i [![codecov](https://codecov.io/gh/slavik-pastushenko/graph-algorithms-rs/graph/badge.svg?token=9EL0F6725A)](https://codecov.io/gh/slavik-pastushenko/graph-algorithms-rs) [![License](https://img.shields.io/github/license/slavik-pastushenko/graph-algorithms-rs)](https://github.com/slavik-pastushenko/graph-algorithms-rs/blob/main/LICENSE) -| Name | Description | Example | +| Algorithm | Description | Example | |-----------------|-------------------|---------------| | Dijkstra's | Finds the shortest path from a starting node to all other nodes in a weighted graph. It uses a priority queue to efficiently select the next node with the smallest distance. | ![Dijkstra's](https://upload.wikimedia.org/wikipedia/commons/5/57/Dijkstra_Animation.gif) | | Bellman-Ford | Computes shortest paths from a single source vertex to all of the other vertices in a weighted digraph. It can handle graphs with negative weight edges. | ![Bellman-Ford](https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Bellman%E2%80%93Ford_algorithm_example.gif/440px-Bellman%E2%80%93Ford_algorithm_example.gif) | diff --git a/release.toml b/release.toml new file mode 100644 index 0000000..ac3268e --- /dev/null +++ b/release.toml @@ -0,0 +1,10 @@ +pre-release-hook = [ + "git", + "cliff", + "-o", + "CHANGELOG.md", + "--tag", + "{{version}}", +] +allow-branch = ["main"] +tag-message = "chore: release v{{version}}" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 87499a9..d8dbc11 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.82.0" +channel = "1.83.0" components = ["clippy", "rustfmt"]