11name : Documentation Build and Deploy CI
22
33on :
4- # Wait for Compilation Tests workflow to complete (uses macOS binaries)
5- workflow_run :
6- workflows : ["Compilation Tests"]
7- types :
8- - completed
9- branches :
10- - master
11- - release/v2.x
12- - wokwi-embed-launchpad
4+ # # Wait for Compilation Tests workflow to complete (uses macOS binaries)
5+ # workflow_run:
6+ # workflows: ["Compilation Tests"]
7+ # types:
8+ # - completed
9+ # branches:
10+ # - master
11+ # - release/v2.x
12+ # - wokwi-embed-launchpad
1313 # Manual trigger for testing docs changes without waiting for compilation
1414 workflow_dispatch :
1515 # Also run on direct pushes to docs or workflow files (for testing)
5151 id : cache-restore
5252 uses : actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
5353 with :
54- key : docs-binaries-macos-${{ github.event.workflow_run.head_sha || github.sha }}
54+ key : docs-binaries-macos-
5555 restore-keys : |
5656 docs-binaries-macos-
5757 path : docs_binaries
@@ -97,37 +97,37 @@ jobs:
9797 run : |
9898 echo "Copying cached binaries to docs/_static/binaries/"
9999 mkdir -p docs/_static/binaries
100-
100+
101101 if [ ! -d "docs_binaries" ]; then
102102 echo "ERROR: No docs_binaries directory found!"
103103 echo "Cannot proceed without binaries. Exiting."
104104 exit 1
105105 fi
106-
106+
107107 # Find all .bin files in docs_binaries
108108 echo "Processing binary files from macOS builds..."
109109 bin_count=0
110110 skip_count=0
111-
111+
112112 # Binaries are stored in structure like:
113113 # docs_binaries/{target}/{SketchName}/build.tmp/{SketchName}.ino.bin
114114 # We need to:
115115 # 1. Extract sketch name and target from path
116116 # 2. Find the sketch in libraries/ directory
117117 # 3. Copy to docs/_static/binaries/libraries/{LibraryName}/examples/{SketchName}/{target}/
118-
118+
119119 find docs_binaries -type f -name "*.bin" | while read -r bin_file; do
120120 echo "Processing: $bin_file"
121-
121+
122122 # Extract the binary filename (e.g., WiFiClientSecure.ino.bin)
123123 bin_name=$(basename "$bin_file")
124-
124+
125125 # Extract sketch name (remove .ino.bin or .bin extension)
126126 sketch_name="${bin_name%.ino.bin}"
127127 if [ "$sketch_name" == "$bin_name" ]; then
128128 sketch_name="${bin_name%.bin}"
129129 fi
130-
130+
131131 # Extract target from path (esp32, esp32s2, esp32s3, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5)
132132 if [[ "$bin_file" =~ /(esp32[a-z0-9]*)/ ]]; then
133133 target="${BASH_REMATCH[1]}"
@@ -136,36 +136,36 @@ jobs:
136136 skip_count=$((skip_count + 1))
137137 continue
138138 fi
139-
139+
140140 # Search for the sketch in libraries directory
141141 sketch_ino_file=$(find libraries -type f -name "${sketch_name}.ino" 2>/dev/null | head -1)
142-
142+
143143 if [ -z "$sketch_ino_file" ]; then
144144 echo " ⚠ Could not find sketch '${sketch_name}.ino' in libraries/"
145145 skip_count=$((skip_count + 1))
146146 continue
147147 fi
148-
148+
149149 # Extract the relative path from libraries/
150150 # e.g., libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino
151151 # becomes: NetworkClientSecure/examples/WiFiClientSecure
152152 sketch_dir=$(dirname "$sketch_ino_file")
153153 relative_path="${sketch_dir#libraries/}"
154-
154+
155155 echo " ✓ Found sketch at: $sketch_ino_file"
156156 echo " ✓ Target: $target"
157157 echo " ✓ Relative path: $relative_path"
158-
158+
159159 # Create output directory
160160 output_dir="docs/_static/binaries/libraries/${relative_path}/${target}"
161161 mkdir -p "$output_dir"
162-
162+
163163 # Copy the binary
164164 cp "$bin_file" "$output_dir/"
165165 echo " → Copied to: $output_dir/$bin_name"
166166 bin_count=$((bin_count + 1))
167167 done
168-
168+
169169 echo ""
170170 echo "=========================================="
171171 echo "Binary copy completed!"
0 commit comments