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
29 changes: 19 additions & 10 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@ env:
# Make sure Sccache automatically uses the GitHub Actions cache
SCCACHE_GHA_ENABLED: "true"

# Time budget (minutes) shared by every nightly run
MAX_MINUTES: "300"

jobs:
long-test:
name: ${{ matrix.title }}
name: "Database long test ops=${{ matrix.config.ops }} cases=${{ matrix.config.cases }} #${{ matrix.replica }}"
runs-on: ubuntu-latest

# Up to 6h including setup time
Expand All @@ -30,11 +33,12 @@ jobs:
strategy:
fail-fast: false
matrix:
include:
- title: Durable Storage Database Long Test
make-target: durable/database-long-test-nightly
artifact-name: durable-storage-database-long-test
out-dir: database-long-test
config:
- { ops: 2000, cases: 256 }
- { ops: 4000, cases: 128 }
- { ops: 8000, cases: 64 }
- { ops: 16000, cases: 32 }
replica: [1, 2, 3, 4, 5]

steps:
- name: Checkout
Expand All @@ -43,14 +47,19 @@ jobs:
- name: Set up build environment
uses: ./.github/actions/setup

- name: Run ${{ matrix.title }}
run: make ${{ matrix.make-target }} OUT_DIR='${{ github.workspace }}/${{ matrix.out-dir }}'
- name: Run long test
run: >
make durable/database-long-test-nightly
OPS_PER_EPOCH=${{ matrix.config.ops }}
CASES_PER_EPOCH=${{ matrix.config.cases }}
MAX_MINUTES=${{ env.MAX_MINUTES }}
OUT_DIR='${{ github.workspace }}/run-${{ matrix.config.ops }}-${{ matrix.config.cases }}-${{ matrix.replica }}'
- name: Upload failure artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact-name }}-${{ github.run_id }}
path: ${{ github.workspace }}/${{ matrix.out-dir }}/failure
name: dursto-long-test-${{ matrix.config.ops }}-${{ matrix.config.cases }}-r${{ matrix.replica }}-${{ github.run_id }}-${{ github.run_attempt }}
path: ${{ github.workspace }}/run-${{ matrix.config.ops }}-${{ matrix.config.cases }}-${{ matrix.replica }}/failure
if-no-files-found: warn
retention-days: 90
8 changes: 6 additions & 2 deletions durable-storage/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@ database-long-test:
@cargo run --release --features rocksdb,unstable-test-utils \
--bin database_long_test -- test --max-minutes 10 --keep-epochs 1

OPS_PER_EPOCH ?= 2000
CASES_PER_EPOCH ?= 256
MAX_MINUTES ?= 300

database-long-test-nightly:
@cargo run --release --features rocksdb,unstable-test-utils \
--bin database_long_test -- test \
--ops-per-epoch 2000 --cases-per-epoch 256 --keep-epochs 1 \
--max-minutes 300 $(if $(OUT_DIR),--out-dir "$(OUT_DIR)")
--ops-per-epoch $(OPS_PER_EPOCH) --cases-per-epoch $(CASES_PER_EPOCH) --keep-epochs 1 \
--max-minutes $(MAX_MINUTES) $(if $(OUT_DIR),--out-dir "$(OUT_DIR)")

.PHONY: all check test gen-regression-inputs database-long-test database-long-test-nightly
Loading