Skip to content

Commit 5bb3007

Browse files
committed
[CI] Update output directory handling in build scripts and documentation
1 parent f9676e8 commit 5bb3007

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

.github/workflows/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,16 +282,16 @@ clang-format-version: '9'
282282
- `--version <tag>`: Version to inject (SHA for dev, tag for prod)
283283
- `--mode <dev|prod>`: Build mode (enables/disables OTA)
284284
- `--deploy-ready`: Prepare artifacts for deployment
285-
- `--output <dir>`: Output directory for artifacts
285+
- `--output <dir>`: Output directory for artifacts (default: `generated/artifacts/`)
286286

287287
**Command Flow**:
288288
```bash
289-
./scripts/ci.sh build esp32dev-ble --version v1.8.0 --mode prod --deploy-ready --output artifacts
289+
./scripts/ci.sh build esp32dev-ble --version v1.8.0 --mode prod --deploy-ready
290290
291291
├─→ ci_build.sh (orchestrator)
292292
│ ├─→ ci_set_version.sh v1.8.0 [--dev]
293293
│ ├─→ ci_build_firmware.sh esp32dev-ble [--dev-ota]
294-
│ └─→ ci_prepare_artifacts.sh esp32dev-ble [--deploy] --output artifacts
294+
│ └─→ ci_prepare_artifacts.sh esp32dev-ble [--deploy] → outputs to generated/artifacts/
295295
```
296296

297297
**Technical Details**:
@@ -527,10 +527,12 @@ end
527527
- `stale.yml` → standalone (no dependencies)
528528

529529
**Task → CI Script Mapping**:
530-
- `task-build.yml` → `ci.sh build <env> --version --mode --deploy-ready --output`
530+
- `task-build.yml` → `ci.sh build <env> --version --mode --deploy-ready`
531531
- Routes to: `ci_build.sh` → `ci_set_version.sh`, `ci_build_firmware.sh`, `ci_prepare_artifacts.sh`
532+
- Output: `generated/artifacts/` (default, can be overridden with `--output`)
532533
- `task-docs.yml` → `ci.sh site --mode --version-source --url-prefix --webuploader-args`
533534
- Routes to: `ci_site.sh` → `generate_board_docs.py`, `gen_wu.py`, VuePress
535+
- Output: `generated/site/`
534536
- `task-lint.yml` → `ci.sh qa --check --source --extensions --clang-format-version`
535537
- Routes to: `ci_qa.sh` → `clang-format`
536538

.github/workflows/task-build.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,12 @@ jobs:
9393
BUILD_ARGS="$BUILD_ARGS --deploy-ready"
9494
fi
9595
96-
# Add output directory
97-
BUILD_ARGS="$BUILD_ARGS --output artifacts"
98-
99-
# Execute build
96+
# Execute build (uses default generated/artifacts/ directory)
10097
./scripts/ci.sh build $BUILD_ARGS
10198
10299
- name: Upload firmware artifacts
103100
uses: actions/upload-artifact@v4
104101
with:
105102
name: ${{ inputs.artifact-name-prefix }}${{ matrix.environments }}
106-
path: artifacts/
103+
path: generated/artifacts/
107104
retention-days: ${{ inputs.artifact-retention-days }}

scripts/ci_build.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ Options:
178178
--mode MODE Build mode: 'prod' or 'dev' [default: prod]
179179
'dev' enables OTA and development version
180180
--deploy-ready Prepare for deployment (renamed artifacts)
181+
--output DIR Output directory for artifacts [default: generated/artifacts/]
181182
--skip-verification Skip build tools verification
182183
--clean Clean build before starting
183184
--verbose Enable verbose output
@@ -212,6 +213,7 @@ main() {
212213
local set_version=false
213214
local mode=""
214215
local deploy=false
216+
local output_dir=""
215217
local skip_verification=false
216218
local clean=false
217219
local verbose=false
@@ -247,6 +249,15 @@ main() {
247249
deploy=true
248250
shift
249251
;;
252+
--output)
253+
if [[ $# -lt 2 ]]; then
254+
log_error "--output requires a directory argument"
255+
usage
256+
exit 1
257+
fi
258+
output_dir="$2"
259+
shift 2
260+
;;
250261
--skip-verification)
251262
skip_verification=true
252263
shift
@@ -268,7 +279,6 @@ main() {
268279
exit 0
269280
;;
270281
-*)
271-
log_error "Unknown option: $1"
272282
log_error "Unknown option: $1"
273283
usage
274284
exit 1
@@ -357,6 +367,7 @@ main() {
357367
local artifact_opts=()
358368
[[ "$deploy" == "true" ]] && artifact_opts+=(--deploy) || artifact_opts+=(--standard)
359369
artifact_opts+=(--manifest)
370+
[[ -n "$output_dir" ]] && artifact_opts+=(--output "$output_dir")
360371

361372
"${SCRIPT_DIR}/ci_prepare_artifacts.sh" "$environment" "${artifact_opts[@]}" || exit 1
362373
echo ""

0 commit comments

Comments
 (0)