Skip to content

Commit 7f0d1f0

Browse files
committed
Support monorepo
1 parent 71283a2 commit 7f0d1f0

File tree

1 file changed

+34
-7
lines changed

1 file changed

+34
-7
lines changed

action.yml

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ inputs:
99
branch-name:
1010
description: 'Branch to store test results'
1111
required: true
12+
is-monorepo:
13+
description: 'Is monorepo'
14+
required: false
15+
default: false
16+
package:
17+
description: 'Package name'
18+
required: false
19+
default: 'utils'
1220

1321
permissions:
1422
contents: write
@@ -23,12 +31,25 @@ runs:
2331
- uses: actions/setup-node@v2
2432
with:
2533
node-version: 20
26-
cache: yarn
2734

28-
- run: yarn install
35+
- name: Install dependencies
36+
run: |
37+
if [[ "${{ inputs.is-monorepo }}" == "true" ]]; then
38+
npm install -g pnpm
39+
pnpm install --no-frozen-lockfile
40+
else
41+
yarn install
42+
fi
2943
shell: bash
3044

31-
- run: yarn run test
45+
- name: Run tests
46+
run: |
47+
if [[ "${{ inputs.is-monorepo }}" == "true" ]]; then
48+
cd packages/${{ inputs.package }}
49+
pnpm run test
50+
else
51+
yarn run test
52+
fi
3253
shell: bash
3354

3455
- name: Install xmlstarlet
@@ -39,13 +60,19 @@ runs:
3960

4061
- name: Extract test counts
4162
run: |
42-
echo "TESTS=$(xmlstarlet sel -t -v "testsuites/@tests" "jest-report.xml")" >> $GITHUB_ENV
43-
echo "FAILURES=$(xmlstarlet sel -t -v "testsuites/@failures" "jest-report.xml")" >> $GITHUB_ENV
44-
echo "ERRORS=$(xmlstarlet sel -t -v "testsuites/@errors" "jest-report.xml")" >> $GITHUB_ENV
63+
if [[ "${{ inputs.is-monorepo }}" == "true" ]]; then
64+
echo "TESTS=$(xmlstarlet sel -t -v "testsuites/@tests" "packages/${{ inputs.package }}/jest-report.xml")" >> $GITHUB_ENV
65+
echo "FAILURES=$(xmlstarlet sel -t -v "testsuites/@failures" "packages/${{ inputs.package }}/jest-report.xml")" >> $GITHUB_ENV
66+
echo "ERRORS=$(xmlstarlet sel -t -v "testsuites/@errors" "packages/${{ inputs.package }}/jest-report.xml")" >> $GITHUB_ENV
67+
else
68+
echo "TESTS=$(xmlstarlet sel -t -v "testsuites/@tests" "jest-report.xml")" >> $GITHUB_ENV
69+
echo "FAILURES=$(xmlstarlet sel -t -v "testsuites/@failures" "jest-report.xml")" >> $GITHUB_ENV
70+
echo "ERRORS=$(xmlstarlet sel -t -v "testsuites/@errors" "jest-report.xml")" >> $GITHUB_ENV
71+
fi
4572
shell: bash
4673

4774
- name: Set file name
48-
run: echo "FILENAME=$(echo ${GITHUB_REF#refs/heads/} | tr '/' '-')-test-results.json" >> $GITHUB_ENV
75+
run: echo "FILENAME=$(echo ${GITHUB_REF#refs/heads/} | tr '/' '-')-${{ inputs.package }}-test-results.json" >> $GITHUB_ENV
4976
shell: bash
5077

5178
- name: Prepare Content

0 commit comments

Comments
 (0)