move axiom-rs to use tabular results for queries #226
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: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
tags: | |
- "v*" | |
# Make sure the workflow is only ever run for the latest changes in the PR. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
rust_fmt_check: | |
name: Rustfmt check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
components: rustfmt | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
clippy_check: | |
name: Clippy check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install clippy | |
run: rustup component add clippy | |
- name: Run clippy check | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
test: | |
name: Run tests with ${{ matrix.runtime }} on ${{ matrix.environment }} | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
matrix: | |
runtime: [Tokio, async-std] | |
environment: [development, staging] | |
include: | |
- runtime: async-std | |
flags: --no-default-features --features async-std,default-tls | |
- environment: development | |
url: TESTING_DEV_API_URL | |
token: TESTING_DEV_TOKEN | |
org_id: TESTING_DEV_ORG_ID | |
flags: --features integration-tests | |
- environment: staging | |
url: TESTING_STAGING_API_URL | |
token: TESTING_STAGING_TOKEN | |
org_id: TESTING_STAGING_ORG_ID | |
flags: --features integration-tests | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
env: | |
AXIOM_URL: ${{ secrets[matrix.url] }} | |
AXIOM_TOKEN: ${{ secrets[matrix.token] }} | |
AXIOM_ORG_ID: ${{ secrets[matrix.org_id] }} | |
AXIOM_DATASET_SUFFIX: ${{ github.run_id }} | |
with: | |
command: test | |
args: ${{ matrix.flags }} -- --test-threads 1 | |
build_examples: | |
name: Build examples | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
- name: Run cargo build --examples | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --examples | |
publish_on_crates_io: | |
name: Publish on crates.io | |
runs-on: ubuntu-latest | |
if: github.repository_owner == 'axiomhq' && startsWith(github.ref, 'refs/tags') # Only on tags | |
needs: | |
- rust_fmt_check | |
- clippy_check | |
- test | |
- build_examples | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: publish | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} |