Skip to content

Fix query processing for Actix (#1167) #733

Fix query processing for Actix (#1167)

Fix query processing for Actix (#1167) #733

Workflow file for this run

# Workflow to test on every pull request and push to the main branch
# Performs:
# - cargo fmt check
# - cargo clippy check
# - unit tests
# - integration tests
name: test
on:
push:
branches: ["main"]
pull_request:
env:
CARGO_TERM_COLOR: always
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Install deps
run: sudo apt-get install -y protobuf-compiler
- name: Run linters
run: |
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings --no-deps
test:
strategy:
fail-fast: false
matrix:
# For these target platforms
include:
- os: ubuntu-20.04
deps-script: |
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
sudo apt-get install -y protobuf-compiler postgresql-14-pgvector
target: x86_64-unknown-linux-gnu
- os: macos-13
deps-script: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install protobuf postgresql@14 pgvector
target: x86_64-apple-darwin
- os: macos-14
deps-script: brew install protobuf postgresql@14 pgvector
target: aarch64-apple-darwin
- os: windows-2022
deps-script: |
choco install protoc
Start-Process -FilePath $env:GITHUB_WORKSPACE\.github\workflows\install-pgvector.bat -Wait
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Clear up some disk space from the runner
if: ${{ runner.os != 'Windows' }}
run: |
bash ${PWD}/.github/workflows/clear-disk-space.sh
- name: Install deps
run: ${{ matrix.deps-script }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install NASM for aws-lc-rs on Windows
if: runner.os == 'Windows'
uses: ilammy/setup-nasm@v1
- name: Change CC on Ubuntu
if: runner.os == 'Linux'
run: echo "CC=clang" >> "$GITHUB_ENV"
- name: Add Postgres to PATH
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
echo "$PGBIN" >> $GITHUB_PATH
else
echo "$(pg_config --bindir)" >> $GITHUB_PATH
fi
shell: bash
- name: Add target
run: rustup target add ${{ matrix.target }}
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.target }}
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build
run: cargo build --target ${{ matrix.target }}
- name: Run tests
env:
RUST_BACKTRACE: 1
run: cargo test --workspace --target ${{ matrix.target }}
- name: Run integration tests
env:
RUST_BACKTRACE: 1
EXO_RUN_INTROSPECTION_TESTS: true
run: target/${{ matrix.target }}/debug/exo test integration-tests
shell: bash
test-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Clear up some disk space from the runner
run: |
bash ${PWD}/.github/workflows/clear-disk-space.sh
- name: Add target
run: rustup target add wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
key: wasm32-unknown-unknown
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Get wasm-bindgen version
id: wasm-bindgen-version
run: echo "VERSION=$(cargo pkgid wasm-bindgen-shared | cut -d '@' -f2)" >> "$GITHUB_OUTPUT"
- name: Install WebAssembly test runner
run: cargo install wasm-bindgen-cli@${{ steps.wasm-bindgen-version.outputs.VERSION }}
- name: Run tests
env:
CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER: wasm-bindgen-test-runner
RUST_BACKTRACE: 1
run: cargo test --workspace --target wasm32-unknown-unknown
--exclude cli
--exclude postgres-resolver-dynamic
--exclude deno-model --exclude deno-model-builder --exclude deno-model-builder-dynamic --exclude deno-resolver --exclude deno-resolver-dynamic
--exclude wasm-model --exclude wasm-model-builder --exclude wasm-model-builder-dynamic --exclude wasm-resolver --exclude wasm-resolver-dynamic
--exclude server-common --exclude server-actix --exclude server-aws-lambda
--exclude testing
--exclude exo-deno --exclude exo-wasm