diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..2cbf3ad --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,48 @@ +name: Deploy to Pages +on: + push: + branches: ["main"] +permissions: + contents: read + pages: write + id-token: write +concurrency: + group: "pages" + cancel-in-progress: false +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/configure-pages@v5 + - uses: actions/upload-pages-artifact@v3 + with: + path: '.' + - id: deployment + uses: actions/deploy-pages@v4 + - name: Verify public deployment + env: + PAGE_URL: ${{ steps.deployment.outputs.page_url }} + run: | + set -euo pipefail + expected='Chicago-based project manager' + stale='Chicago-based project manager & organizer' + verified=0 + for attempt in $(seq 1 18); do + echo "Deployment verification attempt ${attempt}/18: ${PAGE_URL}" + body=$(curl --fail --silent --show-error --location --max-time 20 \ + --header 'Cache-Control: no-cache' \ + "${PAGE_URL}?deploy_check=${GITHUB_SHA}-${attempt}" || true) + if grep -Fq "$expected" <<<"$body" && ! grep -Fq "$stale" <<<"$body"; then + echo "Deployment verified successfully." + verified=1 + break + fi + if [ "$attempt" -lt 18 ]; then + sleep 10 + fi + done + if [ "$verified" -ne 1 ]; then + echo 'Deployment verification failed: the expected content was not served after 18 attempts.' >&2 + exit 1 + fi diff --git a/README.md b/README.md new file mode 100644 index 0000000..a026ec2 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# brendan.greenlee.website +Personal website for Brendan Greenlee +# smoke test Mon Aug 17 05:22:48 PM UTC 2026 + +## Mirror test Mon Aug 17 05:22:53 PM UTC 2026 +## Hook test commit