Commit c83f711 1 parent 7a75b07 commit c83f711 Copy full SHA for c83f711
File tree 1 file changed +55
-0
lines changed
1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : MutalkCI
2
+
3
+ # This reusable workflow defines a mutation testing CI to run on a ginven project
4
+ # Specify the mode (full or diff) to run mutations
5
+
6
+ on :
7
+ workflow_call :
8
+ inputs :
9
+ mode :
10
+ description : ' modes: full (run on all project), diff (run on the last commit diff)'
11
+ default : ' full'
12
+ type : string
13
+
14
+ jobs :
15
+ mutation_testing :
16
+ runs-on : ubuntu-latest
17
+ permissions :
18
+ pull-requests : write
19
+ steps :
20
+ - uses : actions/checkout@v4
21
+ with :
22
+ fetch-depth : 0
23
+
24
+ - uses : hpi-swa/setup-smalltalkCI@v1
25
+ id : smalltalkci
26
+ with :
27
+ smalltalk-image : Pharo64-stable
28
+
29
+ - run : smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }}
30
+ shell : bash
31
+ timeout-minutes : 15
32
+
33
+ - run : ${{env.SMALLTALK_CI_VM}} ${{env.SMALLTALK_CI_IMAGE}} metacello install "github://pharo-contributions/mutalk/src" BaselineOfMuTalk
34
+ shell : bash
35
+
36
+ - name : full mutation testing
37
+ if : inputs.mode == 'full'
38
+ run : ${{env.SMALLTALK_CI_VM}} ${{env.SMALLTALK_CI_IMAGE}} mutalk --project=${{github.event.repository.name}}
39
+
40
+ - name : diff mutation testing
41
+ if : inputs.mode == 'diff'
42
+ run : ${{env.SMALLTALK_CI_VM}} ${{env.SMALLTALK_CI_IMAGE}} mutalk --project=${{github.event.repository.name}} --diff
43
+
44
+ - name : Comment PR
45
+ uses : thollander/actions-comment-pull-request@v2
46
+ with :
47
+ comment_tag : mut_report
48
+ filePath : " ${{env.SMALLTALK_CI_BUILD_BASE}}/__mutalk_summary.md"
49
+
50
+ - run : cp ${{env.SMALLTALK_CI_BUILD_BASE}}/__mutalk_summary.md $GITHUB_STEP_SUMMARY
51
+
52
+ - uses : actions/upload-artifact@v4
53
+ with :
54
+ name : mutation-testing-output
55
+ path : ${{env.SMALLTALK_CI_BUILD_BASE}}/__mutalk_export.json
You can’t perform that action at this time.
0 commit comments