Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/link-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: リンクチェック

# 1,4,7,10月の1日の午前9時(JST)に実行(UTC 0時)
on:
schedule:
- cron: '0 0 1 1,4,7,10 *'
# 手動実行も可能
workflow_dispatch:

jobs:
link-check:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write

steps:
# リポジトリをチェックアウト
- name: Checkout repository
uses: actions/checkout@v4

# リンクチェックを実行
- name: Link Checker
uses: lycheeverse/lychee-action@v1
with:
# public/ディレクトリ内のMarkdownファイルをチェック
args: --verbose --no-progress 'public/**/*.md'
# 壊れたリンクが見つかった場合は失敗とする(Issueで通知)
fail: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# リンクチェック結果をアーティファクトとして保存
- name: Upload link check results
if: always()
uses: actions/upload-artifact@v4
with:
name: link-check-results
path: lychee/out.md
retention-days: 30

# 壊れたリンクが見つかった場合にIssueを作成
- name: Create Issue From File
if: failure()
uses: peter-evans/create-issue-from-file@v5
with:
title: リンクチェックで壊れたリンクが検出されました
content-filepath: ./lychee/out.md
labels: bug
9 changes: 9 additions & 0 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,12 @@
- MD013: 行の長さ制限(Qiita記事では長い行が一般的なため)
- MD033: HTML使用(Qiita記事ではHTMLタグが使用されることがあるため)
- MD041: 最初の行は見出しであるべき(Qiitaの記事にはfrontmatterがあるため)

### リンクチェック

記事内のリンクが正しく機能しているかを自動的にチェックします。

- **自動実行**: 1,4,7,10月の1日の午前9時(JST)に自動実行
- **手動実行**: GitHubリポジトリの Actions タブから「リンクチェック」ワークフローを選択し、「Run workflow」ボタンをクリック
- **通知**: 壊れたリンクが見つかった場合は、自動的にIssueが作成されます(bugラベル付き)
- **ログ保存**: チェック結果はアーティファクトとして30日間保存されます