Skip to content

Fix/#91 各notion blockへの細かい対応 #96

Fix/#91 各notion blockへの細かい対応

Fix/#91 各notion blockへの細かい対応 #96

# GitHub Actions 上での名前
name: BuildActionToNetlify_PR
# 起動条件
on:
workflow_dispatch: # GithubActions上で実行ボタンを表示
pull_request:
# branches:
# - main # すべてのブランチで走らせるためコメントアウト
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
cache: 'npm'
- name: Install dependencies and build
env:
NEXT_PUBLIC_BASE_URL : ${{ secrets.NEXT_PUBLIC_BASE_URL }}
NEXTAUTH_SECRET : ${{ secrets.NEXTAUTH_SECRET }}
NEXTAUTH_URL : ${{ secrets.NEXTAUTH_URL }}
NOTION_TOKEN : ${{ secrets.NOTION_TOKEN }}
NOTION_DATABASE : ${{ secrets.NOTION_DATABASE }}
NOTION_PROFILE_PAGE_ID : ${{ secrets.NOTION_PROFILE_PAGE_ID }}
NOTION_PREVIEW_PAGE_ID : ${{ secrets.NOTION_PREVIEW_PAGE_ID }}
NEXT_PUBLIC_ALGOLIA_APPLICATION_ID : ${{ secrets.NEXT_PUBLIC_ALGOLIA_APPLICATION_ID }}
NEXT_PUBLIC_ALGOLIA_SEARCH_ONLY_API_KEY: ${{ secrets.NEXT_PUBLIC_ALGOLIA_SEARCH_ONLY_API_KEY }}
ALGOLIA_APPLICATION_ID : ${{ secrets.ALGOLIA_APPLICATION_ID }}
ALGOLIA_ADMIN_API_KEY : ${{ secrets.ALGOLIA_ADMIN_API_KEY }}
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID : ${{ secrets.NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID }}
GOOGLE_CLIENT_ID : ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET : ${{ secrets.GOOGLE_CLIENT_SECRET }}
NEXT_PUBLIC_GTM_ID : ${{ secrets.NEXT_PUBLIC_GTM_ID }}
run: |
echo "::group::Install dependencies"
npm ci
echo "::endgroup::"
echo "::group::Build project"
npm run build
echo "::endgroup::"
- name: Install Netlify CLI
run: |
echo "::group::Install Netlify CLI"
npm install -g netlify-cli
echo "::endgroup::"
- name: Deploy to netlify
run: |
echo "::group::Deploy to Netlify"
netlify deploy --build > cli.txt
echo "::endgroup::"
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
- name: Post Netlify CLI Comment
run: |
echo "::group::Post Netlify CLI Comment"
# Extract URLs from cli.txt
URLS=$(sed -n '/Build logs:/,$p' cli.txt)
# Extract the rest of the log
LOG=$(sed '/Build logs:/Q' cli.txt)
COMMENT_BODY="<details><summary>Netlify Build Log</summary>$LOG</details>$URLS"
JSON_BODY=$(jq -n --arg body "$COMMENT_BODY" '{"body": $body}')
for i in {1..3}; do
curl -X POST \
-H "Authorization: token ${GITHUB_TOKEN}" \
-d "$JSON_BODY" \
"${URL}" && break || echo "Retrying... ($i)"
done
echo "::endgroup::"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
URL: ${{ github.event.pull_request.comments_url }}