123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178 |
- # Copyright Materialize, Inc. and contributors. All rights reserved.
- #
- # Use of this software is governed by the Business Source License
- # included in the LICENSE file at the root of this repository.
- #
- # As of the Change Date specified in that file, in accordance with
- # the Business Source License, use of this software will be governed
- # by the Apache License, Version 2.0.
- # Default priority, just set to be explicit
- priority: 0
- env:
- CI_BAZEL_BUILD: 1
- CI_BAZEL_REMOTE_CACHE: $BAZEL_REMOTE_CACHE
- CI_BAZEL_LTO: 1
- steps:
- - group: Builds
- key: builds
- steps:
- - id: build-x86_64
- label: ":bazel: Build x86_64"
- command: bin/ci-builder run min bin/pyactivate -m ci.test.build
- inputs:
- - "*"
- artifact_paths: bazel-explain.log
- depends_on: []
- timeout_in_minutes: 60
- agents:
- queue: builder-linux-x86_64
- - id: build-aarch64
- label: ":bazel: Build aarch64"
- command: bin/ci-builder run min bin/pyactivate -m ci.test.build
- inputs:
- - "*"
- artifact_paths: bazel-explain.log
- depends_on: []
- timeout_in_minutes: 60
- agents:
- queue: builder-linux-aarch64-mem
- - id: build-x86_64-asan
- label: ":bazel: Build x86_64 (ASan)"
- command: bin/ci-builder run min bin/pyactivate -m ci.test.build
- inputs:
- - "*"
- artifact_paths: bazel-explain.log
- depends_on: []
- timeout_in_minutes: 60
- agents:
- queue: builder-linux-x86_64
- env:
- CI_SANITIZER: address
- sanitizer: skip
- branches: "main"
- - id: build-aarch64-asan
- label: ":bazel: Build aarch64 (ASan)"
- command: bin/ci-builder run min bin/pyactivate -m ci.test.build
- inputs:
- - "*"
- artifact_paths: bazel-explain.log
- depends_on: []
- timeout_in_minutes: 60
- agents:
- queue: builder-linux-aarch64-mem
- env:
- CI_SANITIZER: address
- sanitizer: skip
- branches: "main"
- - group: Linters
- key: linters
- steps:
- - id: closed-issues-detect
- timeout_in_minutes: 30
- label: Detect references to already closed issues
- command: bin/ci-builder run stable bin/ci-closed-issues-detect
- depends_on: []
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- branches: "main"
- sanitizer: skip
- - id: unused-deps
- label: Unused dependencies
- command: bin/ci-builder run nightly bin/unused-deps
- depends_on: []
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- sanitizer: skip
- - id: cargo-deny-check-advisories
- label: Security advisories
- command: bin/ci-builder run stable cargo deny check advisories
- depends_on: []
- timeout_in_minutes: 20
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- sanitizer: skip
- - id: lint-cargo-doc-test
- label: Cargo doc tests
- command: bin/ci-builder run stable ci/test/lint-cargo-doc-test.sh
- inputs:
- - Cargo.lock
- - Cargo.toml
- - "**/Cargo.toml"
- - "**/*.rs"
- depends_on: []
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- coverage: skip
- sanitizer: skip
- - id: miri-test
- label: ":rust: Miri test (full)"
- depends_on: []
- timeout_in_minutes: 600
- env:
- CI_BAZEL_BUILD: 0
- plugins:
- - ./ci/plugins/mzcompose:
- composition: cargo-test
- args: [--miri-full]
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- sanitizer: skip
- - group: Benchmarks
- key: benchmark
- steps:
- - id: feature-benchmark
- label: "Feature benchmark against merge base or 'latest'"
- depends_on: build-x86_64
- timeout_in_minutes: 720
- parallelism: 8
- agents:
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: feature-benchmark
- args:
- - --other-tag
- # common-ancestor will default to latest if not in a PR
- - common-ancestor
- - id: scalability-benchmark-dml-dql
- label: "Scalability benchmark (read & write) against merge base or 'latest'"
- depends_on: build-x86_64
- timeout_in_minutes: 240
- agents:
- # Larger instance is more stable in performance
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: scalability
- args:
- - --target
- - HEAD
- - --target
- - common-ancestor
- - --regression-against
- - common-ancestor
- - --workload-group-marker
- - "DmlDqlWorkload"
- - --max-concurrency
- - "256"
- - id: scalability-benchmark-ddl
- label: "Scalability benchmark (DDL) against merge base or 'latest'"
- depends_on: build-x86_64
- timeout_in_minutes: 1200
- agents:
- # Larger instance is more stable in performance
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: scalability
- args:
- - --target
- - HEAD
- - --target
- - common-ancestor
- - --regression-against
- - common-ancestor
- - --workload-group-marker
- - "DdlWorkload"
- - --count
- - "128"
- - --exponent-base
- - "4"
- - --max-concurrency
- - "64"
- - id: scalability-benchmark-connection
- label: "Scalability benchmark (connection) against merge base or 'latest'"
- depends_on: build-x86_64
- timeout_in_minutes: 180
- agents:
- # Larger instance is more stable in performance
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: scalability
- args:
- - --target
- - HEAD
- - --target
- - common-ancestor
- - --regression-against
- - common-ancestor
- - --workload-group-marker
- - "ConnectionWorkload"
- - --exponent-base
- - "2.5"
- - --max-concurrency
- - "2048"
- - id: parallel-benchmark
- label: "Parallel Benchmark"
- depends_on: build-x86_64
- timeout_in_minutes: 120
- agents:
- # Larger instance is more stable in performance
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-benchmark
- args:
- - --other-tag
- - common-ancestor
- - group: Kafka
- key: kafka
- steps:
- - id: kafka-matrix
- label: Kafka smoke test against previous Kafka versions
- depends_on: build-aarch64
- timeout_in_minutes: 120
- parallelism: 2
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: kafka-matrix
- - id: kafka-multi-broker
- label: Kafka multi-broker test
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: kafka-multi-broker
- - id: redpanda-resumption
- label: ":panda_face: resumption tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: kafka-resumption
- args: [--redpanda]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - group: Testdrive
- key: testdrive
- steps:
- - id: redpanda-testdrive
- label: ":panda_face: :racing_car: testdrive"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--redpanda, --slow]
- - id: testdrive-partitions-5
- label: ":racing_car: testdrive with --kafka-default-partitions 5"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--kafka-default-partitions=5, --slow]
- - id: testdrive-replicas-4
- label: ":racing_car: testdrive 4 replicas"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--replicas=4, --slow]
- - id: testdrive-size-1
- label: ":racing_car: testdrive with SIZE 1"
- depends_on: build-aarch64
- timeout_in_minutes: 360
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--default-size=1, --slow]
- - id: testdrive-size-8
- label: ":racing_car: testdrive with SIZE 8"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--default-size=8, --slow]
- - id: persistence-testdrive
- label: ":racing_car: testdrive with --persistent-user-tables"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--persistent-user-tables, --slow]
- skip: "Persistence tests disabled"
- - id: azurite-testdrive
- label: "testdrive with :azure: blob store"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- # Larger agent because Azurite is slow
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--azurite, --slow]
- - id: azurite-testdrive-size-8
- label: ":racing_car: testdrive with SIZE 8 and :azure: blob store"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 2
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive
- args: [--default-size=8, --azurite, --slow]
- - id: testdrive-in-cloudtest
- label: "Full Testdrive in Cloudtest (K8s)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 2
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster.yaml"
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64-medium
- plugins:
- - ./ci/plugins/cloudtest:
- # Uses .td-file based parallelism instead
- args: [-m=long, test/cloudtest/test_full_testdrive.py, --no-test-parallelism]
- sanitizer: skip
- - group: Limits
- key: limits-group
- steps:
- - id: limits
- label: "Product limits"
- depends_on: build-x86_64
- agents:
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: limits
- run: main
- timeout_in_minutes: 180
- parallelism: 2
- - id: limits-instance-size
- label: "Instance size limits"
- depends_on: build-x86_64
- agents:
- queue: hetzner-x86-64-dedi-8cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: limits
- run: instance-size
- timeout_in_minutes: 120
- - id: bounded-memory
- label: "Bounded Memory"
- depends_on: build-aarch64
- timeout_in_minutes: 90
- parallelism: 2
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: bounded-memory
- - id: bounded-memory-search
- label: "Bounded Memory Search (materialized only)"
- depends_on: build-aarch64
- timeout_in_minutes: 150
- parallelism: 8
- # disabled by default
- skip: true
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: bounded-memory
- run: minimization-search
- args:
- [
- --materialized-memory-search-step=0.3,
- --clusterd-memory-search-step=0,
- --materialized-memory-lower-bound-in-gb=0.5,
- --clusterd-memory-lower-bound-in-gb=0.5
- ]
- - group: Upsert
- key: upsert
- steps:
- - id: upsert-compaction-enabled
- label: Upsert (compaction enabled)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: upsert
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: upsert-compaction-disabled
- label: Upsert (compaction disabled)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: upsert
- args: [--compaction-disabled]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: ssh-connection-extended
- label: Extended SSH connection tests
- depends_on: build-aarch64
- timeout_in_minutes: 45
- plugins:
- - ./ci/plugins/mzcompose:
- composition: ssh-connection
- args: [--extended]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - group: Zippy
- key: zippy
- steps:
- - id: zippy-kafka-sources
- label: "Zippy Kafka Sources"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=KafkaSources, --actions=10000, --max-execution-time=30m]
- - id: zippy-kafka-sources-azurite
- label: "Zippy Kafka Sources with :azure: blob store"
- depends_on: build-x86_64
- timeout_in_minutes: 120
- agents:
- # Azurite is rather slow, prevent timeouts by using dedicated CPUs
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=KafkaSources, --actions=10000, --max-execution-time=30m, --azurite]
- - id: zippy-kafka-parallel-insert
- label: "Zippy Kafka Parallel Insert"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=KafkaParallelInsert, --transaction-isolation=serializable, --actions=10000, --max-execution-time=30m]
- - id: zippy-kafka-parallel-insert-azurite
- label: "Zippy Kafka Parallel Insert with :azure: blob store"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=KafkaParallelInsert, --transaction-isolation=serializable, --actions=10000, --max-execution-time=30m, --azurite]
- - id: zippy-user-tables
- label: "Zippy User Tables"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- # Azurite is too slow, takes a lot of memory in this test
- args: [--scenario=UserTables, --actions=10000, --max-execution-time=30m]
- - id: zippy-postgres-cdc
- label: "Zippy Postgres CDC"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=PostgresCdc, --actions=10000, --max-execution-time=30m, --azurite]
- - id: zippy-mysql-cdc
- label: "Zippy MySQL CDC"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=MySqlCdc, --actions=10000, --max-execution-time=30m, --azurite]
- - id: zippy-debezium-postgres
- label: "Zippy Debezium Postgres"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=DebeziumPostgres, --actions=10000, --max-execution-time=30m]
- - id: zippy-cluster-replicas
- label: "Zippy Cluster Replicas"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=ClusterReplicas, --actions=10000, --max-execution-time=30m]
- - id: zippy-crdb-latest
- label: "Zippy w/ latest CRDB"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- # TODO: Reenable --cockroach-tag=latest when https://github.com/cockroachdb/cockroach/issues/136678 is fixed
- args: [--scenario=KafkaSources, --actions=10000, --max-execution-time=30m]
- - id: zippy-alter-connection
- label: "Zippy w/ alter connection"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: zippy
- args: [--scenario=AlterConnectionWithKafkaSources, --actions=10000, --max-execution-time=30m]
- - group: Source Resumption tests
- key: source-resumption-tests
- steps:
- - id: kafka-resumption
- label: Kafka resumption tests
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: kafka-resumption
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: mysql-cdc-resumption
- label: "MySQL CDC resumption tests"
- parallelism: 2
- depends_on: build-aarch64
- timeout_in_minutes: 60
- inputs: [test/mysql-cdc-resumption]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mysql-cdc-resumption
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: pg-cdc-resumption
- label: "Postgres CDC resumption tests"
- parallelism: 2
- depends_on: build-aarch64
- timeout_in_minutes: 60
- inputs: [test/pg-cdc-resumption]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pg-cdc-resumption
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - group: CDC with old source syntax
- key: cdc-old-source-syntax
- steps:
- - id: mysql-cdc-old-syntax
- label: MySQL CDC tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mysql-cdc-old-syntax
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: mysql-cdc-migration
- label: MySQL CDC source-versioning migration tests
- depends_on: build-aarch64
- timeout_in_minutes: 360
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mysql-cdc-old-syntax
- run: migration
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: mysql-cdc-resumption-old-syntax
- label: MySQL CDC resumption tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mysql-cdc-resumption-old-syntax
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: mysql-rtr-old-syntax
- label: MySQL RTR tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mysql-rtr-old-syntax
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: pg-cdc-old-syntax
- label: Postgres CDC tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pg-cdc-old-syntax
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- # the mzbuild postgres version will be used, which depends on the Dockerfile specification
- - id: pg-cdc-migration
- label: Postgres CDC source-versioning migration tests
- depends_on: build-aarch64
- timeout_in_minutes: 360
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pg-cdc-old-syntax
- run: migration
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: pg-cdc-resumption-old-syntax
- label: Postgres CDC resumption tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pg-cdc-resumption-old-syntax
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: pg-rtr-old-syntax
- label: Postgres RTR tests (before source versioning)
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pg-rtr-old-syntax
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: testdrive-old-kafka-src-syntax
- label: "Testdrive (before Kafka source versioning) with :azure: blob store"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive-old-kafka-src-syntax
- args: [--azurite]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: testdrive-kafka-migration
- label: "Testdrive (before Kafka source versioning) migration tests"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- plugins:
- - ./ci/plugins/mzcompose:
- composition: testdrive-old-kafka-src-syntax
- run: migration
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- - group: AWS
- key: aws
- steps:
- - id: aws-real
- label: AWS (Real)
- depends_on: build-aarch64
- timeout_in_minutes: 30
- retry:
- automatic:
- - exit_status: 1
- limit: 1
- agents:
- # Because of scratch-aws-access
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/scratch-aws-access: ~
- - ./ci/plugins/mzcompose:
- composition: aws
- - id: aws-localstack
- label: AWS (Localstack)
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: aws-localstack
- - id: secrets-local-file
- label: "Secrets Local File"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: secrets-local-file
- - group: "Platform checks"
- key: platform-checks
- steps:
- - id: checks-no-restart-no-upgrade-azurite
- label: "Checks without restart or upgrade with :azure: blob store"
- depends_on: build-aarch64
- inputs: [misc/python/materialize/checks]
- timeout_in_minutes: 45
- parallelism: 4
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=NoRestartNoUpgrade, "--seed=$BUILDKITE_JOB_ID", --features=azurite]
- - id: checks-restart-entire-mz
- label: "Checks + restart of the entire Mz"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- # Sometimes runs into query timeouts or entire test timeouts with parallelism 1, too much state, same in all other platform-checks
- parallelism: 3
- agents:
- # A larger instance is needed due to frequent OOMs, same in all other platform-checks
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=RestartEntireMz, "--seed=$BUILDKITE_JOB_ID", --features=azurite]
- - id: checks-restart-environmentd-clusterd-storage
- label: "Checks + restart of environmentd & storage clusterd"
- depends_on: build-aarch64
- inputs: [misc/python/materialize/checks]
- timeout_in_minutes: 45
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args:
- [
- --scenario=RestartEnvironmentdClusterdStorage,
- --default-replication-factor=1, # faster
- "--seed=$BUILDKITE_JOB_ID",
- ]
- - id: checks-restart-environmentd-clusterd-storage-azurite
- label: "Checks + restart of environmentd & storage clusterd with :azure: blob store"
- depends_on: build-aarch64
- inputs: [misc/python/materialize/checks]
- timeout_in_minutes: 45
- parallelism: 4
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args:
- [
- --scenario=RestartEnvironmentdClusterdStorage,
- "--seed=$BUILDKITE_JOB_ID",
- --features=azurite,
- ]
- - id: checks-backup-rollback
- label: "Checks + backup + rollback to previous"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=BackupAndRestoreToPreviousState, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-parallel-drop-create-default-replica
- label: "Checks parallel + DROP/CREATE replica"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=DropCreateDefaultReplica, --execution-mode=parallel, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-parallel-restart-clusterd-compute
- label: "Checks parallel + restart compute clusterd"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=RestartClusterdCompute, --execution-mode=parallel, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-parallel-restart-entire-mz
- label: "Checks parallel + restart of the entire Mz"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=RestartEntireMz, --execution-mode=parallel, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-parallel-restart-environmentd-clusterd-storage
- label: "Checks parallel + restart of environmentd & storage clusterd"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=RestartEnvironmentdClusterdStorage, --execution-mode=parallel, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-parallel-kill-clusterd-storage
- label: "Checks parallel + kill storage clusterd"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=KillClusterdStorage, --execution-mode=parallel, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-upgrade-entire-mz
- label: "Checks upgrade, whole-Mz restart"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=UpgradeEntireMz, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-self-managed-upgrade
- label: "Checks Self-Managed upgrade, whole-Mz restart"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=UpgradeEntireMzFromLatestSelfManaged, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-self-managed-upgrade-previous
- label: "Checks Self-Managed upgrade from previous, whole-Mz restart"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=UpgradeEntireMzFromPreviousSelfManaged, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-preflight-check-rollback
- label: "Checks preflight-check and roll back upgrade"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=PreflightCheckRollback, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-upgrade-entire-mz-two-versions
- label: "Checks upgrade across two versions"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=UpgradeEntireMzTwoVersions, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-upgrade-entire-mz-four-versions
- label: "Checks upgrade across four versions"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=UpgradeEntireMzFourVersions, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-0dt-restart-entire-mz-forced-migrations
- label: "Checks 0dt restart of the entire Mz with forced migrations"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- parallelism: 3
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=ZeroDowntimeRestartEntireMzForcedMigrations, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-0dt-upgrade-entire-mz
- label: "Checks 0dt upgrade, whole-Mz restart"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- parallelism: 3
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=ZeroDowntimeUpgradeEntireMz, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-0dt-upgrade-entire-mz-two-versions
- label: "Checks 0dt upgrade across two versions"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- parallelism: 3
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=ZeroDowntimeUpgradeEntireMzTwoVersions, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-0dt-upgrade-entire-mz-four-versions
- label: "Checks 0dt upgrade across four versions"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- parallelism: 3
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=ZeroDowntimeUpgradeEntireMzFourVersions, "--seed=$BUILDKITE_JOB_ID"]
- - id: checks-0dt-bump-version
- label: "Checks 0dt upgrade to a bumped version"
- depends_on: build-x86_64
- timeout_in_minutes: 240
- agents:
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: platform-checks
- args: [--scenario=ZeroDowntimeBumpedVersion, "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: cloudtest-upgrade
- label: "Platform checks upgrade in Cloudtest/K8s"
- depends_on: build-aarch64
- timeout_in_minutes: 240
- parallelism: 3
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster.yaml"
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64-large
- plugins:
- - ./ci/plugins/cloudtest:
- # Uses .td-file based parallelism instead
- args: [-m=long, test/cloudtest/test_upgrade.py, --no-test-parallelism]
- sanitizer: skip
- - group: "K8s node recovery cloudtest"
- key: k8s-node-recovery
- steps:
- - id: k8s-node-recovery-storage-on-failing
- label: "K8s recovery: storage on failing node"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- # TODO: database-issues#7499 (k8s node recovery tests flaky)
- retry:
- automatic:
- - exit_status: 1
- limit: 2
- - exit_status: 143 # SIGTERM
- limit: 2
- - exit_status: 255
- limit: 2
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64-medium
- inputs:
- - test/cloudtest
- - misc/python/materialize/cloudtest
- - misc/kind
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster-node-recovery-test.yaml"
- plugins:
- - ./ci/plugins/cloudtest:
- args: [--exitfirst, -k=test_unreplicated_storage_cluster_on_failing_node, --apply-node-selectors, test/cloudtest]
- sanitizer: skip
- - id: k8s-node-recovery-compute-on-failing
- label: "K8s recovery: compute on failing node"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- # TODO: database-issues#7499 (k8s node recovery tests flaky)
- retry:
- automatic:
- - exit_status: 1
- limit: 2
- - exit_status: 143 # SIGTERM
- limit: 2
- - exit_status: 255
- limit: 2
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64
- inputs:
- - test/cloudtest
- - misc/python/materialize/cloudtest
- - misc/kind
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster-node-recovery-test.yaml"
- plugins:
- - ./ci/plugins/cloudtest:
- args: [--exitfirst, -k=test_unreplicated_compute_cluster_on_failing_node, --apply-node-selectors, test/cloudtest]
- sanitizer: skip
- - id: k8s-node-recovery-replicated-compute-on-failing
- label: "K8s recovery: replicated compute on failing node"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- # TODO: database-issues#7499 (k8s node recovery tests flaky)
- retry:
- automatic:
- - exit_status: 1
- limit: 2
- - exit_status: 143 # SIGTERM
- limit: 2
- - exit_status: 255
- limit: 2
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64
- inputs:
- - test/cloudtest
- - misc/python/materialize/cloudtest
- - misc/kind
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster-node-recovery-test.yaml"
- plugins:
- - ./ci/plugins/cloudtest:
- args: [--exitfirst, -k=test_replicated_compute_cluster_on_failing_node, --apply-node-selectors, test/cloudtest]
- sanitizer: skip
- - id: k8s-node-recovery-envd-on-failing
- label: "K8s recovery: envd on failing node"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- # TODO: database-issues#7499 (k8s node recovery tests flaky)
- retry:
- automatic:
- - exit_status: 1
- limit: 2
- - exit_status: 143 # SIGTERM
- limit: 2
- - exit_status: 255
- limit: 2
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64
- inputs:
- - test/cloudtest
- - misc/python/materialize/cloudtest
- - misc/kind
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster-node-recovery-test.yaml"
- plugins:
- - ./ci/plugins/cloudtest:
- args: [--exitfirst, -k=test_envd_on_failing_node, --apply-node-selectors, test/cloudtest]
- sanitizer: skip
- - group: Persist
- key: persist
- steps:
- - id: persist-maelstrom
- label: Maelstrom coverage of persist
- depends_on: build-aarch64
- timeout_in_minutes: 40
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--consensus=mem, --blob=mem]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: persist-maelstrom-single-node
- label: Long single-node Maelstrom coverage of persist
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--node-count=1, --consensus=mem, --blob=mem, --time-limit=600, --concurrency=4, --rate=500, --max-txn-length=16, --unreliability=0.1]
- - id: persist-maelstrom-multi-node
- label: Long multi-node Maelstrom coverage of persist with CockroachDB consensus
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--node-count=4, --consensus=cockroach, --blob=maelstrom, --time-limit=300, --concurrency=4, --rate=500, --max-txn-length=16, --unreliability=0.1]
- - id: persist-maelstrom-multi-node-postgres
- label: "Long multi-node Maelstrom coverage of persist with :postgres: Consensus"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--node-count=4, --consensus=postgres, --blob=maelstrom, --time-limit=300, --concurrency=4, --rate=500, --max-txn-length=16, --unreliability=0.1]
- - id: txn-wal-maelstrom
- label: Maelstrom coverage of txn-wal with CockroachDB Consensus
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--node-count=4, --consensus=cockroach, --blob=maelstrom, --time-limit=300, --rate=500, --txn-wal]
- - id: txn-wal-maelstrom-postgres
- label: "Maelstrom coverage of txn-wal with :postgres: Consensus"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- artifact_paths: [test/persist/maelstrom/**/*.log]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persist
- args: [--node-count=4, --consensus=postgres, --blob=maelstrom, --time-limit=300, --rate=500, --txn-wal]
- - id: persistence-failpoints
- label: Persistence failpoints
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: persistence
- run: failpoints
- skip: Persistence tests disabled
- - group: LD
- key: ld
- steps:
- - id: sql-feature-flags
- label: "SQL-level feature flags"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sql-feature-flags
- - id: launchdarkly
- label: "LaunchDarkly"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- # Requires LAUNCHDARKLY_API_TOKEN
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/mzcompose:
- composition: launchdarkly
- - group: E2E
- key: e2e
- steps:
- - id: cloud-canary
- label: "Canary Deploy in Staging Cloud"
- depends_on: build-aarch64
- timeout_in_minutes: 1200
- concurrency: 1
- concurrency_group: 'cloud-canary'
- agents:
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/mzcompose:
- composition: cloud-canary
- branches: "main v*.* *cloud*"
- - id: mz-e2e
- label: "Mz E2E Test"
- depends_on: build-aarch64
- timeout_in_minutes: 1200
- concurrency: 1
- concurrency_group: 'mz-e2e'
- agents:
- # Requires real Mz access, CONFLUENT_CLOUD_DEVEX_KAFKA_USERNAME, etc.
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/mzcompose:
- composition: mz-e2e
- - id: terraform-aws
- label: "Terraform + Helm Chart E2E on AWS"
- artifact_paths: [test/terraform/aws-temporary/terraform.tfstate, "mz_debug_*.zip"]
- depends_on: build-aarch64
- timeout_in_minutes: 120
- concurrency: 1
- concurrency_group: 'terraform-aws'
- agents:
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/scratch-aws-access: ~
- - ./ci/plugins/mzcompose:
- composition: terraform
- run: aws-temporary
- # Cleanup runs in pre-exit hook
- args: [--no-cleanup]
- ci-builder: stable
- branches: "main v*.* *aws* *tf* *terraform* *helm* *self-managed* *orchestratord*"
- - id: terraform-aws-upgrade
- label: "Terraform + Helm Chart Upgrade on AWS"
- artifact_paths: [test/terraform/aws-upgrade/terraform.tfstate, "mz_debug_*.zip"]
- depends_on: build-aarch64
- timeout_in_minutes: 120
- concurrency: 1
- concurrency_group: 'terraform-upgrade-aws'
- agents:
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/scratch-aws-access: ~
- - ./ci/plugins/mzcompose:
- composition: terraform
- run: aws-upgrade
- # Cleanup runs in pre-exit hook
- args: [--no-cleanup]
- ci-builder: stable
- branches: "main v*.* *aws* *tf* *terraform* *helm* *self-managed* *orchestratord*"
- - id: terraform-gcp
- label: "Terraform + Helm Chart E2E on GCP"
- artifact_paths: [test/terraform/gcp-temporary/terraform.tfstate, "mz_debug_*.zip"]
- depends_on: build-aarch64
- timeout_in_minutes: 120
- concurrency: 1
- concurrency_group: 'terraform-gcp'
- agents:
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/mzcompose:
- composition: terraform
- run: gcp-temporary
- # Cleanup runs in pre-exit hook
- args: [--no-cleanup]
- ci-builder: stable
- branches: "main v*.* *gcp* *tf* *terraform* *helm* *self-managed* *orchestratord*"
- - id: terraform-azure
- label: "Terraform + Helm Chart E2E on Azure"
- artifact_paths: [test/terraform/azure-temporary/terraform.tfstate, "mz_debug_*.zip"]
- depends_on: build-aarch64
- timeout_in_minutes: 120
- concurrency: 1
- concurrency_group: 'terraform-azure'
- agents:
- queue: linux-aarch64-small
- plugins:
- - ./ci/plugins/mzcompose:
- composition: terraform
- run: azure-temporary
- # Cleanup runs in pre-exit hook
- args: [--no-cleanup]
- ci-builder: stable
- branches: "main v*.* *azure* *tf* *terraform* *helm* *self-managed* *orchestratord*"
- - group: "Output consistency"
- key: output-consistency
- steps:
- - id: output-consistency-internal
- label: "Output consistency (internal)"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: output-consistency
- args: ["--seed=$BUILDKITE_JOB_ID", "--max-runtime-in-sec=1200"]
- skip: "too flaky currently, find better way to ignore known issues"
- - id: output-consistency-postgres
- label: "Output consistency (Postgres)"
- depends_on: build-aarch64
- timeout_in_minutes: 58
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: postgres-consistency
- args: ["--seed=$BUILDKITE_JOB_ID", "--max-runtime-in-sec=1200"]
- skip: "too flaky currently, find better way to ignore known issues"
- - id: output-consistency-version-dfr
- label: "Output consistency (version for DFR)"
- depends_on: build-aarch64
- timeout_in_minutes: 58
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: version-consistency
- args: ["--seed=$BUILDKITE_JOB_ID", "--max-runtime-in-sec=1200", "--evaluation-strategy=dataflow_rendering", "--other-tag=common-ancestor"]
- skip: "too flaky currently, find better way to ignore known issues"
- - id: output-consistency-version-ctf
- label: "Output consistency (version for CTF)"
- depends_on: build-aarch64
- timeout_in_minutes: 58
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: version-consistency
- args: ["--seed=$BUILDKITE_JOB_ID", "--max-runtime-in-sec=1200", "--evaluation-strategy=constant_folding", "--other-tag=common-ancestor"]
- skip: "too flaky currently, find better way to ignore known issues"
- - id: output-consistency-feature-flags-dfr
- label: "Output consistency (feature-flags for DFR)"
- depends_on: build-aarch64
- timeout_in_minutes: 58
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: feature-flag-consistency
- args: ["--seed=$BUILDKITE_JOB_ID", "--max-runtime-in-sec=1200", "--evaluation-strategy=dataflow_rendering"]
- skip: "too flaky currently, find better way to ignore known issues"
- - group: SQLsmith
- key: sqlsmith-group
- steps:
- - id: sqlsmith
- label: "SQLsmith"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlsmith
- args: [--max-joins=5, --runtime=1500]
- - id: sqlsmith-explain
- label: "SQLsmith explain"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlsmith
- args: [--max-joins=12, --explain-only, --runtime=1500]
- - group: SQLancer
- key: sqlancer
- steps:
- - id: sqlancer-pqs
- label: "SQLancer PQS"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlancer
- args: [--runtime=1500, --oracle=PQS, --no-qpg]
- - id: sqlancer-norec
- label: "SQLancer NoREC"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlancer
- args: [--runtime=1500, --oracle=NOREC]
- - id: sqlancer-query-partitioning
- label: "SQLancer QueryPartitioning"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- # Ran out of memory retrieving query results.
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlancer
- args: [--runtime=1500, --oracle=QUERY_PARTITIONING]
- - id: sqlancer-having
- label: "SQLancer Having"
- depends_on: build-aarch64
- timeout_in_minutes: 40
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqlancer
- args: [--runtime=1500, --oracle=HAVING]
- - group: RQG
- key: rqg
- steps:
- - id: rqg-simple-aggregates
- label: "RQG simple-aggregates workload"
- depends_on: build-aarch64
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["simple-aggregates", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-db3-joins
- label: "RQG dbt3-joins workload"
- depends_on: build-aarch64
- # Some queries run very slow on Postgres, set a higher timeout to give them a chance to finish
- timeout_in_minutes: 120
- agents:
- # Runs into timeout/OoM on small agents
- queue: hetzner-aarch64-8cpu-16gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["dbt3-joins", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-lateral-joins
- label: "RQG lateral-joins workload"
- depends_on: build-aarch64
- skip: "flaky until database-issues#7713 is fixed"
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["lateral-joins", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-subqueries
- label: "RQG subqueries workload"
- depends_on: build-aarch64
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["subqueries", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-window-functions
- label: "RQG window functions workload"
- depends_on: build-aarch64
- skip: "flaky until database-issues#8366 is fixed"
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["window-functions", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-wmr
- label: "RQG WMR workload"
- depends_on: build-aarch64
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- # Postgres does not support WMR, so our only hope for a comparison
- # test is to use a previous Mz version via --other-tag=...
- args: ["wmr", "--seed=$BUILDKITE_JOB_ID", "--other-tag=common-ancestor"]
- ci-builder: stable
- - id: rqg-banking
- label: "RQG banking workload"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["banking", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: rqg-left-join-stacks
- label: "RQG left join stacks workload"
- depends_on: build-aarch64
- timeout_in_minutes: 45
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- env:
- CI_ALLOW_LOCAL_BUILD: true
- plugins:
- - ./ci/plugins/mzcompose:
- composition: rqg
- args: ["left-join-stacks", "--seed=$BUILDKITE_JOB_ID"]
- ci-builder: stable
- - id: crdb-restarts
- label: "CRDB rolling restarts"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: crdb-restarts
- - id: pubsub-disruption
- label: "PubSub disruption"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: pubsub-disruption
- - id: retain-history
- label: "Check retain history"
- depends_on: build-aarch64
- skip: "database-issues#7310"
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: retain-history
- - group: "Data Ingest"
- key: data-ingest
- steps:
- - id: data-ingest-1-replica
- label: "Data Ingest (1 replica)"
- depends_on: build-aarch64
- timeout_in_minutes: 90
- parallelism: 2
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: data-ingest
- # Don't run with Azurite since it's pretty slow, see https://github.com/MaterializeInc/database-issues/issues/8892 for details
- args: [--replicas=1]
- - id: data-ingest-2-replicas
- label: "Data Ingest (2 replicas)"
- depends_on: build-aarch64
- timeout_in_minutes: 90
- parallelism: 2
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: data-ingest
- # Don't run with Azurite since it's pretty slow, see https://github.com/MaterializeInc/database-issues/issues/8892 for details
- args: [--replicas=2]
- - id: data-ingest-8-replicas
- label: "Data Ingest (8 replicas)"
- depends_on: build-aarch64
- timeout_in_minutes: 90
- parallelism: 2
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: data-ingest
- # Don't run with Azurite since it's pretty slow, see https://github.com/MaterializeInc/database-issues/issues/8892 for details
- args: [--replicas=8]
- - group: "Parallel Workload"
- key: parallel-workload
- steps:
- - id: parallel-workload-dml
- label: "Parallel Workload (DML)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --complexity=dml, --threads=16]
- - id: parallel-workload-ddl
- label: "Parallel Workload (DDL) with :azure: blob store"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --threads=8, --azurite]
- - id: parallel-workload-ddl-only
- label: "Parallel Workload (DDL Only)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --complexity=ddl-only, --threads=2]
- - id: parallel-workload-many-threads
- label: "Parallel Workload (many threads)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- # Sporadic OoM otherwise
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --threads=100]
- skip: "Too unstable at the moment"
- - id: parallel-workload-rename-naughty
- label: "Parallel Workload (rename + naughty identifiers)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=rename, --naughty-identifiers, --threads=16]
- - id: parallel-workload-rename
- label: "Parallel Workload (rename) with :azure: blob store"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=rename, --threads=16, --azurite]
- - id: parallel-workload-cancel
- label: "Parallel Workload (cancel)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=cancel, --threads=16]
- - id: parallel-workload-kill
- label: "Parallel Workload (kill)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=kill, --threads=8]
- - id: parallel-workload-backup-restore
- label: "Parallel Workload (backup & restore)"
- depends_on: build-aarch64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- skip: "TODO(def-): Properly stop all db actions during backup & restore"
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=backup-restore, --naughty-identifiers, --threads=16]
- - id: parallel-workload-0dt
- label: "Parallel Workload (0dt deploy)"
- depends_on: build-x86_64
- artifact_paths: [parallel-workload-queries.log.zst]
- timeout_in_minutes: 90
- agents:
- queue: hetzner-x86-64-dedi-16cpu-64gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: parallel-workload
- args: [--runtime=1500, --scenario=0dt-deploy, --threads=16]
- - group: Slow cluster tests
- key: slow-cluster
- steps:
- - id: incident-70
- label: "Test for incident 70"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: cluster
- run: test-incident-70
- - id: refresh-mv-restart
- label: "Refresh MV restart"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: cluster
- run: test-refresh-mv-restart
- - id: balancerd
- label: "Tests for balancerd"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: balancerd
- - group: Legacy upgrade tests
- key: legacy-upgrade
- steps:
- - id: legacy-upgrade-git
- label: Legacy upgrade tests (last version from git)
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: legacy-upgrade
- args: ["--versions-source=git"]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: legacy-upgrade-docs
- label: "Legacy upgrade tests (last version from docs)"
- parallelism: 2
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: legacy-upgrade
- args: ["--versions-source=docs", "--self-managed-upgrade"]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - group: Cloud tests
- key: cloudtests
- steps:
- - id: cloudtest
- label: Cloudtest
- depends_on: build-aarch64
- timeout_in_minutes: 60
- inputs:
- - test/cloudtest
- - misc/python/materialize/cloudtest
- - misc/kind
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster.yaml"
- plugins:
- - ./ci/plugins/scratch-aws-access: ~
- - ./ci/plugins/cloudtest:
- args:
- [
- --exitfirst,
- -m,
- "not long and not node_recovery",
- test/cloudtest/,
- ]
- agents:
- # TODO(def-): Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64
- sanitizer: skip
- - id: cloudtest-slow
- label: "Slow Cloudtest"
- depends_on: build-aarch64
- timeout_in_minutes: 45
- env:
- CLOUDTEST_CLUSTER_DEFINITION_FILE: "misc/kind/cluster.yaml"
- agents:
- # TODO: Debezium DNS flakiness doesn't allow running on hetzner
- # queue: hetzner-aarch64-4cpu-8gb
- queue: linux-aarch64-medium
- plugins:
- - ./ci/plugins/cloudtest:
- args: [-m=long, test/cloudtest/test_storage_shared_fate.py]
- sanitizer: skip
- - id: txn-wal-fencing
- label: "Txn-wal fencing with :azure: blob store"
- depends_on: build-aarch64
- timeout_in_minutes: 120
- parallelism: 2
- plugins:
- - ./ci/plugins/mzcompose:
- composition: txn-wal-fencing
- args: [--azurite]
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - group: "Copy To S3"
- key: copy-to-s3
- steps:
- - id: copy-to-s3-1-replica
- label: "Copy To S3 (1 replica)"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: copy-to-s3
- run: nightly
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: copy-to-s3-2-replicas
- label: "Copy To S3 (2 replicas)"
- depends_on: build-aarch64
- timeout_in_minutes: 60
- plugins:
- - ./ci/plugins/mzcompose:
- composition: copy-to-s3
- run: nightly
- args: [--default-size=2]
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- - id: backup-restore
- label: "CRDB / Persist backup and restore"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: backup-restore
- - id: backup-restore-postgres
- label: "Postgres / Persist backup and restore"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: backup-restore-postgres
- - id: replica-isolation
- label: Replica isolation
- depends_on: build-aarch64
- timeout_in_minutes: 90
- inputs: [test/replica-isolation]
- plugins:
- - ./ci/plugins/mzcompose:
- composition: replica-isolation
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: 0dt
- label: Zero downtime
- depends_on: build-x86_64
- timeout_in_minutes: 240
- parallelism: 2
- plugins:
- - ./ci/plugins/mzcompose:
- composition: 0dt
- agents:
- # More consistent results
- queue: hetzner-x86-64-dedi-16cpu-64gb
- - id: emulator
- label: Materialize Emulator
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: emulator
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: sqllogictest
- label: ":bulb: SQL logic tests (4 replicas)"
- depends_on: build-aarch64
- timeout_in_minutes: 480
- parallelism: 4
- agents:
- queue: hetzner-aarch64-16cpu-32gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: sqllogictest
- run: slow-tests
- args: [--replicas=4]
- - group: "Race Condition"
- key: race-condition
- steps:
- - id: race-condition-subsequent
- label: "Race Condition Test (subsequent)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: race-condition
- args: [--runtime=2800, --scenario=subsequent]
- - id: race-condition-subsequent-100
- label: "Race Condition Test (subsequent, 100 objects)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: race-condition
- args: [--runtime=2800, --scenario=subsequent, --num-objects=100]
- - id: race-condition-subsequent-chain
- label: "Race Condition Test (subsequent chain)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: race-condition
- args: [--runtime=2800, --scenario=subsequent-chain]
- - id: race-condition-subsequent-chain-100
- label: "Race Condition Test (subsequent chain, 100 objects)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: race-condition
- args: [--runtime=2800, --scenario=subsequent-chain, --num-objects=100]
- - id: race-condition-concurrent
- label: "Race Condition Test (concurrent)"
- depends_on: build-aarch64
- timeout_in_minutes: 180
- agents:
- queue: hetzner-aarch64-8cpu-16gb
- plugins:
- - ./ci/plugins/mzcompose:
- composition: race-condition
- args: [--runtime=2800, --scenario=concurrent]
- skip: "Not stable yet, not clear if this is a product issue"
- - group: "Language tests"
- key: language-tests
- steps:
- - id: lang-csharp
- label: ":csharp: tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: csharp
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: lang-js
- label: ":js: tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: js
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: lang-java
- label: ":java: tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: java
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: lang-python
- label: ":python: tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: python
- agents:
- queue: hetzner-aarch64-4cpu-8gb
- - id: lang-ruby
- label: ":ruby: tests"
- depends_on: build-aarch64
- timeout_in_minutes: 30
- plugins:
- - ./ci/plugins/mzcompose:
- composition: ruby
- agents:
- queue: hetzner-aarch64-4cpu-8gb
|