Repository navigation
ci: run the latest actions and toolchains, scope permissions per event, and generate the benchmark tables from one result - #744
Merged
Merged
Conversation
…t/react-18-fixture
…t/react-18-fixture
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…rate the benchmark tables from one result Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…s against Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
This was referenced Oct 3, 2026
Resolve .github/workflows/publish.yml by retaining both React 18 and main vinext/RSC CSS acceptance jobs as independent siblings. Keep every main job and step byte-equivalent after YAML parsing, preserve #700 published versions with React peer/dev dependency intent, and regenerate lockfile workspace metadata through bun install. Refs #691, #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Merge #731 head 5644a8a containing main a935315. Resolve .github/workflows/publish.yml by keeping the complete main vinext job and publish validation comment, extending every action SHA/toolchain/cache pin plus timeout30/read-only permissions to vinext. Keep React18 and both CSS modes, original release/deploy needs, #700 published versions and the clean-pkg build script. Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
owjs3901
added a commit
that referenced
this pull request
Oct 6, 2026
Merge #744 head 7a81003 containing main a935315. No new manual conflict files: .github/workflows/publish.yml cleanly inherits the hardened vinext/React18 job union and read-only validation with action SHA pins/timeouts. Preserve the calibrated benchmark manifest/baseline/results, regression rules, SemanticBuilder bench and WASM budgets byte-for-byte, plus all main published versions and acceptance steps. Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Preserve every inherited validation job and the React 18 browser gate. Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Preserve pinned actions, read-only PR validation and strict WASM ABI coverage. Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Contributor
Author
|
이건 약간 맘에 안드는군.. 나는 무조건 최신버전으로 하는 것이 옳다고 생각한다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #683 (INF-03, INF-04, INF-09, INF-18, INF-19, INF-20, INF-22, INF-24, INF-25, NXT-23, NXT-24)
#731(
test/react-18-fixture, react-18 잡 추가) 위에 쌓인 PR입니다. CI가main대상 PR에서만 도므로 base는main이고, diff에 #731의 커밋이 함께 보입니다. 이 PR의 고유 커밋은0ad2ad6d,97ab9765두 개이며 #731이 먼저 병합되어야 합니다.요약
ubuntu-latest, 각 action의 최신 major 태그, Rust stable, Bun·Node.js·wasm-pack·cargo-binstall·cargo-tarpaulin·changepacks 최신). PR 실행은 읽기 전용으로 만들고, 쓰기 권한이 필요한 게시/배포는 main push에서만 도는 별도 잡으로 옮겼습니다.timeout-minutes를 두었습니다.항목별 결과
actions/checkout@v7등)와changepacks/action@main을 씁니다. 최상위 권한은contents: read뿐입니다. 이전에는 한 잡이 PR에서도contents/id-token/pages/pull-requests: write를 가졌는데, 이제:publish(검증, PR과 push 모두): 권한 없음(읽기).deploy-pages:pages: write,id-token: write,needs: [publish], push to main에서만.release(changepacks 게시):contents: write,id-token: write,pull-requests: write,needs: [publish, landing-next-e2e, react-18], push to main에서만.publish로 유지했습니다.ubuntu-latest, Ruststable(+ clippy, rustfmt), Bun·Node.js·wasm-packlatest, cargo-binstall은 공식 설치 스크립트의 최신 릴리스, cargo-tarpaulin과 changepacks CLI도 최신을 씁니다.bun.lock이 Playwright 버전, 곧 브라우저 리비전을 정합니다.stefanzweifel/git-auto-commit-action과 스냅샷 생성 단계를 제거했습니다. 체크인된 linux 기준 스냅샷이 하나도 없으면 실패하고, Playwright는 CI에서updateSnapshots: 'none'이라 누락된 기준 이미지는 쓰지 않고 테스트를 실패시킵니다. 새 시각 테스트는 관리자가bun run test:e2e:update로 만들어 커밋합니다.build가pkg/를 비우고 시작하며,bun run verify:dist가 제거된bindings/devup-ui-wasm/pkg/lite가 남아 있으면 실패합니다.bindings/devup-ui-wasm/README.md를 wasm-pack 템플릿 대신 실제 API, 빌드, 프로세스 전역 상태, 오류 형식 설명으로 교체했습니다.benchmark-results.json(main의 실제 CI 실행36702867475의 결과)에서render-benchmark-readme.js가README.md와README_ko.md의 표와 링크를 함께 만듭니다. 표에 빌드 사이즈와 별도로 CSS 사이즈 열이 있고 측정 대상(.next/dist,.css파일)을 설명합니다.bun render-benchmark-readme.js --check가 검증 잡에서 두 README가 결과 파일과 같은지 확인합니다.benchmark.js는 이제benchmark-run.json(행별 시간/크기/CSS, Turbopack 샘플/중앙값)을 쓰고 benchmark 잡이 아티팩트로 올립니다.packages/plugin-utils/src/__tests__/wasm-abi.test.ts가 빌드된 JS 바인딩을 직접 호출해 내보내는 함수 목록, 추출 결과(Output), 빌드 오류 메시지의 위치/내용, 접두사, 테마 등록과 타입 생성, 상태 저장/복원을 검증합니다(Rust 쪽 tarpaulin은 이 경계의 래퍼를 제외하므로 따로 보고하는 셈입니다).next-plugin의 모듈 캐시 격리(wasm.test.ts)는 Rust 쪽 reset API가 필요해 이번에 하지 않았습니다.main(릴리스 경로)이 그대로 동작하는 이유
changepacks/action+publish: true), 같은 체크아웃(fetch-depth: 0,fetch-tags), 같은 빌드(bun run build), 같은git diff --exit-code검증이release잡에 그대로 있습니다. npm 신뢰 게시는 워크플로 파일 이름(publish.yml)으로 매칭하므로 파일 이름은 바꾸지 않았고, OIDCid-token: write는release잡에만 있습니다.upload-pages-artifact는 검증 잡(읽기 권한으로 충분)에서 push to main일 때만 올리고,deploy-pages잡이 같은 조건에서 배포합니다.fail_ci_if_error: true).changepacks/action(PR 코멘트 쓰기 권한 필요) 대신 최신 CLI(@changepacks/cli@latest)의changepacks check --format json을 읽기 전용으로 실행해 잘못된 changepack 로그를 계속 실패시킵니다. CLI는 비교 대상인 로컬main브랜치가 필요해 그 단계에서git fetch origin main:refs/heads/main을 먼저 실행합니다(97ab9765). 대신 PR에 버전 요약 코멘트는 더 이상 달리지 않습니다.release/deploy-pages를 실행해 볼 수 없습니다(push to main 조건). 로컬에서 YAML을 파싱해 잡, 권한,needs,if, 타임아웃과 모든uses:·툴체인이 최신 버전을 가리키는지 확인했습니다. 병합 후 첫 main 실행에서release와deploy-pages가 도는지 봐야 합니다.새로 생기는 오류
빌드 에러는 없습니다. CI 실패 조건이 늘었습니다: 체크인된 e2e 기준 이미지가 없을 때, 제거된
pkg/lite가 남아 있을 때, README 벤치마크 표가benchmark-results.json과 다를 때.남는 한계
benchmark-run.json아티팩트가 그 입력이 됩니다).jetli/wasm-pack-action은 Node 20 기반 action이라 GitHub 경고가 남습니다(최신 태그 v0.4.0).검증
bun test5487 pass / 0 fail, 커버리지 100%.bun lint오류 0. 로컬에서bun render-benchmark-readme.js --check,bun verify-dist.ts(pkg/lite를 만들어 실패하는 것도 확인).bindings/devup-ui-wasm/package.jsonPatch(빌드 스크립트와 README 변경). 나머지 변경은 패키지가 아닙니다.W40 main 반영 (2026-10-06)
a935315c34b45aeda6dc156e29a5c76df51b76bd까지 병합했습니다 (병합 head:7a81003f259dafd7c55709a310a109641892a0d0).2026-10-08 main 11790bef를 병합하여 업데이트했습니다. 충돌 없이 갱신된 부모 PR의 변경과 main의 변경을 모두 보존했습니다.
2026-10-15 업데이트: main 76b1a15059d3d1b26c8ac20bb622a36cc937a7a4를 포함한 갱신된 #731 a8fcf4f2e7604b4c66ee3b1de5e09b0f9ac0bf54를 두 부모 merge commit으로 병합했습니다; 충돌 파일 없음, publish.yml은 원래 #744와 byte-identical로 7개 job/98개 step·main 검증 작업·SHA 고정·PR 읽기 전용·main 전용 release/deploy 정책을 유지했습니다; packages/plugin-utils/src/tests/wasm-abi.test.ts의 전체 equality ABI 목록에 main #743의 resetBuildState/seedFileMap만 정확히 반영하고 실제 JS/WASM 정렬·중복 제거·reset 동작 테스트 2개를 추가했으며 기존 assertion/스냅샷/production 동작은 변경하지 않았습니다; DEFAULT stack Rust 3232개/fmt/clippy·fresh WASM/root·Bun 5920개/0 fail/100%·ABI 13개·README 표/verify-dist·React18 타입/production build/Chromium·CI-unset 전체 훅 통과(Windows Rust 97.83%, whole-job peak 4.520 GB), 새 snapshot/추가 build error 없음.
2026-10-16 갱신: 갱신 #731
027208b95e7ff18d2b2f3ed7fb9938e88d5f0325를 실제 두 부모 merge commitaaa02b67788de13fcd2bb57ccbf419188f4c355a로 병합했습니다(기존 #7440bbcd7aa+ 갱신 #731027208b9, maina6ecc125포함). 충돌·추가 소스 수정 없이 hardening workflow 전체가 기존 PR과 바이트 동일하고 7개 job/98개 step, SHA pin, PR read-only, main-only 쓰기, timeout을 모두 보존했습니다. strict WASM ABI 전체 export-list/seed/reset 등 13개 검증도 수정하지 않았습니다. 기본 stack/jobs2에서 Rust 4,110개·fmt/clippy, fresh WASM/root·Bun 5,924/0/함수·행 100%/lint, verify:dist·README --check, React18 TS7/production build 및 실제 refs/select/stepper/zero-errors 검사가 통과했습니다. 독립 gate APPROVE 뒤 정상 전체 hook도 통과했고(12GB cap, peak 5.023GB, Windows Rust 97.99% 18,367/18,744은 Linux와 별도), preview/browser는 종료했습니다. 새 build error/runtime/dependency/snapshot 후보는 없으며 현재 head CI38861479079확인 중입니다.현재 head
aaa02b67788de13fcd2bb57ccbf419188f4c355a의 CI 38861479079가 전체 SUCCESS입니다. 5개 validation job이 모두 통과했고 release/deploy-pages는 PR이므로 의도대로 SKIPPED입니다. Linux Rust 100% (13,134/13,134), Bun 5,924 pass / 0 fail 및 함수·행 100%, preload regression 8 pass / 0 fail을 확인했습니다.2026-10-17: main(b4c143b)을 포함한 갱신된 #731을 병합했습니다. 충돌 없이 자동 병합되었습니다(코드 변경 없음). 병합 순서는 그대로 test: build and drive a React 18 app in CI #731 다음입니다.
2026-10-18 리뷰 반영(
6587acee): 버전 고정을 모두 없애고 항상 최신 버전을 쓰도록 바꿨습니다. 러너ubuntu-latest, action은 최신 major 태그(checkout v7, cache v6, setup-bun v2, setup-node v7, upload-artifact v7, upload-pages-artifact v5, deploy-pages v5, codecov v7, wasm-pack-action v0.4.0,changepacks/action@main), Ruststable, Bun·Node.js·wasm-packlatest, cargo-binstall 설치 스크립트, cargo-tarpaulin·changepacks CLI 최신입니다. 캐시 키는 버전 대신 러너 OS와 lock 해시로 만들고, 권한 분리·타임아웃·e2e 기준 이미지 정책 등 나머지는 그대로입니다. 위 요약과 INF-18/19/20 항목, 제목도 이에 맞게 고쳤습니다. 전체 hook(lint, Rust, Bun 5,929 pass) 통과.