don't release lock when consecutive messages can be parsed (#1160) #3174
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [main] | |
jobs: | |
check_http: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
- { name: macOS, os: macos-latest } | |
version: | |
- 1.79 | |
name: http check @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: check-non-linux | |
if: matrix.target.os != 'ubuntu-latest' | |
run: | | |
cargo ci-check-http-exclude-io-uring | |
- name: check-linux | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-check-http" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache | |
check_web: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
- { name: macOS, os: macos-latest } | |
version: | |
- nightly | |
name: web check @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: check-non-linux | |
if: matrix.target.os != 'ubuntu-latest' | |
run: | | |
cargo ci-check-web-exclude-io-uring | |
- name: check-linux | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-check-web" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache | |
check_client: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
- { name: macOS, os: macos-latest } | |
version: | |
- 1.79 | |
name: client check @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: check-non-linux | |
if: matrix.target.os != 'ubuntu-latest' | |
run: | | |
cargo ci-check-client-exclude-io-uring | |
- name: check-linux | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-check-client" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache | |
check_other: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
- { name: macOS, os: macos-latest } | |
version: | |
- nightly | |
name: other check @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: check-non-linux | |
if: matrix.target.os != 'ubuntu-latest' | |
run: | | |
cargo ci-check-other-exclude-io-uring | |
- name: check-linux | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-check-other" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache | |
test_linux: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
version: | |
- nightly | |
name: test @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_HOST: localhost | |
POSTGRES_PASSWORD: postgres | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: test-linux-other | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-test-other" | |
- name: test-linux-test | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-test-test" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache | |
check_examples: | |
strategy: | |
matrix: | |
target: | |
- { name: Linux, os: ubuntu-latest } | |
- { name: macOS, os: macos-latest } | |
version: | |
- nightly | |
name: example check @ ${{ matrix.target.name }} - ${{ matrix.version }} | |
runs-on: ${{ matrix.target.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust ${{ matrix.version }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.version }} | |
profile: minimal | |
override: true | |
- name: Free up disk space | |
if: matrix.target.os == 'ubuntu-latest' | |
run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /usr/local/lib/android && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: check-non-linux | |
if: matrix.target.os != 'ubuntu-latest' | |
run: | | |
cd examples && cargo ci-check-examples-exclude-io-uring | |
- name: check-linux | |
if: matrix.target.os == 'ubuntu-latest' | |
run: | | |
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && cd examples && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-check-examples" | |
- name: Clear the cargo caches | |
run: | | |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean | |
cargo-cache |