Some checks failed
ci / build (push) Failing after 9s
첫 CI 가 checkout 직후 멈췄다. exit status 126 ./build/ci/verify-node.sh: 허가 거부 Node 문제가 아니었다. Windows 에서 만든 파일이라 git 에 mode 100644 로 들어갔고, 리눅스 러너에서 실행 비트가 없어 126 으로 죽었다. git update-index --chmod=+x 로 세 스크립트에 실행 비트를 줬다 워크플로도 `./script` 대신 `bash script` 로 부르게 했다 — 실행 비트가 다시 빠져도 안 죽는 이중 안전장치다 이번 판단 착오도 기록해둔다. 러너 Node 가 18 인 것을 먼저 보고 그게 원인일 거라 짚었는데, 실제 로그는 그 앞 단계에서 끊겨 있었다. 추정하지 말고 로그를 봤어야 했다.
59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
# designpaca CI — 자체 러너(linux-builder, host 모드)에서 돈다.
|
|
# host 러너에는 Node 가 없을 수 있으므로 uses: 액션을 쓰지 않고 전부 run: 으로 처리한다.
|
|
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: linux-builder
|
|
steps:
|
|
- name: checkout
|
|
env: { CI_TOKEN: "${{ github.token }}" }
|
|
run: |
|
|
proto="${GITHUB_SERVER_URL%%://*}"; host="${GITHUB_SERVER_URL#*://}"
|
|
url="$proto://actions:${CI_TOKEN}@${host%/}/${GITHUB_REPOSITORY}.git"
|
|
[ -d .git ] || git init -q .
|
|
git remote remove origin 2>/dev/null || true
|
|
git remote add origin "$url"
|
|
git fetch -q --depth 1 origin "$GITHUB_REF"
|
|
git checkout -q -f FETCH_HEAD
|
|
git clean -qfdx
|
|
|
|
- name: 환경 확인
|
|
run: bash build/ci/verify-node.sh
|
|
|
|
- name: 의존성 설치
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: 스킬 문서 검사
|
|
run: node build/ci/lint-skill.mjs packages/skill
|
|
|
|
- name: 타입 검사
|
|
run: pnpm typecheck
|
|
|
|
- name: 테스트
|
|
run: pnpm test
|
|
|
|
- name: 빌드
|
|
run: pnpm build
|
|
|
|
- name: 배포물 점검 (npx 경로 검증)
|
|
run: |
|
|
node packages/cli/scripts/verify-package.mjs
|
|
# 실제 사용자가 겪는 경로 그대로 확인한다 — tarball 을 만들어 설치까지 해본다
|
|
cd packages/cli
|
|
tarball="$(npm pack --silent)"
|
|
tmp="$(mktemp -d)"
|
|
tar -xzf "$tarball" -C "$tmp"
|
|
test -f "$tmp/package/dist/skill/SKILL.md" || { echo "tarball 에 스킬이 없다" >&2; exit 1; }
|
|
node "$tmp/package/dist/index.js" --version
|
|
node "$tmp/package/dist/index.js" list
|
|
rm -rf "$tmp" "$tarball"
|
|
|
|
- name: 사이트 빌드
|
|
run: pnpm build:site
|