スキル一覧に戻る
tettuan

ci-troubleshooting

by tettuan

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


CI Troubleshooting

CI Pipeline Stages

deno task ci runs these stages in order:

  1. deps - Cache dependencies (deno.lock)
  2. check - Type checking
  3. jsr-check - JSR publish dry-run
  4. test - Run tests
  5. lint - Deno lint
  6. fmt - Format check

Network / Sandbox Issues

JSR Connection Failed

error: JSR package manifest for '@std/path' failed to load.
Import 'https://jsr.io/@std/path/meta.json' failed.

Solution: See /git-gh-sandbox skill for sandbox bypass.

Bash({
  command: "deno task ci",
  dangerouslyDisableSandbox: true,
})

Lint Errors

Common Rules and Fixes

RuleErrorFix
no-consoleconsole.log in non-CLI codeAdd // deno-lint-ignore no-console
prefer-asciiJapanese in commentsChange to English
no-await-in-loopawait in for loopAdd ignore or refactor to Promise.all
eqeqeq!= instead of !==Use strict equality
explicit-function-return-typeMissing return typeAdd : ReturnType
ban-unused-ignoreUnused lint ignoreRemove or adjust ignore list

File-Level Lint Ignore

Add at top of file (after shebang if present):

#!/usr/bin/env -S deno run ...
// deno-lint-ignore-file no-console prefer-ascii

Line-Level Lint Ignore

Add comment before the line:

// deno-lint-ignore no-console
console.log("Debug output");

prefer-ascii (Japanese Text)

Replace Japanese with English in:

  • Code comments
  • Doc references (e.g., #command-schema not #command-スキーマ)
  • Error messages in library code

Exception: Japanese OK in test fixtures or user-facing CLI output.

Test Failures

Flaky Tests (Timing Issues)

Example: ID uniqueness test failing due to timestamp collision

Problem: Parallel execution with small delays

// Bad: 2ms may not be enough for millisecond-precision timestamps
const promises = Array.from({ length: 10 }, (_, i) =>
  new Promise((r) => setTimeout(() => r(generateId()), i * 2))
);

Solution: Sequential execution with adequate delay

// Good: Sequential with 5ms delay
for (let i = 0; i < 10; i++) {
  ids.push(generateId());
  await new Promise((r) => setTimeout(r, 5));
}

Type Errors in Tests

Check for:

  • Missing type assertions (as Type)
  • Incorrect mock implementations
  • Outdated test fixtures after interface changes

Format Errors

Check Without Fixing

deno fmt --check

Fix All

deno fmt

Quick Debugging

Run Single Stage

# Type check only
deno check src/**/*.ts

# Lint only
deno lint

# Single test file
deno test path/to/test.ts

Verbose Test Output

deno test --allow-all 2>&1 | head -100
  • Network sandbox: /git-gh-sandbox
  • CI execution: /local-ci
  • Release flow: /release-procedure

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です