Files
oxc/.github/workflows/release_napi_transform_react.yml
T
Boshen 17a3aad5a7 perf(ci): parallelize independent workflow steps (#27476)
## Summary

- run independent setup, cache, artifact, and release preparation steps in parallel
- keep producer/consumer chains and shared-cache operations sequential
- apply grouping-only changes across CI, maintenance, and release workflows
- pin security-action v1.0.9 and restrict GitHub App tokens to required permissions
- use dedicated `$/.github/...` references for local actions and workflows

## CI timing

Measured from GitHub job timestamps on 2026-10-09. Setup-stage comparisons are used where the test workload differs between runs.

| Path | Sequential | Parallel | Difference |
| --- | ---: | ---: | ---: |
| Autofix job | 75–78 s | 51 s | 24–27 s faster (32–35%) |
| NAPI Compiler setup | 52 s | 36 s | 16 s faster (31%) |
| Codegen setup | 53 s | 38 s | 15 s faster (28%) |
| Lexer setup | 40–42 s | 26–28 s | 14 s faster (33–35%) |

The lexer baseline is the sum of the same run child-step durations; the other rows compare parallel runs with sequential workflow runs.

The [latest CI workflow](https://github.com/oxc-project/oxc/actions/runs/37891107675) completed in 5m24s. Its unchanged WASM job was the critical path at 5m08s, so this run demonstrates lower affected-job latency and runner time, but no material end-to-end workflow reduction.

Timing sources: [parallel autofix](https://github.com/oxc-project/oxc/actions/runs/37891107670), [sequential autofix A](https://github.com/oxc-project/oxc/actions/runs/37891199647), [sequential autofix B](https://github.com/oxc-project/oxc/actions/runs/37891193640), [sequential NAPI Compiler](https://github.com/oxc-project/oxc/actions/runs/37846341918), and [sequential Codegen](https://github.com/oxc-project/oxc/actions/runs/37815684125).

## Validation

- parsed every changed workflow as YAML
- verified all 31 parallel groups contain valid steps
- compared flattened workflows against main to confirm no steps or settings changed
- ran `zizmor .github` with zero findings
- passed the Security Analysis workflow
- ran `git diff --check`

Uses the GitHub Actions parallel steps feature: https://github.blog/changelog/2026-06-25-actions-steps-can-now-be-run-in-parallel/

## AI assistance

AI assistance was used to audit, implement, validate, and measure these workflow changes. The contributor remains responsible for reviewing and understanding the changes before merge.
2026-10-09 06:24:44 +00:00

27 lines
618 B
YAML

name: Release NAPI React Transform
permissions: {}
on:
push:
branches:
- main
paths:
- napi/transform-react/package.json
- .github/workflows/release_napi_transform_react.yml
- .github/workflows/reusable_release_napi.yml
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
release:
if: github.repository == 'oxc-project/oxc'
name: Release NAPI React Transform
uses: $/.github/workflows/reusable_release_napi.yml
with:
name: transform-react
permissions:
id-token: write # for `pnpm publish --provenance`