Skip to content

Commit

Permalink
Set up CI with Github Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
Geal committed May 21, 2020
1 parent 07d6072 commit 5f0ef34
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 11 deletions.
45 changes: 45 additions & 0 deletions .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
31 changes: 20 additions & 11 deletions src/lib.rs
Expand Up @@ -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();
Expand All @@ -161,16 +160,6 @@ mod tests {
let f = async {
let addr = "127.0.0.1:6650";
let pulsar: Pulsar<TokioExecutor> = 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<TestData> = pulsar
.consumer()
Expand All @@ -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;
Expand All @@ -195,6 +201,9 @@ mod tests {

count +=1;

if count % 500 == 0 {
info!("messages received: {}", count);
}
if count == 5000 {
break;
}
Expand Down

0 comments on commit 5f0ef34

Please sign in to comment.