Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial nats source connector #2

Merged
merged 8 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
137 changes: 137 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
name: CI

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

on:
workflow_dispatch:
push:
branches:
pinkforest marked this conversation as resolved.
Show resolved Hide resolved
- staging
- trying
pull_request:
branches: [main]
paths:
- "**"
- "!/*.md"
- "!/**.md"

jobs:
check:
name: Rust Check - ${{ matrix.check }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: [stable]
rust-target: [x86_64-unknown-linux-gnu]
check: [test, check, fmt, clippy]
env:
RUST_BACKTRACE: full
RUSTV: ${{ matrix.rust }}
TARGET: ${{ matrix.rust-target }}
steps:
- uses: actions/checkout@v4
- name: Install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.rust-target }}-${{ matrix.check }}
- name: Cargo test
if: ${{ matrix.check == 'test' }}
run: |
cargo test
- name: Cargo check
if: ${{ matrix.check == 'check' }}
run: |
cargo check --all-targets

- name: Cargo fmt
if: ${{ matrix.check == 'fmt' }}
run: cargo fmt -- --check

- name: Cargo clippy
if: ${{ matrix.check == 'clippy' }}
run: cargo clippy --all-targets -- -D warnings

integration_tests:
pinkforest marked this conversation as resolved.
Show resolved Hide resolved
name: Integration testing on - ${{ matrix.os }} for ${{ matrix.connector-name }} connector.
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
rust: [stable]
connector-name:
- http-source
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: AbsaOSS/k3d-action@v2.4.0
name: "Create fluvio k3d Cluster"
with:
cluster-name: "fluvio"
args: --timeout 5m
- name: Ensure k3d cluster is ready
run: |
sleep 5
./actions/k3d-check.sh
- name: Install Fluvio Local Cluster
timeout-minutes: 10
uses: infinyon/fluvio@master
with:
cluster-type: k3d
version: stable
- name: Check Fluvio Installation
run: make test_fluvio_install

- name: Install Fluvio SMDK
run: fluvio install smdk
- uses: actions/checkout@v4
- name: Install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Rust ${{ matrix.rust }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
target: wasm32-unknown-unknown
- name: Add wasm
run: rustup target add wasm32-unknown-unknown
- name: Setup BATS
uses: mig4/setup-bats@v1
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.rust-target }}-${{ matrix.connector-name }}
- name: Test
timeout-minutes: 20
run: make test
- name: Run diagnostics
if: ${{ !success() }}
timeout-minutes: 5
run: fluvio cluster diagnostics
- name: Upload diagnostics
uses: actions/upload-artifact@v3
timeout-minutes: 5
if: ${{ !success() }}
with:
name: integration_${{ matrix.connector-name }}
path: diagnostics*.gz
retention-days: 5

done:
name: Done
needs:
- check
- integration_tests
pinkforest marked this conversation as resolved.
Show resolved Hide resolved
runs-on: ubuntu-latest
steps:
- name: Done
run: echo "Done!"