#!/bin/bash current_commit=$(git rev-parse HEAD) echo "Running on commit $COMMIT_SHA" function get_status() { echo "::group::API Response" curl --header "Authorization: Bearer $GITHUB_TOKEN" "https://api.github.com/repos/actualbudget/actual/commits/$COMMIT_SHA/statuses" > /tmp/status.json cat /tmp/status.json echo "::endgroup::" netlify=$(yarn jq '[.[] | select(.context == "netlify/actualbudget/deploy-preview")][0]' /tmp/status.json) state=$(yarn jq -r '.state' <<< "$netlify") echo "::group::Netlify Status" echo "$netlify" echo "::endgroup::" } get_status while [ "$netlify" == "null" ]; do echo "Waiting for Netlify to start building..." sleep 10 get_status done while [ "$state" == "pending" ]; do echo "Waiting for Netlify to finish building..." sleep 10 get_status done if [ "$state" == "success" ]; then echo -e "\033[0;32mNetlify build succeeded!\033[0m" yarn jq -r '"url=" + .target_url' <<< "$netlify" > $GITHUB_OUTPUT exit 0 else echo -e "\033[0;31mNetlify build failed. Cancelling end-to-end tests.\033[0m" exit 1 fi