Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


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

on:
pull_request:
workflow_dispatch:

Comment thread
lukekim marked this conversation as resolved.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
CARGO_NET_GIT_FETCH_WITH_CLI: true

jobs:
ci:
name: Format, lint, build, and test
runs-on: spiceai-macos
permissions:
contents: read

Comment thread
lukekim marked this conversation as resolved.
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt,clippy

- name: Cache Rust build artifacts
uses: Swatinem/rust-cache@v2

- name: Check formatting
run: cargo fmt --all --check

- name: Run cargo check
run: cargo check --locked --all-targets --all-features

- name: Run clippy
run: cargo clippy --locked --all-targets --all-features -- -D warnings -D clippy::all -D clippy::cargo -A clippy::cargo-common-metadata

- name: Check rustdoc
run: RUSTDOCFLAGS="-D warnings" cargo doc --locked --workspace --no-deps --document-private-items

- name: Build debug binary
run: cargo build --locked

- name: Run unit tests
run: cargo test --locked

- name: Run sccache integration test
env:
SPICEIO_SMB_SERVER: 192.168.3.148
SPICEIO_SMB_USER: runner
SPICEIO_SMB_PASS: ${{ secrets.UNAS_SMB_PASS }}
SPICEIO_SMB_SHARE: ai_platform_dev
SPICEIO_BUCKET: spiceio
SPICEIO_REGION: us-west-1
Comment thread
lukekim marked this conversation as resolved.
Outdated
run: ./scripts/test-sccache.sh
Comment thread
lukekim marked this conversation as resolved.
Comment thread
lukekim marked this conversation as resolved.
Comment thread
lukekim marked this conversation as resolved.

- name: Build release artifact
run: cargo build --release --locked --bin spiceio

- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: spiceio-${{ runner.os }}-${{ runner.arch }}
path: target/release/spiceio
if-no-files-found: error
Loading