Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 70 additions & 76 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,20 @@ on:
jobs:
build:
name: Build
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
uses: dtolnay/rust-toolchain@stable
- name: Rust Build Cache
uses: Swatinem/rust-cache@v2
with:
key: cfg-v2
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
sudo apt update && sudo apt install -y libfuse3-dev execstack
- name: Build (mvstore)
Expand Down Expand Up @@ -62,52 +59,49 @@ jobs:
execstack -q ./build/libmvsqlite_preload.so | tee execstack.log
grep -v '^X ' execstack.log
- name: Push binaries
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v7
with:
name: build
path: ./build
build-deb:
name: Build DEB
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
uses: dtolnay/rust-toolchain@stable
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
cargo install cargo-deb
sudo apt update && sudo apt install -y libfuse3-dev # stop cargo from complaining, not really needed
- name: Build mvstore
run: cd mvstore && cargo deb && cd .. && mkdir deb && cp ./target/debian/*.deb ./deb/
- name: Push
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v7
with:
name: deb
path: ./deb
stress:
name: mvstore stress test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -122,21 +116,21 @@ jobs:
RUST_LOG=error,mvstore_stress=info ./build/mvstore-stress --concurrency 50 --data-plane http://localhost:7000 --admin-api http://localhost:7001 --iterations 1000 --ns-key stress --pages 1000
stress-auto-create-namespace:
name: mvstore stress test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -150,21 +144,21 @@ jobs:
RUST_LOG=error,mvstore_stress=info ./build/mvstore-stress --concurrency 50 --data-plane http://localhost:7000 --admin-api http://localhost:7001 --iterations 1000 --ns-key stress --pages 1000
stress-disable-read-set:
name: mvstore stress test (disable read set)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -179,21 +173,21 @@ jobs:
RUST_LOG=error,mvstore_stress=info ./build/mvstore-stress --concurrency 50 --data-plane http://localhost:7000 --admin-api http://localhost:7001 --iterations 1000 --ns-key stress --pages 1000 --disable-read-set
stress-small-gc-batch:
name: mvstore stress test (small gc batch)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -209,21 +203,21 @@ jobs:
RUST_LOG=error,mvstore_stress=info ./build/mvstore-stress --concurrency 50 --data-plane http://localhost:7000 --admin-api http://localhost:7001 --iterations 1000 --ns-key stress --pages 1000
stress-gc-nofresh:
name: mvstore stress test (gc without fresh time check)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -240,21 +234,21 @@ jobs:
--disable-ryw --permit-410
stress-commit-multi-phase:
name: mvstore stress test (gc without fresh time check + multi phase commit)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -271,21 +265,21 @@ jobs:
--disable-ryw --permit-410
stress-buggify:
name: mvstore stress test (buggify)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -304,21 +298,21 @@ jobs:
RUST_LOG=error,mvstore_stress=info ./build/mvstore-stress --concurrency 50 --data-plane http://localhost:7000 --admin-api http://localhost:7001 --iterations 500 --ns-key stress --pages 1000
sqlite-speedtest1-default-page-size:
name: SQLite benchmark (speedtest1), default page size
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -339,21 +333,21 @@ jobs:
LD_PRELOAD=../build/libmvsqlite_preload.so MVSQLITE_DATA_PLANE=http://localhost:7000 RUST_LOG=error ./speedtest1 test
sqlite-speedtest1-16k-page:
name: SQLite benchmark (speedtest1), 16K pages
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand All @@ -374,22 +368,22 @@ jobs:
LD_PRELOAD=../build/libmvsqlite_preload.so MVSQLITE_DATA_PLANE=http://localhost:7000 MVSQLITE_SECTOR_SIZE=16384 RUST_LOG=error ./speedtest1 test
sqlite-speedtest1-default-page-size-fuse:
name: SQLite benchmark (speedtest1), default page size, fuse
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
sudo apt update && sudo apt install -y libfuse3-dev
- name: Fetch binaries
uses: actions/download-artifact@v3
uses: actions/download-artifact@v8
with:
name: build
path: ./build
Expand Down Expand Up @@ -420,24 +414,24 @@ jobs:
echo "Got the expected error."
build-ycsb:
name: Build ycsb
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v6
- name: Build
run: |
git clone https://github.com/losfair/go-ycsb
cd go-ycsb
git checkout e6bad4a1af10fbd4d921c5f578d7d57cf80b08ea
make
- name: Push binaries
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v7
with:
name: go-ycsb
path: ./go-ycsb/bin/go-ycsb
ycsb:
name: ycsb
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs:
- build
- build-ycsb
Expand All @@ -455,13 +449,13 @@ jobs:
wire_zstd: ""
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v6
- name: Install system dependencies
run: |
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-clients_7.3.69-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-server_7.1.17-1_amd64.deb --output fdb-server.deb
curl -L https://github.com/apple/foundationdb/releases/download/7.3.69/foundationdb-server_7.3.69-1_amd64.deb --output fdb-server.deb
sudo dpkg -i fdb-server.deb
sudo apt update && sudo apt install -y libfuse3-3
- name: Fetch binaries
Expand Down Expand Up @@ -503,13 +497,13 @@ jobs:
- stress-disable-read-set
- build-deb
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v8
with:
name: build
path: ./build
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v8
with:
name: deb
path: ./deb
Expand Down
Loading
Loading