diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..9268952 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,21 @@ +name: Publish + +on: ['workflow_dispatch'] + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: nightly + - name: "Login" + run: cargo login --key ${{ secrets.CARGO_TOKEN }} + - name: "Publish common" + run: cargo +nightly publish -p genetic-rs-common + - name: "Publish macros" + run: cargo +nightly publish -p genetic-rs-macros + - name: "Publish main" + run: cargo +nightly publish -p genetic-rs \ No newline at end of file diff --git a/README.md b/README.md index 73783d7..2f6b24b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A small crate for quickstarting genetic algorithm projects. *note: if you are interested in implementing NEAT with this, try out the [neat](https://crates.io/crates/neat) crate* ### Features -First off, this crate comes with the `builtin` and `genrand` features by default. If you want to add the builtin crossover reproduction extension, you can do so by adding the `crossover` feature. If you want it to be parallelized, you can add the `rayon` feature. If you want your crossover to be speciated, you can add the `speciation` feature. +First off, this crate comes with the `builtin`, `crossover`, and `genrand` features by default. If you want it to be parallelized, you can add the `rayon` feature. If you want your crossover to be speciated, you can add the `speciation` feature. Once you have eveything imported as you wish, you can define your genome and impl the required traits: