Fix query processing for Actix (#1167) #733
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
# 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 |