Merge branch 'next' into ci/dry_x64_builds

This commit is contained in:
wileyj
2024-03-04 10:59:32 -08:00
committed by GitHub
146 changed files with 3892 additions and 1791 deletions

View File

@@ -148,6 +148,7 @@ jobs:
) ||
github.event_name == 'workflow_dispatch' ||
github.event_name == 'pull_request' ||
github.event_name == 'merge_group' ||
(
contains('
refs/heads/master

View File

@@ -8,7 +8,7 @@ on:
- synchronize
- ready_for_review
paths:
- "**.rs"
- '**.rs'
concurrency:
group: pr-differences-${{ github.head_ref || github.ref || github.run_id }}
@@ -23,10 +23,13 @@ jobs:
runs-on: ubuntu-latest
outputs:
run_big_packages: ${{ steps.check_packages_and_shards.outputs.run_big_packages }}
big_packages_with_shards: ${{ steps.check_packages_and_shards.outputs.big_packages_with_shards }}
run_stackslib: ${{ steps.check_packages_and_shards.outputs.run_stackslib }}
stackslib_with_shards: ${{ steps.check_packages_and_shards.outputs.stackslib_with_shards }}
run_stacks_node: ${{ steps.check_packages_and_shards.outputs.run_stacks_node }}
stacks_node_with_shards: ${{ steps.check_packages_and_shards.outputs.stacks_node_with_shards }}
run_small_packages: ${{ steps.check_packages_and_shards.outputs.run_small_packages }}
small_packages_with_shards: ${{ steps.check_packages_and_shards.outputs.small_packages_with_shards }}
run_stacks_signer: ${{ steps.check_packages_and_shards.outputs.run_stacks_signer }}
steps:
- id: check_packages_and_shards
@@ -38,7 +41,9 @@ jobs:
needs: check-big-packages-and-shards
if: ${{ needs.check-big-packages-and-shards.outputs.run_small_packages == 'true' && needs.check-big-packages-and-shards.outputs.small_packages_with_shards == 'false' }}
if: |
needs.check-big-packages-and-shards.outputs.run_small_packages == 'true' &&
needs.check-big-packages-and-shards.outputs.small_packages_with_shards == 'false'
runs-on: ubuntu-latest
@@ -46,7 +51,7 @@ jobs:
- name: Run mutants on diffs
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
package-dimension: "small"
package: 'small'
# Mutation testing - Execute on PR on small packages that have functions modified (run with strategy matrix shards)
pr-differences-mutants-small-shards:
@@ -54,7 +59,9 @@ jobs:
needs: check-big-packages-and-shards
if: ${{ needs.check-big-packages-and-shards.outputs.run_small_packages == 'true' && needs.check-big-packages-and-shards.outputs.small_packages_with_shards == 'true' }}
if: |
needs.check-big-packages-and-shards.outputs.run_small_packages == 'true' &&
needs.check-big-packages-and-shards.outputs.small_packages_with_shards == 'true'
runs-on: ubuntu-latest
@@ -68,15 +75,17 @@ jobs:
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
shard: ${{ matrix.shard }}
package-dimension: "small"
package: 'small'
# Mutation testing - Execute on PR on big packages that have functions modified (normal run, no shards)
pr-differences-mutants-big-normal:
name: Mutation Testing - Normal, Big
# Mutation testing - Execute on PR on stackslib package (normal run, no shards)
pr-differences-mutants-stackslib-normal:
name: Mutation Testing - Normal, Stackslib
needs: check-big-packages-and-shards
if: ${{ needs.check-big-packages-and-shards.outputs.run_big_packages == 'true' && needs.check-big-packages-and-shards.outputs.big_packages_with_shards == 'false' }}
if: |
needs.check-big-packages-and-shards.outputs.run_stackslib == 'true' &&
needs.check-big-packages-and-shards.outputs.stackslib_with_shards == 'false'
runs-on: ubuntu-latest
@@ -87,15 +96,17 @@ jobs:
RUST_BACKTRACE: full
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
package-dimension: "big"
package: 'stackslib'
# Mutation testing - Execute on PR on big packages that have functions modified (run with strategy matrix shards)
pr-differences-mutants-big-shards:
name: Mutation Testing - Shards, Big
# Mutation testing - Execute on PR on stackslib package (run with strategy matrix shards)
pr-differences-mutants-stackslib-shards:
name: Mutation Testing - Shards, Stackslib
needs: check-big-packages-and-shards
if: ${{ needs.check-big-packages-and-shards.outputs.run_big_packages == 'true' && needs.check-big-packages-and-shards.outputs.big_packages_with_shards == 'true' }}
if: |
needs.check-big-packages-and-shards.outputs.run_stackslib == 'true' &&
needs.check-big-packages-and-shards.outputs.stackslib_with_shards == 'true'
runs-on: ubuntu-latest
@@ -112,7 +123,72 @@ jobs:
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
shard: ${{ matrix.shard }}
package-dimension: "big"
package: 'stackslib'
# Mutation testing - Execute on PR on stacks-node package (normal run, no shards)
pr-differences-mutants-stacks-node-normal:
name: Mutation Testing - Normal, Stacks Node
needs: check-big-packages-and-shards
if: |
needs.check-big-packages-and-shards.outputs.run_stacks_node == 'true' &&
needs.check-big-packages-and-shards.outputs.stacks_node_with_shards == 'false'
runs-on: ubuntu-latest
steps:
- name: Run Run mutants on diffs
env:
BITCOIND_TEST: 1
RUST_BACKTRACE: full
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
package: 'stacks-node'
# Mutation testing - Execute on PR on stacks-node package (run with strategy matrix shards)
pr-differences-mutants-stacks-node-shards:
name: Mutation Testing - Shards, Stacks Node
needs: check-big-packages-and-shards
if: |
needs.check-big-packages-and-shards.outputs.run_stacks_node == 'true' &&
needs.check-big-packages-and-shards.outputs.stacks_node_with_shards == 'true'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3]
steps:
- name: Run mutants on diffs
env:
BITCOIND_TEST: 1
RUST_BACKTRACE: full
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
shard: ${{ matrix.shard }}
package: 'stacks-node'
# Mutation testing - Execute on PR on stacks-signer package (normal run, no shards)
pr-differences-mutants-stacks-signer-normal:
name: Mutation Testing - Normal, Stacks Signer
needs: check-big-packages-and-shards
if: |
needs.check-big-packages-and-shards.outputs.run_stacks_signer == 'true'
runs-on: ubuntu-latest
steps:
- name: Run mutants on diffs
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@main
with:
package: 'stacks-signer'
# Output the mutants and fail the workflow if there are missed/timeout/unviable mutants
output-mutants:
@@ -120,20 +196,27 @@ jobs:
runs-on: ubuntu-latest
if: always()
needs:
[
check-big-packages-and-shards,
pr-differences-mutants-small-normal,
pr-differences-mutants-small-shards,
pr-differences-mutants-big-normal,
pr-differences-mutants-big-shards,
pr-differences-mutants-stackslib-normal,
pr-differences-mutants-stackslib-shards,
pr-differences-mutants-stacks-node-normal,
pr-differences-mutants-stacks-node-shards,
pr-differences-mutants-stacks-signer-normal,
]
steps:
- name: Output Mutants
uses: stacks-network/actions/stacks-core/mutation-testing/output-pr-mutants@main
with:
big_packages: ${{ needs.check-big-packages-and-shards.outputs.run_big_packages }}
shards_for_big_packages: ${{ needs.check-big-packages-and-shards.outputs.big_packages_with_shards }}
stackslib_package: ${{ needs.check-big-packages-and-shards.outputs.run_stackslib }}
shards_for_stackslib_package: ${{ needs.check-big-packages-and-shards.outputs.stackslib_with_shards }}
stacks_node_package: ${{ needs.check-big-packages-and-shards.outputs.run_stacks_node }}
shards_for_stacks_node_package: ${{ needs.check-big-packages-and-shards.outputs.stacks_node_with_shards }}
small_packages: ${{ needs.check-big-packages-and-shards.outputs.run_small_packages }}
shards_for_small_packages: ${{ needs.check-big-packages-and-shards.outputs.small_packages_with_shards }}
stacks_signer: ${{ needs.check-big-packages-and-shards.outputs.run_stacks_signer }}

View File

@@ -160,9 +160,10 @@ jobs:
id: codecov
uses: stacks-network/actions/codecov@main
with:
fail_ci_if_error: true
test-name: ${{ matrix.test-name }}
upload-only: true
filename: ./lcov.info
filename: ./contrib/core-contract-tests/lcov.info
# Core contract tests on Clarinet v1
# Check for false positives/negatives