annotate mrjunejune/generate_resume_pdf.sh @ 239:40fa2363fee1

[mrjunejune] Simplify homepage copy
author MrJuneJune <me@mrjunejune.com>
date Mon, 03 Aug 2026 10:36:12 -0700
parents 1de6f553cbc0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
234
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
1 #!/usr/bin/env bash
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
2 set -euo pipefail
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
3
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
4 if [[ -n "${RUNFILES_DIR:-}" ]]; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
5 source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
6 elif [[ -n "${RUNFILES_MANIFEST_FILE:-}" ]]; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
7 runfiles_library="$(
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
8 grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
9 "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2-
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
10 )"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
11 source "$runfiles_library"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
12 elif [[ -d "$0.runfiles" ]]; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
13 RUNFILES_DIR="$0.runfiles"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
14 export RUNFILES_DIR
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
15 source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
16 elif [[ -f "$0.runfiles_manifest" ]]; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
17 RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
18 export RUNFILES_MANIFEST_FILE
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
19 runfiles_library="$(
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
20 grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
21 "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2-
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
22 )"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
23 source "$runfiles_library"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
24 else
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
25 echo "Bazel runfiles are unavailable." >&2
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
26 exit 1
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
27 fi
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
28
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
29 workspace="${BUILD_WORKSPACE_DIRECTORY:-}"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
30 if [[ -z "$workspace" || ! -d "$workspace/.hg" ]]; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
31 echo "Run this target from the Zenbu workspace." >&2
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
32 exit 1
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
33 fi
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
34
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
35 server="$(rlocation _main/mrjunejune/mrjunejune_server)"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
36 browser="$(rlocation playwright_chromium_linux/chrome)"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
37 runfiles_workspace="$(dirname "$(dirname "$server")")"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
38 output="$workspace/mrjunejune/src/public/resume.pdf"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
39 source_copy="$workspace/mrjunejune/src/resume.pdf"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
40 temporary_pdf="$(mktemp --suffix=.pdf)"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
41 browser_profile="$(mktemp -d)"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
42 server_pid=""
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
43
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
44 cleanup() {
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
45 trap - EXIT INT TERM
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
46 if [[ -n "$server_pid" ]] && kill -0 "$server_pid" 2>/dev/null; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
47 kill "$server_pid" 2>/dev/null || true
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
48 wait "$server_pid" 2>/dev/null || true
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
49 fi
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
50 rm -f "$temporary_pdf"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
51 rm -rf "$browser_profile"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
52 }
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
53 trap cleanup EXIT
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
54 trap 'exit 130' INT TERM
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
55
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
56 (
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
57 cd "$runfiles_workspace"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
58 exec "$server"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
59 ) &
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
60 server_pid=$!
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
61
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
62 for _ in $(seq 1 100); do
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
63 if curl --fail --silent --max-time 1 http://127.0.0.1:6969/resume >/dev/null; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
64 break
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
65 fi
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
66 if ! kill -0 "$server_pid" 2>/dev/null; then
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
67 echo "Personal-site server exited before PDF generation." >&2
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
68 exit 1
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
69 fi
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
70 sleep 0.1
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
71 done
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
72
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
73 curl --fail --silent --max-time 1 http://127.0.0.1:6969/resume >/dev/null
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
74 "$browser" \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
75 --headless \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
76 --no-sandbox \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
77 --disable-gpu \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
78 --no-pdf-header-footer \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
79 --user-data-dir="$browser_profile" \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
80 --print-to-pdf="$temporary_pdf" \
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
81 http://127.0.0.1:6969/resume
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
82
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
83 test -s "$temporary_pdf"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
84 install -m 0644 "$temporary_pdf" "$output"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
85 install -m 0644 "$temporary_pdf" "$source_copy"
1de6f553cbc0 [resume] Add Microsoft Member of Technical Staff role
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
86 echo "Updated $output"