BuildActionToNetlify #6824
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# GitHub Actions 上での名前 | |
name: BuildActionToNetlify | |
# 起動条件 | |
on: | |
workflow_dispatch: # GithubActions上で実行ボタンを表示 | |
schedule: | |
- cron: '*/30 * * * *' # 30分毎に実行:https://crontab.guru/#*/30_*_*_*_* | |
push: | |
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: npm install -g netlify-cli | |
- name: Deploy to Netlify | |
run: | | |
echo "::group::Deploy to Netlify" | |
for i in {1..3}; do | |
netlify deploy --build --prod > cli.txt && break || sleep 60 | |
done | |
# 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) | |
echo "<details><summary>Netlify Build Log</summary>" | |
echo "```" | |
echo "$LOG" | |
echo "```" | |
echo "</details>" | |
echo "$URLS" | |
echo "::endgroup::" | |
env: | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} |