Mercurial
annotate mrjunejune/generate_resume_pdf.sh @ 250:745fd127b2a1
[seobeo] Add bounded worker interface
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 04 Aug 2026 06:23:37 -0700 |
| parents | 1de6f553cbc0 |
| children |
| 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" |