Compare commits

..

5 commits

Author SHA1 Message Date
Raito Bezarius
381ecddfee feat(ircv3): add client-batches feature
Some checks failed
CI / rustfmt (pull_request) Failing after 25s
CI / test (pull_request) Failing after 53s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-14 11:19:51 +02:00
Raito Bezarius
b1fc58ac42 feat(ircv3): add simple internal batch processing
The BATCH feature is a form of a server-suggested message processing
delays.

To implement this, we can record all inflight batches, handle start/end
in handle_batch and collect all pending messages in the entrypoint of
the message handler as long as they have a correct batch id.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-14 11:19:51 +02:00
Raito Bezarius
1389b438e4 feat(irc-proto/ircv3): add standard replies support
Only parsing is supported here, not reserialization.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-14 11:19:51 +02:00
264820077f Merge pull request 'chore: repair CI under Forgejo' (#1) from ci into develop
All checks were successful
CI / rustfmt (push) Successful in 18s
CI / test (push) Successful in 2m3s
Reviewed-on: #1
2024-10-14 11:18:47 +02:00
Raito Bezarius
9a295f27c3 chore: repair CI under Forgejo
All checks were successful
CI / rustfmt (pull_request) Successful in 16s
CI / test (pull_request) Successful in 1m57s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-13 22:27:14 +02:00
2 changed files with 27 additions and 41 deletions

27
.forgejo/workflows/ci.yml Normal file
View file

@ -0,0 +1,27 @@
name: CI
on:
pull_request: {}
push:
branches:
- develop
jobs:
test:
runs-on: nix
steps:
- uses: actions/checkout@v3
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --no-default-features"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --features tls-native"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --features tls-rust"
- run: nix-shell -p cargo pkg-config openssl --run "cargo test --workspace --all-targets"
# runs all documentation tests separately, since those are not picked up by
# `--all-targets`.
- run: nix-shell -p cargo pkg-config openssl --run "cargo test --workspace --doc"
rustfmt:
runs-on: nix
steps:
- uses: actions/checkout@v3
- run: nix-shell -p rustfmt cargo --run "cargo fmt --all --check"

View file

@ -1,41 +0,0 @@
name: CI
on:
pull_request: {}
push:
branches:
- develop
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: ["1.71", stable]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
- run: cargo build --workspace --all-targets
- run: cargo build --workspace --all-targets --no-default-features
- run: cargo build --workspace --all-targets --features tls-native
- run: cargo build --workspace --all-targets --features tls-rust
# runs all tests for all targets, including examples and benchmarks. Only on
# stable, since we don't care about tests running on MSRV.
- run: cargo test --workspace --all-targets
if: matrix.rust == 'stable'
# runs all documentation tests separately, since those are not picked up by
# `--all-targets`.
- run: cargo test --workspace --doc
if: matrix.rust == 'stable'
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all --check