Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

Commit

Permalink
feat: update workflow file used
Browse files Browse the repository at this point in the history
  • Loading branch information
ASuciuX committed Feb 14, 2024
1 parent 756c373 commit da3c4c8
Showing 1 changed file with 75 additions and 24 deletions.
99 changes: 75 additions & 24 deletions .github/workflows/pr-differences-mutants.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ 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 }}
Expand All @@ -47,7 +49,7 @@ jobs:
- name: Run mutants on diffs
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@feat/mutation-testing
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:
Expand All @@ -69,15 +71,15 @@ jobs:
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@feat/mutation-testing
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

Expand All @@ -88,15 +90,15 @@ jobs:
RUST_BACKTRACE: full
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@feat/mutation-testing
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

Expand All @@ -113,46 +115,95 @@ jobs:
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@feat/mutation-testing
with:
shard: ${{ matrix.shard }}
package-dimension: "big"
package: "stackslib"

# Mutation testing - Execute on PR on stacks-signer package if it has functions modified (normal run, no shards)
pr-differences-mutants-stacks-signer:
name: Mutation Testing - Normal, Signer
# 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_signer == 'true' }}
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@feat/mutation-testing
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@feat/mutation-testing
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 Run mutants on diffs
uses: stacks-network/actions/stacks-core/mutation-testing/pr-differences@feat/mutation-testing
with:
package-dimension: "stacks-signer"
package: "stacks-signer"

# Output the mutants and fail the workflow if there are missed/timeout/unviable mutants
output-mutants:
name: Output Mutants

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-stacks-signer,
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@feat/mutation-testing
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 }}

0 comments on commit da3c4c8

Please sign in to comment.