Skip to content

fix(landing): authenticate the team page GitHub fetch in CI - #673

Merged
owjs3901 merged 1 commit into
mainfrom
fix/landing-team-github-token
Sep 24, 2026
Merged

owjs3901 merged 1 commit into
mainfrom
fix/landing-team-github-token

Conversation

@owjs3901

Copy link
Copy Markdown
Contributor

문제

#672를 머지한 뒤 main의 publish job이 두 번 연속 Run E2E Tests (singleCss)에서 실패했다. 그래서 changepacks 단계까지 가지 못해 배포가 막혔다.

- "team.html",
Landing static export routes › matches the complete committed route manifest

첫 번째 landing 빌드는 68개 라우트를 모두 prerender했다. 반면 singleCss 빌드는 Prerendered 67 routes (1 skipped)로 /team을 건너뛰었다.

원인

  • TeamCard는 빌드 시점에 https://api.github.com/users/owjs3901을 인증 없이 호출하고, 응답이 실패하면 throw한다. 그러면 vinext는 해당 라우트의 prerender를 건너뛴다.
  • 첫 번째 e2e 실행에서 브라우저가 api.github.com을 실제로 호출해, runner IP의 비인증 한도(시간당 60회)를 다 써버린다.
  • 로컬에서 측정해 보니, e2e 한 번(빌드 포함)으로 사용량이 1 → 60이 됐다.
  • 한도가 소진된 상태에서 로컬로 landing을 빌드하면 CI와 똑같이 Prerendered 67 routes (1 skipped), /team이 skip된다. 재현을 확인했다.

수정

  • TeamCard: GITHUB_TOKEN이 있으면 Authorization: Bearer 헤더를 붙인다. 없으면(로컬 빌드) 기존처럼 비인증으로 호출한다.
  • publish.yml: landing 빌드 스텝 4개(Build Landing, Build Landing (singleCss), Build Landing (Next), Build Landing (Next, singleCss))에만 GITHUB_TOKEN을 넘긴다. 인증된 요청은 토큰 자체 한도를 쓰므로 브라우저 호출에 영향받지 않는다.

검증 (로컬, 비인증 한도 0 상태)

  • 토큰 없음: Prerendered 67 routes (1 skipped), /team skip (CI 실패 재현)
  • 토큰 있음: Prerendered 68 routes (0 skipped), dist/client/team.html 생성
  • build:next + 토큰: 69/69 페이지, out/team.html 생성
  • dist/, out/ 전체에서 토큰 문자열 0건. server component에서만 읽고, 빌드 결과물에는 남지 않는다
  • bun run lint 통과, bun run test 5204 pass / 0 fail

The e2e suite's browser requests to api.github.com use up the runner's
60-request unauthenticated quota. The singleCss landing build that runs
after it then gets a rejected /users request, the team page throws
during prerender, vinext skips /team, and the route manifest check fails
the publish job on main.

Send GITHUB_TOKEN when it is set and pass it to the landing build steps.
Authenticated requests use the token's own quota. The token is read by a
server component at build time; it does not appear in dist/ or out/.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
@github-actions

Copy link
Copy Markdown
Contributor

Changepacks

@devup-ui/wasm@1.0.80 → 1.0.81 - bindings/devup-ui-wasm/package.json

Patch

  • Encode style values in debug class names so values with dots, spaces, $, #, % or parentheses no longer produce invalid CSS selectors

@devup-ui/bun-plugin@1.0.19 → 1.0.20 - packages/bun-plugin/package.json

Patch

  • Auto-update: depends on '@devup-ui/wasm' via a local workspace dependency

@devup-ui/components@0.1.57 → 0.1.58 - packages/components/package.json

Patch

  • Auto-update: depends on '@devup-ui/vite-plugin' via a local workspace dependency

@devup-ui/next-plugin@1.0.87 → 1.0.88 - packages/next-plugin/package.json

Patch

  • Auto-update: depends on '@devup-ui/wasm' via a local workspace dependency

@devup-ui/rsbuild-plugin@1.0.64 → 1.0.65 - packages/rsbuild-plugin/package.json

Patch

  • Auto-update: depends on '@devup-ui/wasm' via a local workspace dependency

@devup-ui/vite-plugin@1.0.70 → 1.0.71 - packages/vite-plugin/package.json

Patch

  • Auto-update: depends on '@devup-ui/wasm' via a local workspace dependency

@devup-ui/webpack-plugin@1.0.68 → 1.0.69 - packages/webpack-plugin/package.json

Patch

  • Auto-update: depends on '@devup-ui/wasm' via a local workspace dependency

@codecov

codecov Bot commented Sep 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@owjs3901
owjs3901 merged commit f4c4eb4 into main Sep 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant