Skip to content

Commit c6dd0ab

Browse files
committed
Revert "Merge pull request #449 from RailsEventStore/incremental-mutation-tests"
This reverts commit 0981f50, reversing changes made to c1a62be.
1 parent 248f31b commit c6dd0ab

File tree

4 files changed

+22
-320
lines changed

4 files changed

+22
-320
lines changed

.github/workflows/pricing.yml

Lines changed: 6 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -4,123 +4,6 @@ on:
44
pull_request:
55
types: [opened, reopened]
66
jobs:
7-
determine_run_parameters:
8-
runs-on: ubuntu-24.04
9-
outputs:
10-
mutant_mode: ${{ steps.set_params.outputs.mutant_mode }}
11-
mutant_since_target: ${{ steps.set_params.outputs.mutant_since_target }}
12-
num_groups: ${{ steps.set_params.outputs.num_groups }}
13-
steps:
14-
- name: Determine Mutation Run Parameters
15-
id: set_params
16-
shell: bash
17-
env:
18-
EVENT_NAME: ${{ github.event_name }}
19-
REF_NAME: ${{ github.ref_name }}
20-
PR_BASE_REF: ${{ github.event.pull_request.base.ref }}
21-
PR_TITLE: ${{ github.event.pull_request.title }}
22-
PR_BODY: ${{ github.event.pull_request.body }}
23-
COMMIT_MESSAGES_JOINED_WITH_SPACES_ACTIONS: ${{ join(github.event.commits.*.message, ' ') }}
24-
COMMIT_MESSAGES_JOINED_WITH_SLASHES_ACTIONS: ${{ join(github.event.commits.*.message, ' // ') }}
25-
26-
run: |
27-
echo "--- Debug: Determining mutation run parameters for pricing ---"
28-
echo "Event name: $EVENT_NAME"
29-
echo "Ref name: $REF_NAME"
30-
echo "Base ref (for PR): $PR_BASE_REF"
31-
echo "PR title: $PR_TITLE"
32-
33-
RAW_COMMIT_MESSAGES_FOR_JOIN_WITH_SLASHES="$COMMIT_MESSAGES_JOINED_WITH_SLASHES_ACTIONS"
34-
RAW_COMMIT_MESSAGES_FOR_JOIN_WITH_SPACES="$COMMIT_MESSAGES_FOR_JOIN_WITH_SPACES_ACTIONS"
35-
36-
CLEANED_COMMIT_MESSAGES_FOR_LOG="${RAW_COMMIT_MESSAGES_FOR_JOIN_WITH_SLASHES//\'/}"
37-
COMMIT_MESSAGES_LOG=$(echo "${CLEANED_COMMIT_MESSAGES_FOR_LOG}" | head -c 500)
38-
echo "Commit messages in push (cleaned, first 500 chars): ${COMMIT_MESSAGES_LOG}..."
39-
40-
CLEANED_COMMIT_MESSAGES_FOR_CONTAINS="${RAW_COMMIT_MESSAGES_FOR_JOIN_WITH_SPACES//\'/}"
41-
42-
if [[ "${CLEANED_COMMIT_MESSAGES_FOR_CONTAINS}" == *"[mutate-full]"* ]]; then
43-
CONTAINS_MUTATE_FULL_IN_PUSH="true"
44-
else
45-
CONTAINS_MUTATE_FULL_IN_PUSH="false"
46-
fi
47-
echo "Contains '[mutate-full]' in push commit messages (from cleaned messages): $CONTAINS_MUTATE_FULL_IN_PUSH"
48-
49-
CLEANED_PR_TITLE="${PR_TITLE//\'/}"
50-
if [[ "${CLEANED_PR_TITLE}" == *"[mutate-full]"* ]]; then
51-
CONTAINS_MUTATE_FULL_IN_PR_TITLE="true"
52-
else
53-
CONTAINS_MUTATE_FULL_IN_PR_TITLE="false"
54-
fi
55-
echo "Contains '[mutate-full]' in PR title (from cleaned title): $CONTAINS_MUTATE_FULL_IN_PR_TITLE"
56-
57-
CLEANED_PR_BODY="${PR_BODY//\'/}"
58-
if [[ "${CLEANED_PR_BODY}" == *"[mutate-full]"* ]]; then
59-
CONTAINS_MUTATE_FULL_IN_PR_BODY="true"
60-
else
61-
CONTAINS_MUTATE_FULL_IN_PR_BODY="false"
62-
fi
63-
echo "Contains '[mutate-full]' in PR body (from cleaned body): $CONTAINS_MUTATE_FULL_IN_PR_BODY"
64-
65-
echo "---------------------------------------------"
66-
67-
FINAL_MUTANT_MODE="full"
68-
FINAL_NUM_GROUPS=32
69-
FINAL_SINCE_TARGET=""
70-
71-
IS_MUTATE_FULL_TRIGGERED="false"
72-
if [[ "$EVENT_NAME" == "pull_request" && \
73-
( "$CONTAINS_MUTATE_FULL_IN_PR_TITLE" == "true" || "$CONTAINS_MUTATE_FULL_IN_PR_BODY" == "true" ) ]]; then
74-
echo "Logic path: [mutate-full] in PR title/body."
75-
IS_MUTATE_FULL_TRIGGERED="true"
76-
elif [[ "$EVENT_NAME" == "push" && "$CONTAINS_MUTATE_FULL_IN_PUSH" == "true" ]]; then
77-
echo "Logic path: [mutate-full] in push commit message(s)."
78-
IS_MUTATE_FULL_TRIGGERED="true"
79-
fi
80-
81-
if [[ "$IS_MUTATE_FULL_TRIGGERED" == "true" ]]; then
82-
echo "Action: Mode set to 'full' (NUM_GROUPS=32) due to [mutate-full] trigger."
83-
FINAL_MUTANT_MODE="full"
84-
FINAL_NUM_GROUPS=32
85-
else
86-
if [[ "$EVENT_NAME" == "pull_request" ]]; then
87-
echo "Logic path: Pull request event (no [mutate-full] trigger)."
88-
echo "Action: Mode set to 'incremental' (NUM_GROUPS=4) for PR."
89-
FINAL_MUTANT_MODE="incremental"
90-
FINAL_NUM_GROUPS=4
91-
FINAL_SINCE_TARGET="origin/$PR_BASE_REF"
92-
echo "Incremental target: $FINAL_SINCE_TARGET"
93-
elif [[ "$EVENT_NAME" == "push" ]]; then
94-
if [[ "$REF_NAME" == "master" || "$REF_NAME" == "main" ]]; then
95-
echo "Logic path: Push event to main branch (no [mutate-full] trigger)."
96-
echo "Action: Mode set to 'full' (NUM_GROUPS=32) for main branch."
97-
FINAL_MUTANT_MODE="full"
98-
FINAL_NUM_GROUPS=32
99-
else
100-
echo "Logic path: Push event to non-main branch ('$REF_NAME') (no [mutate-full] trigger)."
101-
echo "Action: Mode set to 'incremental' (NUM_GROUPS=4) for branch push."
102-
FINAL_MUTANT_MODE="incremental"
103-
FINAL_NUM_GROUPS=4
104-
FINAL_SINCE_TARGET="origin/master"
105-
echo "Incremental target: $FINAL_SINCE_TARGET"
106-
fi
107-
fi
108-
fi
109-
110-
echo "Debug before GITHUB_OUTPUT: FINAL_MUTANT_MODE='${FINAL_MUTANT_MODE}'"
111-
echo "Debug before GITHUB_OUTPUT: FINAL_SINCE_TARGET='${FINAL_SINCE_TARGET}'"
112-
echo "Debug before GITHUB_OUTPUT: FINAL_NUM_GROUPS='${FINAL_NUM_GROUPS}'"
113-
114-
echo "mutant_mode=${FINAL_MUTANT_MODE}" >> $GITHUB_OUTPUT
115-
echo "mutant_since_target=${FINAL_SINCE_TARGET}" >> $GITHUB_OUTPUT
116-
echo "num_groups=${FINAL_NUM_GROUPS}" >> $GITHUB_OUTPUT
117-
118-
echo "--- Final Parameters for pricing ---"
119-
echo "Mutant Mode: ${FINAL_MUTANT_MODE}"
120-
echo "Mutant Since Target: ${FINAL_SINCE_TARGET}"
121-
echo "Num Groups: ${FINAL_NUM_GROUPS}"
122-
echo "------------------------"
123-
1247
test:
1258
runs-on: ubuntu-24.04
1269
strategy:
@@ -144,7 +27,7 @@ jobs:
14427
{
14528
attachments: [{
14629
color: '${{ job.status }}' === 'success' ? 'good' : '${{ job.status }}' === 'failure' ? 'danger' : 'warning',
147-
text: `${process.env.AS_WORKFLOW}/${{ github.job }} ${{ job.status }} in ${process.env.AS_TOOK}\n${process.env.AS_COMMIT} in ${process.env.AS_REF} for pricing`,
30+
text: `${process.env.AS_WORKFLOW}/${{ github.job }} ${{ job.status }} in ${process.env.AS_TOOK}\n${process.env.AS_COMMIT} in ${process.env.AS_REF}`,
14831
}]
14932
}
15033
env:
@@ -154,15 +37,12 @@ jobs:
15437

