forked from prisma/prisma-engines
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tech-debt: Apply sharding to query-engine tests, retry flakes and get…
… rid of buildjet (prisma#4593)
- Loading branch information
Miguel Fernández
authored
Dec 20, 2023
1 parent
2fab2ec
commit f8ac68b
Showing
13 changed files
with
353 additions
and
269 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
[store] | ||
# The directory under the workspace root at which nextest-related files are | ||
# written. Profile-specific storage is currently written to dir/<profile-name>. | ||
dir = "target/nextest" | ||
|
||
# This section defines the default nextest profile. Custom profiles are layered | ||
# on top of the default profile. | ||
[profile.default] | ||
# "retries" defines the number of times a test should be retried. If set to a | ||
# non-zero value, tests that succeed on a subsequent attempt will be marked as | ||
# flaky. Can be overridden through the `--retries` option. | ||
# Examples | ||
# * retries = 3 | ||
# * retries = { backoff = "fixed", count = 2, delay = "1s" } | ||
# * retries = { backoff = "exponential", count = 10, delay = "1s", jitter = true, max-delay = "10s" } | ||
retries = { backoff = "fixed", count = 5, delay = "1s", jitter = true } | ||
|
||
# The number of threads to run tests with. Supported values are either an integer or | ||
# the string "num-cpus". Can be overridden through the `--test-threads` option. | ||
test-threads = "num-cpus" | ||
|
||
# The number of threads required for each test. This is generally used in overrides to | ||
# mark certain tests as heavier than others. However, it can also be set as a global parameter. | ||
threads-required = 1 | ||
|
||
# Show these test statuses in the output. | ||
# | ||
# The possible values this can take are: | ||
# * none: no output | ||
# * fail: show failed (including exec-failed) tests | ||
# * retry: show flaky and retried tests | ||
# * slow: show slow tests | ||
# * pass: show passed tests | ||
# * skip: show skipped tests (most useful for CI) | ||
# * all: all of the above | ||
# | ||
# Each value includes all the values above it; for example, "slow" includes | ||
# failed and retried tests. | ||
# | ||
# Can be overridden through the `--status-level` flag. | ||
status-level = "all" | ||
|
||
# Similar to status-level, show these test statuses at the end of the run. | ||
final-status-level = "flaky" | ||
|
||
# "failure-output" defines when standard output and standard error for failing tests are produced. | ||
# Accepted values are | ||
# * "immediate": output failures as soon as they happen | ||
# * "final": output failures at the end of the test run | ||
# * "immediate-final": output failures as soon as they happen and at the end of | ||
# the test run; combination of "immediate" and "final" | ||
# * "never": don't output failures at all | ||
# | ||
# For large test suites and CI it is generally useful to use "immediate-final". | ||
# | ||
# Can be overridden through the `--failure-output` option. | ||
failure-output = "immediate-final" | ||
|
||
# "success-output" controls production of standard output and standard error on success. This should | ||
# generally be set to "never". | ||
success-output = "never" | ||
|
||
# Cancel the test run on the first failure. For CI runs, consider setting this | ||
# to false. | ||
fail-fast = false | ||
|
||
# Treat a test that takes longer than the configured 'period' as slow, and print a message. | ||
# See <https://nexte.st/book/slow-tests> for more information. | ||
# | ||
# Optional: specify the parameter 'terminate-after' with a non-zero integer, | ||
# which will cause slow tests to be terminated after the specified number of | ||
# periods have passed. | ||
# Example: slow-timeout = { period = "60s", terminate-after = 2 } | ||
slow-timeout = { period = "60s" } | ||
|
||
# Treat a test as leaky if after the process is shut down, standard output and standard error | ||
# aren't closed within this duration. | ||
# | ||
# This usually happens in case of a test that creates a child process and lets it inherit those | ||
# handles, but doesn't clean the child process up (especially when it fails). | ||
# | ||
# See <https://nexte.st/book/leaky-tests> for more information. | ||
leak-timeout = "100ms" | ||
|
||
# This profile is activated if MIRI_SYSROOT is set. | ||
[profile.default-miri] | ||
# Miri tests take up a lot of memory, so only run 1 test at a time by default. | ||
test-threads = 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,40 @@ | ||
name: Test release binary compilation | ||
name: "All crates: compilation" | ||
on: | ||
pull_request: | ||
paths-ignore: | ||
- '.github/**' | ||
- '!.github/workflows/compilation.yml' | ||
- '.buildkite/**' | ||
- '*.md' | ||
- 'LICENSE' | ||
- 'CODEOWNERS' | ||
- 'renovate.json' | ||
- "!.github/workflows/test-compilation.yml" | ||
- ".github/**" | ||
- ".buildkite/**" | ||
- "*.md" | ||
- "LICENSE" | ||
- "CODEOWNERS" | ||
- "renovate.json" | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
test-crate-compilation: | ||
name: 'Compile top level crates on Linux' | ||
name: "Check release compilation" | ||
strategy: | ||
fail-fast: false | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: dtolnay/rust-toolchain@stable | ||
|
||
- run: 'cargo clean && cargo build --release -p schema-engine-cli' | ||
name: 'Compile Migration Engine' | ||
- run: "cargo clean && cargo build --release -p schema-engine-cli" | ||
name: "Compile Migration Engine" | ||
|
||
- run: 'cargo clean && cargo build --release -p prisma-fmt' | ||
name: 'Compile prisma-fmt' | ||
- run: "cargo clean && cargo build --release -p prisma-fmt" | ||
name: "Compile prisma-fmt" | ||
|
||
- run: 'cargo clean && cargo build --release -p query-engine' | ||
name: 'Compile Query Engine Binary' | ||
- run: "cargo clean && cargo build --release -p query-engine" | ||
name: "Compile Query Engine Binary" | ||
|
||
- run: 'cargo clean && cargo build --release -p query-engine-node-api' | ||
name: 'Compile Query Engine Library' | ||
- run: "cargo clean && cargo build --release -p query-engine-node-api" | ||
name: "Compile Query Engine Library" | ||
|
||
- name: 'Check that Cargo.lock did not change' | ||
run: 'git diff --exit-code' | ||
- name: "Check that Cargo.lock did not change" | ||
run: "git diff --exit-code" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.