Skip to content

Conversation

@ry-itto
Copy link
Owner

@ry-itto ry-itto commented Aug 18, 2025

概要

dotfilesのCI/CDテスト環境を構築し、設定の妥当性と動作を自動検証できるようにしました。

変更内容

🧪 Batsテストフレームワークの導入

  • tests/ ディレクトリを作成
  • 共通のテストヘルパー関数(test_helper.bash
  • 3つのテストスイート:
    • symlinks.bats: シンボリックリンクの作成・除外設定のテスト
    • installers.bats: インストーラースクリプトの存在・構文チェック
    • configuration.bats: 設定ファイルの妥当性検証

🔧 Makefileの更新

  • make test コマンドでローカルテスト実行が可能に
  • Batsがインストールされていない場合の案内メッセージ

🚀 GitHub Actionsワークフローの改善

3段階のジョブ構成

  1. Lint: shellcheckによる静的解析(Ubuntu上で高速実行)
  2. Test: macOS最新版と13でのマトリックステスト
  3. Integration: 統合テスト(lint/test成功後に実行)

テスト項目

  • ✅ シェルスクリプトの構文チェック
  • ✅ Batsによるユニットテスト
  • make installのドライラン
  • ✅ 冪等性の確認
  • ✅ 重要ファイルの存在確認

テスト方法

# ローカルでのテスト実行
brew install bats-core
make test

チェックリスト

  • テストが全てパスすることを確認
  • CI/CDパイプラインが正常に動作
  • ドキュメントの更新

🤖 Generated with Claude Code

ry-itto and others added 2 commits August 18, 2025 18:03
- Batsテストフレームワークを導入
- 3つのテストスイートを作成:
  - symlinks.bats: シンボリックリンクのテスト
  - installers.bats: インストーラースクリプトのテスト
  - configuration.bats: 設定ファイルのテスト
- Makefileにtestターゲットを追加
- GitHub Actionsワークフローを改善:
  - Lintステージ(shellcheck)
  - マトリックステスト(macOS latest/13)
  - 統合テスト
- 設定の妥当性と冪等性を自動検証

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- brew.shのHomebrewチェックテストを修正
- .claudeディレクトリが除外されないことを確認するテストを修正
- GitHub Actionsをマトリックス戦略に変更:
  - 各テストスイートを独立して実行
  - continue-on-errorで失敗しても後続が実行される
  - quick-checksジョブを追加して基本的なチェックを分離
@ry-itto ry-itto merged commit 7f7313d into main Aug 19, 2025
7 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.

2 participants