15538
prepare_mutation_subjects_pricing:
15639
runs-on: ubuntu-24.04
157-
needs: determine_run_parameters
15840
outputs:
15941
subject_groups: ${{ steps.split_subjects.outputs.subject_groups }}
16042
env:
16143
WORKING_DIRECTORY: ecommerce/pricing
16244
steps:
16345
- uses: actions/checkout@v3
164-
with:
165-
fetch-depth: 0
16646
- uses: ruby/setup-ruby@v1
16747
with:
16848
ruby-version: ruby-3.3.7
@@ -171,11 +51,8 @@ jobs:
17151
- name: List and split subjects for pricing
17252
id: split_subjects
17353
working-directory: ${{ env.WORKING_DIRECTORY }}
174-
env:
175-
NUM_GROUPS_FROM_CI: ${{ needs.determine_run_parameters.outputs.num_groups }}
17654
run: |
177-
echo "--- Preparing subjects for pricing ---"
178-
SUBJECT_LIST_OUTPUT=$(bundle exec mutant environment subject list)
55+
SUBJECT_LIST_OUTPUT=$(RAILS_ENV=test bundle exec mutant environment subject list)
17956
18057
mapfile -t subjects_array < <( \
18158
echo "$SUBJECT_LIST_OUTPUT" | \
@@ -192,9 +69,7 @@ jobs:
19269
fi
19370
19471
total_subjects=${#subjects_array[@]}
195-
NUM_GROUPS=${NUM_GROUPS_FROM_CI:-4}
196-
echo "Total subjects found: $total_subjects"
197-
echo "Number of parallel groups to create: $NUM_GROUPS"
72+
NUM_GROUPS=32 # Define the number of parallel jobs
19873
groups_json_array_content=""
19974
20075
for (( i=0; i<NUM_GROUPS; i++ )); do
@@ -215,10 +90,9 @@ jobs:
21590
done
21691
echo "Generated subject_groups for pricing: [$groups_json_array_content]"
21792
echo "subject_groups=[$groups_json_array_content]" >> $GITHUB_OUTPUT
218-
echo "-----------------------------------"
21993
22094
mutate:
221-
needs: [determine_run_parameters, prepare_mutation_subjects_pricing]
95+
needs: prepare_mutation_subjects_pricing
22296
if: ${{ needs.prepare_mutation_subjects_pricing.outputs.subject_groups != '[]' && needs.prepare_mutation_subjects_pricing.outputs.subject_groups != '' }}
22397
runs-on: ubuntu-24.04
22498
strategy:
@@ -227,27 +101,14 @@ jobs:
227101
subject_group: ${{ fromJson(needs.prepare_mutation_subjects_pricing.outputs.subject_groups) }}
228102
env:
229103
WORKING_DIRECTORY: ecommerce/pricing
230-
MUTANT_MODE: ${{ needs.determine_run_parameters.outputs.mutant_mode }}
231-
MUTANT_SINCE_TARGET: ${{ needs.determine_run_parameters.outputs.mutant_since_target }}
232104
steps:
233105
- uses: actions/checkout@v3
234-
with:
235-
fetch-depth: 0
236106
- uses: ruby/setup-ruby@v1
237107
with:
238108
ruby-version: ruby-3.3.7
239109
bundler-cache: true
240110
working-directory: ${{ env.WORKING_DIRECTORY }}
241-
- name: Run mutation tests (parallel group for pricing)
242-
run: |
243-
echo "Debug from CI step before calling make (using PASSED_ var names):"
244-
echo " Value for PASSED_MODE='${{ env.ENV_CLI_MUTANT_MODE }}'"
245-
echo " Value for PASSED_SINCE_TARGET='${{ env.ENV_CLI_MUTANT_SINCE_TARGET }}'"
246-
echo " CI_MUTATE_SUBJECTS (from env): '${{ env.CI_MUTATE_SUBJECTS }}'"
247-
248-
make mutate \
249-
PASSED_MODE="${{ env.ENV_CLI_MUTANT_MODE }}" \
250-
PASSED_SINCE_TARGET="${{ env.ENV_CLI_MUTANT_SINCE_TARGET }}"
111+
- run: make mutate
251112
working-directory: ${{ env.WORKING_DIRECTORY }}
252113
env:
253114
CI_MUTATE_SUBJECTS: ${{ matrix.subject_group }}
@@ -280,4 +141,4 @@ jobs:
280141
}]
281142
}
282143
env:
283-
SLACK_WEBHOOK_URL: ${{ secrets.CI_WEBHOOK }}
144+
SLACK_WEBHOOK_URL: ${{ secrets.CI_WEBHOOK }}

0 commit comments

Comments
 (0)