2022-03-05 14:50:18 +00:00
|
|
|
name: Continuous integration
|
|
|
|
|
2023-12-05 11:52:09 +00:00
|
|
|
run-name: "CI run '${{ github.head_ref || github.ref_name }}'"
|
|
|
|
|
2022-03-05 14:50:18 +00:00
|
|
|
on:
|
2023-08-03 09:55:06 +00:00
|
|
|
workflow_dispatch:
|
2022-03-05 14:50:18 +00:00
|
|
|
push:
|
2023-08-03 09:55:06 +00:00
|
|
|
branches:
|
|
|
|
- main
|
2022-03-05 14:50:18 +00:00
|
|
|
pull_request:
|
2023-05-30 18:44:47 +00:00
|
|
|
merge_group:
|
2022-03-05 14:50:18 +00:00
|
|
|
|
2024-08-23 10:09:44 +00:00
|
|
|
concurrency:
|
|
|
|
# Use github.run_id on main branch
|
|
|
|
# Use github.event.pull_request.number on pull requests, so it's unique per pull request
|
|
|
|
# Use github.ref on other branches, so it's unique per branch
|
|
|
|
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
|
|
|
|
cancel-in-progress: true
|
2024-08-23 19:41:35 +00:00
|
|
|
|
2023-03-30 20:14:06 +00:00
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: bash
|
|
|
|
|
2022-03-05 14:50:18 +00:00
|
|
|
jobs:
|
2023-04-17 13:27:32 +00:00
|
|
|
format:
|
|
|
|
name: Check format
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2022-03-05 14:50:18 +00:00
|
|
|
steps:
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-04-17 13:27:32 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
components: rustfmt
|
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-06-19 22:35:19 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Check format
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-format
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
check:
|
|
|
|
name: Check workspace
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2022-03-05 14:50:18 +00:00
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-03-31 19:12:10 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Check workspace
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-check
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2024-04-04 07:30:13 +00:00
|
|
|
check-fuzzing:
|
|
|
|
name: Check fuzzing
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
2024-08-27 14:36:47 +00:00
|
|
|
toolchain: 1.80.1
|
2024-04-04 07:30:13 +00:00
|
|
|
components: rustfmt
|
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Check fuzzers
|
2024-08-22 10:26:03 +00:00
|
|
|
run: cargo build --manifest-path sdk/fuzz/Cargo.toml
|
2024-04-04 07:30:13 +00:00
|
|
|
|
|
|
|
- name: Check OSS-Fuzz
|
|
|
|
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
|
|
|
|
with:
|
|
|
|
oss-fuzz-project-name: surrealdb
|
|
|
|
language: rust
|
|
|
|
# Temporarily allow this step to fail
|
|
|
|
continue-on-error: true
|
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
check-wasm:
|
|
|
|
name: Check Wasm
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
2022-03-05 14:50:18 +00:00
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-04-17 13:27:32 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
targets: wasm32-unknown-unknown
|
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Check wasm
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-check-wasm
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
clippy:
|
|
|
|
name: Check clippy
|
2023-11-01 13:58:20 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-04-17 13:27:32 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
components: clippy
|
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Run clippy
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-clippy
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-10 20:30:37 +00:00
|
|
|
cli:
|
2023-08-03 14:59:05 +00:00
|
|
|
name: CLI integration tests
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-06-10 20:30:37 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-06-10 20:30:37 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-06-10 20:30:37 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-06-10 20:30:37 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Run CLI integration tests
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-cli-integration
|
2024-01-10 16:43:56 +00:00
|
|
|
|
2023-08-18 07:16:13 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
cat /tmp/surrealdb.log || true
|
2024-01-10 16:43:56 +00:00
|
|
|
|
2023-07-19 14:35:56 +00:00
|
|
|
http-server:
|
2023-08-03 14:59:05 +00:00
|
|
|
name: HTTP integration tests
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-07-19 14:35:56 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-07-19 14:35:56 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-07-19 14:35:56 +00:00
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-07-19 14:35:56 +00:00
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Run HTTP integration tests
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-http-integration
|
2024-01-23 10:03:25 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
ws-server:
|
|
|
|
name: WebSocket integration tests
|
2023-12-12 13:51:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-12-12 13:51:43 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2024-03-18 09:29:19 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-12-12 13:51:43 +00:00
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Run WS integration tests
|
|
|
|
run: cargo make ci-ws-integration
|
2023-06-10 20:30:37 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
ml-support:
|
|
|
|
name: ML integration tests
|
2023-08-03 14:59:05 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-08-03 14:59:05 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-08-03 14:59:05 +00:00
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-08-03 14:59:05 +00:00
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-14 15:36:27 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-14 15:36:27 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Run ML integration tests
|
|
|
|
run: cargo make ci-ml-integration
|
2023-08-03 14:59:05 +00:00
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
test:
|
|
|
|
name: Test workspace
|
2024-08-28 12:42:27 +00:00
|
|
|
runs-on: [ runner-arm64-2xlarge ]
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-llvm-cov
|
|
|
|
uses: taiki-e/install-action@cargo-llvm-cov
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test workspace + coverage
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-workspace-coverage
|
2023-06-23 19:21:02 +00:00
|
|
|
|
|
|
|
- name: Upload coverage report
|
2024-03-18 09:29:19 +00:00
|
|
|
uses: actions/upload-artifact@v4
|
2023-08-21 12:51:14 +00:00
|
|
|
timeout-minutes: 1
|
|
|
|
continue-on-error: true
|
2023-06-23 19:21:02 +00:00
|
|
|
with:
|
2023-08-03 09:55:06 +00:00
|
|
|
name: code-coverage-report
|
|
|
|
path: target/llvm-cov/html/
|
|
|
|
retention-days: 5
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2024-09-04 11:30:15 +00:00
|
|
|
graphql-integration:
|
|
|
|
name: GraphQL integration
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
|
|
|
toolchain: stable
|
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
|
|
|
- name: run graphql integration test
|
|
|
|
run: cargo make ci-graphql-integration
|
|
|
|
|
2024-05-24 17:56:14 +00:00
|
|
|
test-sdk-build:
|
|
|
|
name: Test SDK build
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
|
|
|
toolchain: stable
|
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
|
|
|
- name: Build local
|
|
|
|
working-directory: tests/sdk/local
|
|
|
|
run: cargo build
|
|
|
|
|
|
|
|
- name: Build remote
|
|
|
|
working-directory: tests/sdk/remote
|
|
|
|
run: cargo build
|
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
ws-engine:
|
|
|
|
name: WebSocket engine
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test ws engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-ws
|
2022-03-05 14:50:18 +00:00
|
|
|
|
2023-08-18 07:16:13 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
http-engine:
|
|
|
|
name: HTTP engine
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2022-03-05 14:50:18 +00:00
|
|
|
steps:
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2022-03-05 14:50:18 +00:00
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-03-31 19:12:10 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test http engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-http
|
2023-08-03 09:55:06 +00:00
|
|
|
|
2023-08-18 07:16:13 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
any-engine:
|
2023-08-18 07:16:13 +00:00
|
|
|
name: Any engine
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-08-18 07:16:13 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-08-18 07:16:13 +00:00
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-18 07:16:13 +00:00
|
|
|
|
|
|
|
- name: Test any engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-any
|
2023-08-18 07:16:13 +00:00
|
|
|
|
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
mem-engine:
|
|
|
|
name: Memory engine
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
2022-03-05 14:50:18 +00:00
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test mem engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-mem
|
2022-07-13 09:28:08 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2023-04-17 13:27:32 +00:00
|
|
|
file-engine:
|
|
|
|
name: File engine
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-04-17 13:27:32 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-04-17 13:27:32 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test file engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-file
|
2023-04-17 13:27:32 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2023-05-31 12:35:41 +00:00
|
|
|
rocksdb-engine:
|
|
|
|
name: RocksDB engine
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-05-31 12:35:41 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-05-31 12:35:41 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-05-31 12:35:41 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test rocksdb engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-rocksdb
|
2023-05-31 12:35:41 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
|
|
|
surrealkv-engine:
|
|
|
|
name: SurrealKV engine
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
|
|
|
toolchain: stable
|
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
|
|
|
- name: Test surrealkv engine
|
|
|
|
run: cargo make ci-api-integration-surrealkv
|
|
|
|
|
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2023-06-10 20:30:37 +00:00
|
|
|
tikv-engine:
|
2024-02-28 14:52:44 +00:00
|
|
|
name: TiKV engine
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-06-10 20:30:37 +00:00
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-06-10 20:30:37 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-06-10 20:30:37 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2023-06-10 20:30:37 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y update
|
|
|
|
|
2023-08-11 11:50:48 +00:00
|
|
|
- name: Install TiUP
|
2023-11-16 15:00:00 +00:00
|
|
|
timeout-minutes: 10
|
2023-06-10 20:30:37 +00:00
|
|
|
run: |
|
2023-11-16 15:00:00 +00:00
|
|
|
while ! ~/.tiup/bin/tiup -v; do
|
|
|
|
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
|
|
|
|
done
|
2023-06-10 20:30:37 +00:00
|
|
|
|
2023-08-03 09:55:06 +00:00
|
|
|
- name: Install cargo-make
|
2023-11-20 11:49:35 +00:00
|
|
|
run: cargo install --debug --locked cargo-make
|
2023-08-03 09:55:06 +00:00
|
|
|
|
|
|
|
- name: Test tikv engine
|
2023-09-06 13:51:33 +00:00
|
|
|
run: cargo make ci-api-integration-tikv
|
2023-05-31 12:35:41 +00:00
|
|
|
|
2023-08-18 07:16:13 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
fdb-engine-7-1:
|
|
|
|
name: FoundationDB engine 7.1
|
2023-07-25 11:37:43 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-06-13 20:55:38 +00:00
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
2023-09-06 13:51:33 +00:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2023-08-24 16:33:57 +00:00
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2023-06-13 20:55:38 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
2023-12-05 11:52:09 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-06-13 20:55:38 +00:00
|
|
|
|
2023-06-23 11:58:15 +00:00
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
2023-08-14 15:36:27 +00:00
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
2023-06-23 11:58:15 +00:00
|
|
|
|
2024-07-17 22:44:05 +00:00
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
2023-06-13 20:55:38 +00:00
|
|
|
- name: Setup FoundationDB
|
2024-06-25 07:34:07 +00:00
|
|
|
uses: foundationdb-rs/foundationdb-actions-install@v.2.2.0
|
2023-06-13 20:55:38 +00:00
|
|
|
with:
|
2024-07-17 22:44:05 +00:00
|
|
|
version: "7.1.61"
|
2023-06-13 20:55:38 +00:00
|
|
|
|
2024-07-17 22:44:05 +00:00
|
|
|
- name: Test fdb engine
|
|
|
|
run: cargo make ci-api-integration-fdb-7_1
|
|
|
|
|
2023-08-18 07:16:13 +00:00
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
2024-02-15 20:47:10 +00:00
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
fdb-engine-7-3:
|
|
|
|
name: FoundationDB engine 7.3
|
2024-02-15 20:47:10 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2024-02-15 20:47:10 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
2024-08-23 19:41:35 +00:00
|
|
|
- name: Setup FoundationDB
|
|
|
|
uses: foundationdb-rs/foundationdb-actions-install@v.2.2.0
|
|
|
|
with:
|
|
|
|
version: "7.3.47"
|
|
|
|
|
|
|
|
- name: Test fdb engine
|
|
|
|
run: cargo make ci-api-integration-fdb-7_3
|
2024-02-15 20:47:10 +00:00
|
|
|
|
|
|
|
- name: Debug info
|
|
|
|
if: always()
|
|
|
|
run: |
|
|
|
|
set -x
|
|
|
|
free -m
|
|
|
|
df -h
|
|
|
|
ps auxf
|
2024-03-01 08:29:42 +00:00
|
|
|
|
|
|
|
db-upgrade:
|
|
|
|
name: Database Upgrade from previous versions
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install stable toolchain
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
2024-03-22 20:50:11 +00:00
|
|
|
toolchain: stable
|
2024-03-01 08:29:42 +00:00
|
|
|
|
|
|
|
- name: Checkout sources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Setup cache
|
|
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
with:
|
|
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
|
|
|
|
|
|
- name: Install cargo-make
|
|
|
|
run: cargo install --debug --locked cargo-make
|
|
|
|
|
|
|
|
- name: Test upgrade
|
2024-04-05 10:32:27 +00:00
|
|
|
# Allow breaking changes until v2 stabilises
|
|
|
|
continue-on-error: true
|
2024-03-01 08:29:42 +00:00
|
|
|
run: cargo make ci-database-upgrade
|