diff --git a/.github/workflows/maturin.yaml b/.github/workflows/maturin.yaml new file mode 100644 index 000000000..524dd8fc6 --- /dev/null +++ b/.github/workflows/maturin.yaml @@ -0,0 +1,112 @@ +name: Publish to PyPI with maturin + +on: + workflow_dispatch: + +permissions: + contents: read + +defaults: + run: + working-directory: ./vrp-cli + +jobs: + linux: + runs-on: ubuntu-latest + strategy: + matrix: + target: [x86_64, x86, aarch64, armv7, s390x, ppc64le] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist --find-interpreter + sccache: 'true' + manylinux: auto + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + windows: + runs-on: windows-latest + strategy: + matrix: + target: [x64, x86] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + architecture: ${{ matrix.target }} + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist --find-interpreter + sccache: 'true' + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + macos: + runs-on: macos-latest + strategy: + matrix: + target: [x86_64, aarch64] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist --find-interpreter + sccache: 'true' + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + sdist: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Build sdist + uses: PyO3/maturin-action@v1 + with: + command: sdist + args: --out dist + - name: Upload sdist + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + release: + name: Release + runs-on: ubuntu-latest + if: "startsWith(github.ref, 'refs/tags/')" + needs: [linux, windows, macos, sdist] + steps: + - uses: actions/download-artifact@v3 + with: + name: wheels + - name: Publish to PyPI + uses: PyO3/maturin-action@v1 + env: + MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} + with: + command: upload + args: --skip-existing * diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ded11b35..43bc69c0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. ## [Unreleased] + +## [v1.21.1]- 2023-06-09 + +This release brings experimental `async-evolution` with other improvements. + ### Changed * update dependencies @@ -641,7 +646,8 @@ with Self Organizing MAps and eXtrAs (pronounced as "rosomaha", from russian "р - Initial commit -[Unreleased]: https://github.com/reinterpretcat/vrp/compare/v1.21.0...HEAD +[Unreleased]: https://github.com/reinterpretcat/vrp/compare/v1.21.1...HEAD +[v1.21.1]: https://github.com/reinterpretcat/vrp/compare/v1.21.0...v1.21.1 [v1.21.0]: https://github.com/reinterpretcat/vrp/compare/v1.20.0...v1.21.0 [v1.20.0]: https://github.com/reinterpretcat/vrp/compare/v1.19.2...v1.20.0 [v1.19.2]: https://github.com/reinterpretcat/vrp/compare/v1.19.1...v1.90.2 diff --git a/CITATION.cff b/CITATION.cff index 2c5010324..a6ffb96fe 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -5,7 +5,7 @@ authors: given-names: "Ilya" orcid: "https://orcid.org/0000-0002-7613-7412" title: "Rosomaxa, Vehicle Routing Problem Solver" -version: 1.21.0 +version: 1.21.1 doi: 10.5281/zenodo.4624037 date-released: 2022-05-13 url: "https://github.com/reinterpretcat/vrp" diff --git a/README.md b/README.md index 5a58e78b2..a87f77405 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![build](https://github.com/reinterpretcat/vrp/actions/workflows/build.yaml/badge.svg) [![downloads](https://img.shields.io/crates/d/vrp-core)](https://crates.io/crates/vrp-core) [![codecov](https://codecov.io/gh/reinterpretcat/vrp/branch/master/graph/badge.svg)](https://codecov.io/gh/reinterpretcat/vrp) -[![dependency status](https://deps.rs/crate/vrp-cli/1.21.0/status.svg)](https://deps.rs/crate/vrp-cli/1.21.0) +[![dependency status](https://deps.rs/crate/vrp-cli/1.21.1/status.svg)](https://deps.rs/crate/vrp-cli/1.21.1) [![DOI](https://zenodo.org/badge/238436117.svg)](https://zenodo.org/badge/latestdoi/238436117) ![VRP example](docs/resources/vrp-example.png "VRP with Route Balance") @@ -68,7 +68,7 @@ Another fast way to try vrp solver on your environment is to use `docker` image * **run public image** from `Github Container Registry`: ```bash - docker run -it -v $(pwd):/repo --name vrp-cli --rm ghcr.io/reinterpretcat/vrp/vrp-cli:1.21.0 + docker run -it -v $(pwd):/repo --name vrp-cli --rm ghcr.io/reinterpretcat/vrp/vrp-cli:1.21.1 ``` * **build image locally** using `Dockerfile` provided: diff --git a/docs/src/getting-started/installation.md b/docs/src/getting-started/installation.md index 6ff46da55..d8854d20f 100644 --- a/docs/src/getting-started/installation.md +++ b/docs/src/getting-started/installation.md @@ -26,7 +26,7 @@ Another fast way to try vrp solver on your environment is to use `docker` image * **run public image** from `Github Container Registry`: ```bash - docker run -it -v $(pwd):/repo --name vrp-cli --rm ghcr.io/reinterpretcat/vrp/vrp-cli:1.21.0 + docker run -it -v $(pwd):/repo --name vrp-cli --rm ghcr.io/reinterpretcat/vrp/vrp-cli:1.21.1 ``` * **build image locally** using `Dockerfile` provided: diff --git a/examples/json-pragmatic/Cargo.toml b/examples/json-pragmatic/Cargo.toml index ff450db82..5fa248f21 100644 --- a/examples/json-pragmatic/Cargo.toml +++ b/examples/json-pragmatic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "json-pragmatic" -version = "1.21.0" +version = "1.21.1" authors = ["Ilya Builuk "] license = "Apache-2.0" keywords = ["vrp", "optimization"] diff --git a/rosomaxa/Cargo.toml b/rosomaxa/Cargo.toml index 7044365c5..105f640ee 100644 --- a/rosomaxa/Cargo.toml +++ b/rosomaxa/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rosomaxa" -version = "0.5.0" +version = "0.6.0" edition = "2021" authors = ["Ilya Builuk "] license = "Apache-2.0" diff --git a/vrp-cli/Cargo.toml b/vrp-cli/Cargo.toml index 46b0bfe76..ffd8d3e3e 100644 --- a/vrp-cli/Cargo.toml +++ b/vrp-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrp-cli" -version = "1.21.0" +version = "1.21.1" authors = ["Ilya Builuk "] license = "Apache-2.0" keywords = ["vrp", "optimization"] @@ -24,9 +24,9 @@ name = "vrp_cli" crate-type = ["cdylib", "lib"] [dependencies] -vrp-core = { path = "../vrp-core", version = "1.21.0", optional = true } -vrp-scientific = { path = "../vrp-scientific", optional = true, version = "1.21.0" } -vrp-pragmatic = { path = "../vrp-pragmatic", version = "1.21.0" } +vrp-core = { path = "../vrp-core", version = "1.21.1", optional = true } +vrp-scientific = { path = "../vrp-scientific", optional = true, version = "1.21.1" } +vrp-pragmatic = { path = "../vrp-pragmatic", version = "1.21.1" } csv = { version = "1.2.2", optional = true } serde_json = "1.0.96" diff --git a/vrp-cli/src/main.rs b/vrp-cli/src/main.rs index 33000c8ac..7227cb8ee 100644 --- a/vrp-cli/src/main.rs +++ b/vrp-cli/src/main.rs @@ -29,7 +29,7 @@ mod cli { pub fn get_app() -> Command { Command::new("Vehicle Routing Problem Solver") - .version("1.21.0") + .version("1.21.1") .author("Ilya Builuk ") .about("A command line interface to Vehicle Routing Problem solver") .subcommand(get_analyze_app()) diff --git a/vrp-core/Cargo.toml b/vrp-core/Cargo.toml index 3cacd1561..f0e7747b0 100644 --- a/vrp-core/Cargo.toml +++ b/vrp-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrp-core" -version = "1.21.0" +version = "1.21.1" authors = ["Ilya Builuk "] license = "Apache-2.0" keywords = ["vrp", "optimization"] @@ -16,7 +16,7 @@ default = ["rosomaxa"] async-evolution = ["rosomaxa/async-evolution"] [dependencies] -rosomaxa = { path = "../rosomaxa", version = "0.5.0", optional = true } +rosomaxa = { path = "../rosomaxa", version = "0.6.0", optional = true } rayon = "1.7.0" rand = { version = "0.8.5", features = ["small_rng"] } diff --git a/vrp-pragmatic/Cargo.toml b/vrp-pragmatic/Cargo.toml index d77d7e7ec..e1c03c889 100644 --- a/vrp-pragmatic/Cargo.toml +++ b/vrp-pragmatic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrp-pragmatic" -version = "1.21.0" +version = "1.21.1" authors = ["Ilya Builuk "] license = "Apache-2.0" keywords = ["vrp", "optimization"] @@ -12,7 +12,7 @@ edition = "2021" description = "An extension logic for solving rich VRP" [dependencies] -vrp-core = { path = "../vrp-core", version = "1.21.0" } +vrp-core = { path = "../vrp-core", version = "1.21.1" } serde = { version = "1.0.164", features = ["derive"] } serde_json = "1.0.96" diff --git a/vrp-scientific/Cargo.toml b/vrp-scientific/Cargo.toml index 1c8b0f1a3..d58dce626 100644 --- a/vrp-scientific/Cargo.toml +++ b/vrp-scientific/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrp-scientific" -version = "1.21.0" +version = "1.21.1" authors = ["Ilya Builuk "] license = "Apache-2.0" keywords = ["vrp", "optimization"] @@ -12,4 +12,4 @@ edition = "2021" description = "An extension logic for solving scientific VRP" [dependencies] -vrp-core = { path = "../vrp-core", version = "1.21.0" } +vrp-core = { path = "../vrp-core", version = "1.21.1" }