diff --git a/.github/workflows/BuildActionToNetlify.yml b/.github/workflows/BuildActionToNetlify.yml index 13ed6f4..c259fc4 100644 --- a/.github/workflows/BuildActionToNetlify.yml +++ b/.github/workflows/BuildActionToNetlify.yml @@ -43,18 +43,34 @@ jobs: 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 - cat cli.txt + # 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 "
Netlify Build Log" + echo "```" + echo "$LOG" + echo "```" + echo "
" + echo "$URLS" + echo "::endgroup::" env: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} diff --git a/.github/workflows/BuildActionToNetlify_PR.yml b/.github/workflows/BuildActionToNetlify_PR.yml index 9ecd291..321ba78 100644 --- a/.github/workflows/BuildActionToNetlify_PR.yml +++ b/.github/workflows/BuildActionToNetlify_PR.yml @@ -41,27 +41,45 @@ jobs: 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 + run: | + echo "::group::Install Netlify CLI" + npm install -g netlify-cli + echo "::endgroup::" + - name: Deploy to netlify - run: netlify deploy --build > cli.txt + 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: Cat cli.txt - run: | - cat cli.txt - sed -i -z 's/\n/\\n/g' cli.txt + - name: Post Netlify CLI Comment run: | - for i in {1..3}; do - curl -X POST \ + 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="
Netlify Build Log$LOG
$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 "{\"body\": \"$(cat cli.txt | sed 's/"/\\"/g' | tr '\n' '\\n')\"}" \ - ${URL} && break || echo "Retrying... ($i)" - done + -d "$JSON_BODY" \ + "${URL}" && break || echo "Retrying... ($i)" + done + echo "::endgroup::" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} URL: ${{ github.event.pull_request.comments_url }}