From 5f0ef3475be9132da027e4dd2b1a62b2b8a0a587 Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Thu, 21 May 2020 14:03:11 +0200 Subject: [PATCH] Set up CI with Github Actions --- .github/workflows/rust.yml | 45 ++++++++++++++++++++++++++++++++++++++ src/lib.rs | 31 ++++++++++++++++---------- 2 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/rust.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..9c953bc --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,45 @@ +name: Rust + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + #- name: Start Pulsar + #run: docker exec ${{ job.services.pulsar.id }} sh -c 'bin/pulsar standalone' + - uses: actions/checkout@v2 + - name: Build + run: cargo build --verbose + + - name: Cache cargo registry + uses: actions/cache@v1 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + - name: Cache cargo index + uses: actions/cache@v1 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} + - name: Cache cargo build + uses: actions/cache@v1 + with: + path: target + key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} + + - name: Run tests + run: cargo test -- --nocapture + + services: + pulsar: + image: geal/pulsar-standalone:2.5.1 + ports: + - 6650:6650 + - 8080:8080 diff --git a/src/lib.rs b/src/lib.rs index 9d6f7bb..f75b25f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -151,7 +151,6 @@ mod tests { pub static TEST_LOGGER: SimpleLogger = SimpleLogger; #[test] - #[ignore] #[cfg(feature = "tokio-runtime")] fn round_trip() { let mut runtime = Runtime::new().unwrap(); @@ -161,16 +160,6 @@ mod tests { let f = async { let addr = "127.0.0.1:6650"; let pulsar: Pulsar = Pulsar::new(addr, None).await.unwrap(); - let producer = pulsar.producer(None); - - for _ in 0u16..5000 { - producer.send( - "test", - TestData { - data: "data".to_string(), - }, - ).await.unwrap(); - } let mut consumer: Consumer = pulsar .consumer() @@ -182,9 +171,26 @@ mod tests { .await .unwrap(); + info!("consumer created"); + + let producer = pulsar.producer(None); + info!("producer created"); + + info!("will send message"); + for _ in 0u16..5000 { + producer.send( + "test", + TestData { + data: "data".to_string(), + }, + ).await.unwrap(); + } + + info!("sent"); //let mut stream = consumer.take(5000); let mut count = 0usize; while let Some(res) = consumer.next().await { + //let res = consumer.next().await.unwrap(); let msg = res.unwrap(); consumer.ack(&msg); let Message { payload, .. } = msg; @@ -195,6 +201,9 @@ mod tests { count +=1; + if count % 500 == 0 { + info!("messages received: {}", count); + } if count == 5000 { break; }