mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-12-15 05:09:50 +00:00
88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
name: Nemesis Tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '* */4 * * *'
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
PROTOC_VERSION: 3.23.4
|
|
# FIXME: There are some warnings depending on certain feature flags that
|
|
# we need to fix before we can enable this.
|
|
# RUSTFLAGS: "-D warnings"
|
|
|
|
jobs:
|
|
test-nemesis:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'tursodatabase/libsql'
|
|
name: Run Nemesis Tests
|
|
env:
|
|
RUSTFLAGS: -D warnings --cfg tokio_unstable
|
|
steps:
|
|
- uses: hecrj/setup-rust-action@v2
|
|
|
|
# needed because we run out of disk space during tests
|
|
- name: Free Disk Space (Ubuntu)
|
|
uses: jlumbroso/free-disk-space@main
|
|
with:
|
|
# this might remove tools that are actually needed,
|
|
# when set to "true" but frees about 6 GB
|
|
tool-cache: true
|
|
|
|
- name: Install deps
|
|
run: sudo apt update && sudo apt install -y libclang-dev
|
|
|
|
- name: Install protoc
|
|
uses: taiki-e/install-action@v2
|
|
with:
|
|
tool: protoc@${{ env.PROTOC_VERSION }}
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up cargo cache
|
|
uses: actions/cache@v3
|
|
continue-on-error: false
|
|
with:
|
|
path: |
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
target/
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: ${{ runner.os }}-cargo-
|
|
|
|
- name: Cargo build
|
|
run: |
|
|
cargo build
|
|
mv ./target/debug/sqld ~/.cargo/bin
|
|
sqld --version
|
|
|
|
- name: Download MinIO binary
|
|
run: |
|
|
wget -q https://dl.min.io/server/minio/release/linux-amd64/minio -O minio
|
|
chmod +x minio
|
|
mv minio ~/.cargo/bin
|
|
minio --version
|
|
|
|
- name: Nemesis tests checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: tursodatabase/tursotest
|
|
ref: "main"
|
|
path: "nemesis-tests"
|
|
token: ${{ secrets.ACCESS_TOKEN_TURSO_TEST }}
|
|
|
|
- name: Build nemesis test
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: nemesis-tests/go.mod
|
|
- run: |
|
|
cd nemesis-tests
|
|
go build -o ../tursotests cmd/tursotest/main.go
|
|
|
|
- name: Run nemesis tests
|
|
run: |
|
|
./tursotests nemesis local
|