mirror of
https://github.com/facebook/react.git
synced 2026-02-26 18:58:05 +00:00
Sorry about the thrash in advance! This removes the top level `forget` directory which adds unnecessary nesting to our repo Hopefully everything still works
61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
name: test262
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test262:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18.x
|
|
cache: "yarn"
|
|
cache-dependency-path: yarn.lock
|
|
- run: yarn install --frozen-lockfile
|
|
- run: yarn workspace babel-plugin-react-forget run build
|
|
- id: test262
|
|
name: Run test262
|
|
run: echo results=$(yarn --silent workspace babel-plugin-react-forget run --silent test262:ci) >> $GITHUB_OUTPUT
|
|
- id: format_test262_results
|
|
name: Format test262 results
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
let pass = 0;
|
|
let fail = 0;
|
|
const toPercent = (a, b) => `${Math.floor((a/b) * 100)}%`;
|
|
const results = JSON.parse(${{ steps.test262.outputs.results }});
|
|
for (const result of results) {
|
|
if (result.pass) {
|
|
pass += result.count;
|
|
} else {
|
|
fail += result.count;
|
|
}
|
|
}
|
|
const total = pass + fail;
|
|
const comment = results
|
|
.filter((result) => result.pass === false)
|
|
.map((result) => `- ${result.message}: ${result.count}`)
|
|
.join('\n');
|
|
const totals = `Pass: ${pass} (${toPercent(pass, total)})\nFail: ${fail} (${toPercent(fail, total)})`
|
|
core.setOutput("totals", totals);
|
|
core.setOutput("comment", comment);
|
|
- name: Create commit comment
|
|
uses: peter-evans/commit-comment@v2
|
|
with:
|
|
body: |
|
|
## Test262 Results
|
|
|
|
### Summary
|
|
```
|
|
${{ steps.format_test262_results.outputs.totals }}
|
|
```
|
|
|
|
### Failure Details
|
|
${{ steps.format_test262_results.outputs.comment }}
|