Skip to content

Add maturity date in split metadata and use it to filter mature splits for merges #10539

Add maturity date in split metadata and use it to filter mature splits for merges

Add maturity date in split metadata and use it to filter mature splits for merges #10539

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
- trigger-ci-workflow
paths:
- "quickwit/**"
- "!quickwit/quickwit-ui/**"
env:
CARGO_INCREMENTAL: 0
QW_DISABLE_TELEMETRY: 1
RUST_BACKTRACE: 1
RUSTFLAGS: -Dwarnings
RUSTDOCFLAGS: -Dwarnings -Arustdoc::private_intra_doc_links
TEST_DATABASE_URL: postgres://quickwit-dev:quickwit-dev@postgres:5432/quickwit-metastore-dev
# Ensures that we cancel running jobs for the same PR / same workflow.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
tests:
name: ${{ matrix.task.name }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
task:
- name: cargo clippy
command: cargo clippy --workspace --tests --all-features
cache: true
- name: cargo deny
command: cargo deny check licenses
cache: false
- name: cargo doc
command: cargo doc --no-deps --all-features --document-private-items
cache: true
- name: cargo nextest
command: cargo nextest run --features=postgres --profile ci --retries 1
cache: true
- name: License headers check
command: bash scripts/check_license_headers.sh
cache: false
- name: rustfmt
command: cargo +nightly fmt --all -- --check
cache: false
container: public.ecr.aws/l6o9a3f9/quickwit-builder:latest
services:
# PostgreSQL service container
postgres:
image: postgres:latest
ports:
- 5432:5432
env:
POSTGRES_USER: quickwit-dev
POSTGRES_PASSWORD: quickwit-dev
POSTGRES_DB: quickwit-metastore-dev
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: modified-files
with:
filters: |
qw-src:
- quickwit/**
ui-src:
- quickwit/quickwit-ui/**
- name: Setup nightly Rust Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: rustfmt, clippy
- name: Setup stable Rust Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Setup cache
if: matrix.task.cache == true
uses: Swatinem/rust-cache@v2
with:
key: "v1-${{ matrix.task.name }}"
workspaces: "./quickwit -> target"
- name: Install nextest
if: matrix.task.name == 'cargo nextest'
uses: taiki-e/install-action@nextest
- name: ${{ matrix.task.name }}
if: steps.modified-files.outputs.qw-src == 'true' && steps.modified-files.outputs.ui-src == 'false'
run: ${{ matrix.task.command }}
working-directory: ./quickwit