コンテンツにスキップ

CIで検証する

このページは、Timeline DSL 利用者が自分のリポジトリで .tdsl ファイルを継続的に検証するための例です。Timeline DSL 本体やこのドキュメントサイトをデプロイする手順ではありません。

uses: keroway/timeline-dsl@v1 でインストールなしに .tdsl を SVG または HTML へレンダリングできます。Linux / macOS / Windows の全 runner に対応しています。

name: Render Timeline
on:
push:
paths: ["**/*.tdsl"]
jobs:
render:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: keroway/timeline-dsl@v1
with:
file: examples/china_dynasties.tdsl
format: svg
output: output/china.svg
- uses: actions/upload-artifact@v4
with:
name: timeline-svg
path: output/
インプット必須デフォルト説明
fileレンダリングする .tdsl ファイルのパス
formatsvg出力フォーマット: svg または html
output<basename>.<format>出力ファイルパス
offlinefalseオフラインモード(Wikidata フェッチをスキップ)
interactivefalseインタラクティブ HTML 出力(format: html 時のみ)
theme(CLI デフォルト)テーマ: default / dark / print / pastel
scale(CLI デフォルト)水平軸のピクセル/年レート
versionlatest使用する tdsl バージョン(例: v1.6.0
アウトプット説明
output_path生成された出力ファイルの絶対パス

PR で変更された .tdsl を SVG プレビューとしてアーティファクト化する例

Section titled “PR で変更された .tdsl を SVG プレビューとしてアーティファクト化する例”
name: TDSL Preview
on:
pull_request:
paths: ["**/*.tdsl"]
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: keroway/timeline-dsl@v1
with:
file: examples/china_dynasties.tdsl
format: svg
offline: "true"
- uses: actions/upload-artifact@v4
with:
name: tdsl-preview
path: "*.svg"

tdsl CLI を直接インストールして使う

Section titled “tdsl CLI を直接インストールして使う”

tdsl を複数のコマンドで使い回す場合は、インストールスクリプトで直接取得します。

GitHub Actionsでは、.tdsl ファイルに対して tdsl checktdsl lint、必要に応じて tdsl build を実行します。Wikidataを使うファイルを安定して検証したい場合は、build--offline を付けて静的項目だけを処理できます。

Ubuntu runner ではインストールスクリプトで tdsl を取得し、~/.local/binPATH に追加します。

name: Timeline DSL
on:
pull_request:
push:
branches: [main]
jobs:
tdsl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install tdsl
run: |
curl -sSfL https://raw.githubusercontent.com/keroway/timeline-dsl/main/install.sh | sh
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Check timeline
run: tdsl check examples/china_dynasties.tdsl
- name: Lint timeline
run: tdsl lint examples/china_dynasties.tdsl --format json
- name: Build JSON
run: tdsl build examples/china_dynasties.tdsl --pretty --output timeline.json

macOS runner では Homebrew で導入できます。

jobs:
tdsl:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install tdsl
run: |
brew tap keroway/tap
brew install tdsl

ネットワーク取得を含めて検証する場合は通常の build または render を使います。CIの再現性を優先する場合は --offline を指定します。

Terminal window
tdsl build examples/china_with_import.tdsl --pretty
tdsl build examples/china_with_import.tdsl --offline --pretty

searchinspectresolvescaffold wikidata はWikidataまたはWikipediaへのネットワーク接続が必要です。