Skip to content

Commit 0df2836

Browse files
committed
target branch
1 parent 7fee82d commit 0df2836

File tree

1 file changed

+36
-32
lines changed

1 file changed

+36
-32
lines changed

.github/workflows/pr-test.yml

+36-32
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@ jobs:
2020
fetch-depth: 0
2121
ref: refs/pull/${{ github.event.issue.number }}/head
2222

23-
# Verify we're on the correct branch
2423
- name: Verify branch
2524
run: |
2625
echo "Current branch:"
2726
git branch --show-current
2827
echo "Current commit:"
2928
git rev-parse HEAD
3029
31-
# Get PR SHA
3230
- name: Get PR SHA
3331
id: get-pr-info
3432
run: |
@@ -65,38 +63,44 @@ jobs:
6563
pnpm test 2>&1 | tee test_output.txt
6664
TEST_EXIT_CODE=${PIPESTATUS[0]}
6765
68-
# Prepare the output
69-
echo "output<<EOF" >> $GITHUB_OUTPUT
70-
cat test_output.txt >> $GITHUB_OUTPUT
71-
echo "EOF" >> $GITHUB_OUTPUT
72-
73-
# Set the status based on exit code
74-
if [ $TEST_EXIT_CODE -eq 0 ]; then
75-
echo "status=success" >> $GITHUB_OUTPUT
76-
else
77-
echo "status=failure" >> $GITHUB_OUTPUT
78-
fi
79-
80-
echo "exit_code=$TEST_EXIT_CODE" >> $GITHUB_OUTPUT
81-
exit $TEST_EXIT_CODE # This is important - make the step fail if tests fail
66+
# Prepare the output, ensuring proper escaping
67+
{
68+
echo "output<<EOF"
69+
cat test_output.txt
70+
echo "EOF"
71+
72+
if [ $TEST_EXIT_CODE -eq 0 ]; then
73+
echo "status=success"
74+
else
75+
echo "status=failure"
76+
fi
77+
78+
echo "exit_code=$TEST_EXIT_CODE"
79+
} >> $GITHUB_OUTPUT
8280
8381
- name: Create Status Check
84-
if: always() # Run even if tests fail
82+
if: always()
8583
uses: actions/github-script@v6
8684
with:
8785
script: |
88-
const testStatus = '${{ steps.run-tests.outputs.status }}';
89-
const testOutput = `${{ steps.run-tests.outputs.output }}`;
90-
const exitCode = '${{ steps.run-tests.outputs.exit_code }}';
91-
92-
await github.rest.repos.createCommitStatus({
93-
owner: context.repo.owner,
94-
repo: context.repo.repo,
95-
sha: '${{ steps.get-pr-info.outputs.sha }}',
96-
state: testStatus === 'success' ? 'success' : 'failure',
97-
target_url: `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`,
98-
description: testStatus === 'success'
99-
? 'Tests passed successfully!'
100-
: `Tests failed with exit code ${exitCode}`,
101-
context: 'PR Tests'
102-
});
86+
try {
87+
const testStatus = '${{ steps.run-tests.outputs.status }}';
88+
const exitCode = '${{ steps.run-tests.outputs.exit_code }}';
89+
90+
const statusData = {
91+
owner: context.repo.owner,
92+
repo: context.repo.repo,
93+
sha: '${{ steps.get-pr-info.outputs.sha }}',
94+
state: testStatus === 'success' ? 'success' : 'failure',
95+
target_url: `${process.env.GITHUB_SERVER_URL}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`,
96+
description: testStatus === 'success'
97+
? 'Tests passed successfully!'
98+
: `Tests failed with exit code ${exitCode}`,
99+
context: 'PR Tests'
100+
};
101+
102+
await github.rest.repos.createCommitStatus(statusData);
103+
} catch (error) {
104+
console.error('Error creating status check:', error);
105+
core.setFailed(error.message);
106+
}

0 commit comments

Comments
 (0)