chore: new issue template #975
Workflow file for this run
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: | |
push: | |
pull_request: | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_REGISTRIES_MY_REGISTRY_INDEX: https://github.com/rust-lang/crates.io-index | |
jobs: | |
# 1 | |
check: | |
name: Rust project check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
- name: Run cargo build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --workspace | |
# 2 | |
fmt: | |
name: Rust fmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
components: rustfmt, clippy | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
exmaples: | |
name: Rust exmaples | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run datafusion example | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: --example datafusion --features=datafusion | |
- name: Run declare example | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: --example declare --features bytes,tokio | |
benchmark: | |
name: Rust benchmark | |
runs-on: self-hosted | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: write | |
if: github.event_name == 'pull_request' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo bench | |
uses: actions-rs/cargo@v1 | |
with: | |
command: bench | |
args: --features bench | |
- name: Comment on PR using GitHub CLI | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
gh pr comment ${{ github.event.pull_request.number }} --body-file "read_benchmark.md" | |
gh pr comment ${{ github.event.pull_request.number }} --body-file "write_benchmark.md" |