Skip to content

Update Sessionize Data #13

Update Sessionize Data

Update Sessionize Data #13

name: Update Sessionize Data
on:
workflow_dispatch:
jobs:
update-data:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: "package.json"
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Fetch session data
run: |
curl -sSL "$SESSIONIZE_SESSION_API" > src/data/sessions.json
env:
SESSIONIZE_SESSION_API: ${{ secrets.SESSIONIZE_SESSION_API }}
- name: Fetch speaker data
run: |
curl -sSL "$SESSIONIZE_SPEAKER_API" > src/data/speakers.json
env:
SESSIONIZE_SPEAKER_API: ${{ secrets.SESSIONIZE_SPEAKER_API }}
- name: Fetch timetable data
run: |
curl -sSL "$SESSIONIZE_TIMETABLE_API" > src/data/timetable.json
env:
SESSIONIZE_TIMETABLE_API: ${{ secrets.SESSIONIZE_TIMETABLE_API }}
- name: Format JSON files
run: |
pnpm exec prettier --write src/data/*.json
- name: Check for changes
id: git_diff
run: |
if [[ -n "$(git status --porcelain src/data/)" ]]; then
echo "changed=true" >> $GITHUB_OUTPUT
else
echo "changed=false" >> $GITHUB_OUTPUT
fi
- name: Set branch name
id: set_branch
run: |
echo "branch=update-session-$(TZ='Asia/Tokyo' date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT
- name: Set current date
id: set_date
run: echo "pr_title_date=$(TZ='Asia/Tokyo' date +'%Y/%m/%d')" >> $GITHUB_OUTPUT
- name: Create Pull Request
if: steps.git_diff.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v7
with:
branch: ${{ steps.set_branch.outputs.branch }}
title: "【${{ steps.set_date.outputs.pr_title_date }}】セッション情報更新"
commit-message: "Update sessionize data"
body: "Sessionize APIから最新データを取得し、sessions/speakers/timetable.jsonを更新しました。"
add-paths: |
src/data/sessions.json
src/data/speakers.json
src/data/timetable.json