diff --git a/.github/workflows/container.yaml b/.github/workflows/container.yaml index 8fd4ca201..d107a0139 100644 --- a/.github/workflows/container.yaml +++ b/.github/workflows/container.yaml @@ -26,11 +26,11 @@ jobs: steps: - id: setup name: Setup Toolchain - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - id: build name: Build - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: file: ./Containerfile push: false @@ -125,7 +125,7 @@ jobs: steps: - id: meta name: Docker Meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | "${{ secrets.DOCKER_HUB_USERNAME }}/${{secrets.DOCKER_HUB_REPOSITORY_NAME }}" @@ -134,17 +134,17 @@ jobs: - id: login name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - id: setup name: Setup Toolchain - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Build and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: file: ./Containerfile push: true @@ -163,7 +163,7 @@ jobs: steps: - id: meta name: Docker Meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | "${{ secrets.DOCKER_HUB_USERNAME }}/${{secrets.DOCKER_HUB_REPOSITORY_NAME }}" @@ -175,17 +175,17 @@ jobs: - id: login name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - id: setup name: Setup Toolchain - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Build and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: file: ./Containerfile push: true diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index e3b042fd5..43bfe4784 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -8,7 +8,7 @@ on: jobs: secrets: name: Secrets - environment: dockerhub-torrust + environment: crates-io-torrust runs-on: ubuntu-latest outputs: @@ -51,7 +51,6 @@ jobs: name: Publish environment: crates-io-torrust needs: test - if: needs.secrets.outputs.continue == 'true' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/testing.yaml b/.github/workflows/testing.yaml index f138a95cc..21c47665f 100644 --- a/.github/workflows/testing.yaml +++ b/.github/workflows/testing.yaml @@ -104,6 +104,7 @@ jobs: name: Run Unit Tests run: cargo test --tests --benches --examples --workspace --all-targets --all-features - - id: coverage - name: Generate Coverage Report - run: cargo llvm-cov nextest --tests --benches --examples --workspace --all-targets --all-features + # Temporary Disable https://github.com/time-rs/time/issues/618 + # - id: coverage + # name: Generate Coverage Report + # run: cargo llvm-cov nextest --tests --benches --examples --workspace --all-targets --all-features diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 11d11a5c5..934a43eb8 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,7 @@ { "recommendations": [ "streetsidesoftware.code-spell-checker", - "rust-lang.rust-analyzer" + "rust-lang.rust-analyzer", + "tamasfe.even-better-toml" ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 3bf0969e9..661243fbe 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,4 +20,9 @@ "-W", "clippy::pedantic", ], + "evenBetterToml.formatter.allowedBlankLines": 1, + "evenBetterToml.formatter.columnWidth": 130, + "evenBetterToml.formatter.trailingNewline": true, + "evenBetterToml.formatter.reorderKeys": true, + "evenBetterToml.formatter.reorderArrays": true, } \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index c9da67f5b..ba179c9cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -142,7 +142,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -292,7 +292,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -402,9 +402,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytecheck" @@ -524,9 +524,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.2" +version = "4.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6" +checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6" dependencies = [ "clap_builder", ] @@ -749,7 +749,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -760,7 +760,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -793,7 +793,7 @@ checksum = "9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -994,7 +994,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -1006,7 +1006,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -1018,7 +1018,7 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -1083,7 +1083,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -1374,7 +1374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5305557fa27b460072ae15ce07617e999f5879f14d376c8449f0bfb9f9d8e91e" dependencies = [ "derive_utils", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -1525,9 +1525,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "libloading" @@ -1575,9 +1575,9 @@ checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" [[package]] name = "local-ip-address" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "885efb07efcd6ae1c6af70be7565544121424fa9e5b1c3e4b58bbbf141a58cef" +checksum = "3fefe707432eb6bd4704b3dacfc87aab269d56667ad05dcd6869534e8890e767" dependencies = [ "libc", "neli", @@ -1738,7 +1738,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", "termcolor", "thiserror", ] @@ -1939,7 +1939,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -2062,7 +2062,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -2093,7 +2093,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -2194,7 +2194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] @@ -2223,9 +2223,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -2724,14 +2724,14 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] name = "serde_json" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ "itoa", "ryu", @@ -2756,7 +2756,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -2806,7 +2806,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -2928,9 +2928,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.32" +version = "2.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" +checksum = "9caece70c63bfba29ec2fed841a09851b14a235c60010fa4de58089b6c025668" dependencies = [ "proc-macro2", "quote", @@ -2994,7 +2994,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -3076,7 +3076,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", ] [[package]] @@ -3124,14 +3124,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "c226a7bba6d859b63c92c4b4fe69c5b6b72d0cb897dbc8e6012298e6154cb56e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.20.0", ] [[package]] @@ -3148,6 +3148,17 @@ name = "toml_edit" version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.0.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ff63e60a958cefbb518ae1fd6566af80d9d4be430a33f3723dfc47d1d411d95" dependencies = [ "indexmap 2.0.0", "serde", @@ -3158,7 +3169,7 @@ dependencies = [ [[package]] name = "torrust-tracker" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "aquatic_udp_protocol", "async-trait", @@ -3204,14 +3215,14 @@ dependencies = [ [[package]] name = "torrust-tracker-configuration" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "config", "log", "serde", "serde_with", "thiserror", - "toml 0.7.8", + "toml 0.8.0", "torrust-tracker-located-error", "torrust-tracker-primitives", "uuid", @@ -3219,7 +3230,7 @@ dependencies = [ [[package]] name = "torrust-tracker-contrib-bencode" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "criterion", "error-chain", @@ -3227,7 +3238,7 @@ dependencies = [ [[package]] name = "torrust-tracker-located-error" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "log", "thiserror", @@ -3235,7 +3246,7 @@ dependencies = [ [[package]] name = "torrust-tracker-primitives" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "derive_more", "serde", @@ -3243,7 +3254,7 @@ dependencies = [ [[package]] name = "torrust-tracker-test-helpers" -version = "3.0.0-alpha.6" +version = "3.0.0-alpha.7" dependencies = [ "lazy_static", "rand", @@ -3358,9 +3369,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -3456,7 +3467,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", "wasm-bindgen-shared", ] @@ -3490,7 +3501,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.33", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/Cargo.toml b/Cargo.toml index a26bed8da..ee908ed5e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,89 +14,73 @@ repository.workspace = true rust-version.workspace = true version.workspace = true - [workspace.package] -authors = [ - "Nautilus Cyberneering , Mick van Dijke ", -] +authors = ["Nautilus Cyberneering , Mick van Dijke "] categories = ["network-programming", "web-programming"] description = "A feature rich BitTorrent tracker." documentation = "https://docs.rs/crate/torrust-tracker/" edition = "2021" homepage = "https://torrust.com/" -keywords = ["bittorrent", "tracker", "file-sharing", "peer-to-peer", "torrent"] +keywords = ["bittorrent", "file-sharing", "peer-to-peer", "torrent", "tracker"] license-file = "COPYRIGHT" publish = true repository = "https://github.com/torrust/torrust-tracker" rust-version = "1.72" -version = "3.0.0-alpha.6" - +version = "3.0.0-alpha.7" [dependencies] -tokio = { version = "1.29", features = [ - "rt-multi-thread", - "net", - "sync", - "macros", - "signal", -] } -serde = { version = "1.0", features = ["derive"] } -serde_bencode = "^0.2" -serde_json = "1.0" -serde_with = "3.2" -percent-encoding = "2.2" +aquatic_udp_protocol = "0.8" +async-trait = "0.1" +axum = "0.6" +axum-client-ip = "0.4" +axum-server = { version = "0.5", features = ["tls-rustls"] } binascii = "0.1" -lazy_static = "1.4" -openssl = { version = "0.10", features = ["vendored"] } +chrono = { version = "0.4", default-features = false, features = ["clock"] } config = "0.13" -log = { version = "0.4", features = ["release_max_level_info"] } +derive_more = "0.99" fern = "0.6" -chrono = { version = "0.4", default-features = false, features = ["clock"] } +futures = "0.3" +hyper = "0.14" +lazy_static = "1.4" +log = { version = "0.4", features = ["release_max_level_info"] } +multimap = "0.9" +openssl = { version = "0.10", features = ["vendored"] } +percent-encoding = "2.2" r2d2 = "0.8" r2d2_mysql = "24.0" r2d2_sqlite = { version = "0.22", features = ["bundled"] } rand = "0.8" -derive_more = "0.99" +serde = { version = "1.0", features = ["derive"] } +serde_bencode = "^0.2" +serde_json = "1.0" +serde_with = "3.2" thiserror = "1.0" -futures = "0.3" -async-trait = "0.1" -aquatic_udp_protocol = "0.8" -uuid = { version = "1", features = ["v4"] } -axum = "0.6" -axum-server = { version = "0.5", features = ["tls-rustls"] } -axum-client-ip = "0.4" +tokio = { version = "1.29", features = ["macros", "net", "rt-multi-thread", "signal", "sync"] } +torrust-tracker-configuration = { version = "3.0.0-alpha.7", path = "packages/configuration" } +torrust-tracker-contrib-bencode = { version = "3.0.0-alpha.7", path = "contrib/bencode" } +torrust-tracker-located-error = { version = "3.0.0-alpha.7", path = "packages/located-error" } +torrust-tracker-primitives = { version = "3.0.0-alpha.7", path = "packages/primitives" } tower-http = { version = "0.4", features = ["compression-full"] } -torrust-tracker-contrib-bencode = { version = "3.0.0-alpha.6", path = "contrib/bencode"} -torrust-tracker-primitives = { version = "3.0.0-alpha.6", path = "packages/primitives" } -torrust-tracker-configuration = { version = "3.0.0-alpha.6", path = "packages/configuration" } -torrust-tracker-located-error = { version = "3.0.0-alpha.6", path = "packages/located-error" } -multimap = "0.9" -hyper = "0.14" +uuid = { version = "1", features = ["v4"] } [dev-dependencies] +local-ip-address = "0.5" mockall = "0.11" reqwest = { version = "0.11.18", features = ["json"] } -serde_urlencoded = "0.7" -serde_repr = "0.1" serde_bytes = "0.11" -local-ip-address = "0.5" -torrust-tracker-test-helpers = { version = "3.0.0-alpha.6", path = "packages/test-helpers" } +serde_repr = "0.1" +serde_urlencoded = "0.7" +torrust-tracker-test-helpers = { version = "3.0.0-alpha.7", path = "packages/test-helpers" } [workspace] -members = [ - "contrib/bencode", - "packages/configuration", - "packages/primitives", - "packages/test-helpers", - "packages/located-error", -] +members = ["contrib/bencode", "packages/configuration", "packages/located-error", "packages/primitives", "packages/test-helpers"] [profile.dev] debug = 1 -opt-level = 1 lto = "thin" +opt-level = 1 [profile.release] debug = 1 -opt-level = 3 lto = "fat" +opt-level = 3 diff --git a/README.md b/README.md index 551471914..51839d10f 100644 --- a/README.md +++ b/README.md @@ -179,13 +179,13 @@ This project was a joint effort by [Nautilus Cyberneering GmbH][nautilus] and [D [containers.md]: ./docs/containers.md -[api]: https://docs.rs/torrust-tracker/3.0.0-alpha.6/torrust_tracker/servers/apis/v1 -[http]: https://docs.rs/torrust-tracker/3.0.0-alpha.6/torrust_tracker/servers/http -[udp]: https://docs.rs/torrust-tracker/3.0.0-alpha.6/torrust_tracker/servers/udp +[api]: https://docs.rs/torrust-tracker/3.0.0-alpha.7/torrust_tracker/servers/apis/v1 +[http]: https://docs.rs/torrust-tracker/3.0.0-alpha.7/torrust_tracker/servers/http +[udp]: https://docs.rs/torrust-tracker/3.0.0-alpha.7/torrust_tracker/servers/udp [good first issues]: https://github.com/torrust/torrust-tracker/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 [documentation]: https://docs.rs/torrust-tracker/ -[API documentation]: https://docs.rs/torrust-tracker/3.0.0-alpha.6/torrust_tracker/servers/apis/v1 +[API documentation]: https://docs.rs/torrust-tracker/3.0.0-alpha.7/torrust_tracker/servers/apis/v1 [discussions]: https://github.com/torrust/torrust-tracker/discussions [COPYRIGHT]: ./COPYRIGHT diff --git a/contrib/bencode/Cargo.toml b/contrib/bencode/Cargo.toml index 2aed18409..3918aa6ba 100644 --- a/contrib/bencode/Cargo.toml +++ b/contrib/bencode/Cargo.toml @@ -1,14 +1,12 @@ [package] -name = "torrust-tracker-contrib-bencode" description = "(contrib) Efficient decoding and encoding for bencode." -keywords = ["library", "contrib", "bencode"] +keywords = ["bencode", "contrib", "library"] +name = "torrust-tracker-contrib-bencode" readme = "README.md" -authors = [ - "Nautilus Cyberneering , Andrew ", -] -repository = "https://github.com/torrust/bittorrent-infrastructure-project" +authors = ["Nautilus Cyberneering , Andrew "] license = "Apache-2.0" +repository = "https://github.com/torrust/bittorrent-infrastructure-project" documentation.workspace = true edition.workspace = true @@ -17,7 +15,6 @@ publish.workspace = true rust-version.workspace = true version.workspace = true - [dependencies] error-chain = "0.12" @@ -29,5 +26,5 @@ name = "test" path = "test/mod.rs" [[bench]] -name = "bencode_benchmark" harness = false +name = "bencode_benchmark" diff --git a/docs/release_process.md b/docs/release_process.md index cc401c11a..4b58d7ca8 100644 --- a/docs/release_process.md +++ b/docs/release_process.md @@ -1,24 +1,30 @@ -# Torrust Tracker Release Process (draft) +# Torrust Tracker Release Process (draft 2) The purpose of this document is to describe the release process. ## Overview -Torrust Tracker is published in this order: +Torrust Tracker is published according to this protocol: -1. `develop` branch is ready for publishing. -2. create `release: version (semantic version)` commit. -3. push release commit to `main` branch. -4. check all status checks succeed for `main` branch. -5. push `main` branch to `releases\v(semantic version)` branch. -6. check all status checks success for `releases\v(semantic version)` branch. -7. create signed `v(semantic version)` tag. -8. create github release from `v(semantic version)` tag. -9. merge `main` branch into `develop` branch. +0. After release create new pull request into `develop` branch: + +- The `develop` branch has the (semantic version) suffix `-develop`. +- The version is bumped according to releases, new features, and breaking changes. + +- [ ] `develop` is ready for branching for a release. +- [ ] force-push develop to `staging` branch. +- [ ] commit `release: version (semantic version)`, removing the `-develop` suffix. +- [ ] create pull request to merge `staging` into `main` branch. +- [ ] check all status checks succeed for `main` branch. +- [ ] push `main` branch to `releases\v(semantic version)` branch. +- [ ] check all status checks success for `releases\v(semantic version)` branch. +- [ ] create signed `v(semantic version)` tag from `releases\v(semantic version) HEAD`. +- [ ] create github release from `v(semantic version)` tag. +- [ ] merge the `main` branch back into `develop` branch, assuring that the (semantic version) has the suffix `-develop`. - At step `1.`, `develop` is automatically published to `dockerhub`. - At step `3.`, `main` is automatically published to `dockerhub`. -- At step `5.`, `releases\v(semantic version)` is automatically published to `dockerhub` and `crate.io`. +- At step `6.`, `releases\v(semantic version)` is automatically published to `dockerhub` and `crate.io`. ## Development Branch diff --git a/packages/configuration/Cargo.toml b/packages/configuration/Cargo.toml index 4a3028f18..25a4639eb 100644 --- a/packages/configuration/Cargo.toml +++ b/packages/configuration/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "torrust-tracker-configuration" description = "A library to provide configuration to the Torrust Tracker." -keywords = ["library", "config", "settings"] +keywords = ["config", "library", "settings"] +name = "torrust-tracker-configuration" readme = "README.md" authors.workspace = true @@ -14,16 +14,15 @@ repository.workspace = true rust-version.workspace = true version.workspace = true - [dependencies] -serde = { version = "1.0", features = ["derive"] } -serde_with = "3.2" config = "0.13" -toml = "0.7" log = { version = "0.4", features = ["release_max_level_info"] } +serde = { version = "1.0", features = ["derive"] } +serde_with = "3.2" thiserror = "1.0" -torrust-tracker-primitives = { version = "3.0.0-alpha.6", path = "../primitives" } -torrust-tracker-located-error = { version = "3.0.0-alpha.6", path = "../located-error" } +toml = "0.8" +torrust-tracker-located-error = { version = "3.0.0-alpha.7", path = "../located-error" } +torrust-tracker-primitives = { version = "3.0.0-alpha.7", path = "../primitives" } [dev-dependencies] uuid = { version = "1", features = ["v4"] } diff --git a/packages/located-error/Cargo.toml b/packages/located-error/Cargo.toml index ea0b1639a..b4c813df3 100644 --- a/packages/located-error/Cargo.toml +++ b/packages/located-error/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "torrust-tracker-located-error" description = "A library to provide error decorator with the location and the source of the original error." -keywords = ["library", "helper", "errors"] +keywords = ["errors", "helper", "library"] +name = "torrust-tracker-located-error" readme = "README.md" authors.workspace = true @@ -14,7 +14,6 @@ repository.workspace = true rust-version.workspace = true version.workspace = true - [dependencies] log = { version = "0.4", features = ["release_max_level_info"] } diff --git a/packages/primitives/Cargo.toml b/packages/primitives/Cargo.toml index 9eb092e1c..ce6c20ff0 100644 --- a/packages/primitives/Cargo.toml +++ b/packages/primitives/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "torrust-tracker-primitives" description = "A library with the primitive types shared by the Torrust tracker packages." -keywords = ["library", "api", "primitives"] +keywords = ["api", "library", "primitives"] +name = "torrust-tracker-primitives" readme = "README.md" authors.workspace = true @@ -14,7 +14,6 @@ repository.workspace = true rust-version.workspace = true version.workspace = true - [dependencies] -serde = { version = "1.0", features = ["derive"] } derive_more = "0.99" +serde = { version = "1.0", features = ["derive"] } diff --git a/packages/test-helpers/Cargo.toml b/packages/test-helpers/Cargo.toml index bec9bb216..e4a60f5c2 100644 --- a/packages/test-helpers/Cargo.toml +++ b/packages/test-helpers/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "torrust-tracker-test-helpers" description = "A library providing helpers for testing the Torrust tracker." -keywords = ["library", "helper", "testing"] +keywords = ["helper", "library", "testing"] +name = "torrust-tracker-test-helpers" readme = "README.md" authors.workspace = true @@ -17,5 +17,5 @@ version.workspace = true [dependencies] lazy_static = "1.4" rand = "0.8.5" -torrust-tracker-configuration = { version = "3.0.0-alpha.6", path = "../configuration" } -torrust-tracker-primitives = { version = "3.0.0-alpha.6", path = "../primitives" } +torrust-tracker-configuration = { version = "3.0.0-alpha.7", path = "../configuration" } +torrust-tracker-primitives = { version = "3.0.0-alpha.7", path = "../primitives" } diff --git a/rustfmt.toml b/rustfmt.toml index abbed5eda..76046e6f4 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,3 +1,3 @@ -max_width = 130 -imports_granularity = "Module" group_imports = "StdExternalCrate" +imports_granularity = "Module" +max_width = 130 diff --git a/share/default/config/tracker.container.mysql.toml b/share/default/config/tracker.container.mysql.toml index 60da25db2..fb9cbf789 100644 --- a/share/default/config/tracker.container.mysql.toml +++ b/share/default/config/tracker.container.mysql.toml @@ -1,36 +1,35 @@ -log_level = "info" -mode = "public" +announce_interval = 120 db_driver = "MySQL" db_path = "mysql://db_user:db_user_secret_password@mysql:3306/torrust_tracker" -announce_interval = 120 +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" +max_peer_timeout = 900 min_announce_interval = 120 +mode = "public" on_reverse_proxy = false -external_ip = "0.0.0.0" -tracker_usage_statistics = true persistent_torrent_completed_stat = false -max_peer_timeout = 900 -inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true +tracker_usage_statistics = true [[udp_trackers]] -enabled = false bind_address = "0.0.0.0:6969" +enabled = false [[http_trackers]] -enabled = false bind_address = "0.0.0.0:7070" -ssl_enabled = false +enabled = false ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" [http_api] -enabled = true bind_address = "0.0.0.0:1212" -ssl_enabled = false +enabled = true ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" - # Please override the admin token setting the # `TORRUST_TRACKER_API_ADMIN_TOKEN` # environmental variable! diff --git a/share/default/config/tracker.container.sqlite3.toml b/share/default/config/tracker.container.sqlite3.toml index 64cf75518..54cfd4023 100644 --- a/share/default/config/tracker.container.sqlite3.toml +++ b/share/default/config/tracker.container.sqlite3.toml @@ -1,36 +1,35 @@ -log_level = "info" -mode = "public" +announce_interval = 120 db_driver = "Sqlite3" db_path = "/var/lib/torrust/tracker/database/sqlite3.db" -announce_interval = 120 +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" +max_peer_timeout = 900 min_announce_interval = 120 +mode = "public" on_reverse_proxy = false -external_ip = "0.0.0.0" -tracker_usage_statistics = true persistent_torrent_completed_stat = false -max_peer_timeout = 900 -inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true +tracker_usage_statistics = true [[udp_trackers]] -enabled = false bind_address = "0.0.0.0:6969" +enabled = false [[http_trackers]] -enabled = false bind_address = "0.0.0.0:7070" -ssl_enabled = false +enabled = false ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" [http_api] -enabled = true bind_address = "0.0.0.0:1212" -ssl_enabled = false +enabled = true ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" - # Please override the admin token setting the # `TORRUST_TRACKER_API_ADMIN_TOKEN` # environmental variable! diff --git a/share/default/config/tracker.development.sqlite3.toml b/share/default/config/tracker.development.sqlite3.toml index be1877469..20f95ac5d 100644 --- a/share/default/config/tracker.development.sqlite3.toml +++ b/share/default/config/tracker.development.sqlite3.toml @@ -1,33 +1,33 @@ -log_level = "info" -mode = "public" +announce_interval = 120 db_driver = "Sqlite3" db_path = "./storage/tracker/lib/database/sqlite3.db" -announce_interval = 120 +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" +max_peer_timeout = 900 min_announce_interval = 120 +mode = "public" on_reverse_proxy = false -external_ip = "0.0.0.0" -tracker_usage_statistics = true persistent_torrent_completed_stat = false -max_peer_timeout = 900 -inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true +tracker_usage_statistics = true [[udp_trackers]] -enabled = false bind_address = "0.0.0.0:6969" +enabled = false [[http_trackers]] -enabled = false bind_address = "0.0.0.0:7070" -ssl_enabled = false +enabled = false ssl_cert_path = "" +ssl_enabled = false ssl_key_path = "" [http_api] -enabled = true bind_address = "127.0.0.1:1212" -ssl_enabled = false +enabled = true ssl_cert_path = "" +ssl_enabled = false ssl_key_path = "" [http_api.access_tokens]