Files
ecoarkpywhl/Makefile
root 553b83953c
Some checks failed
EcoArk Wheel Pipeline CI / build (push) Failing after 1m41s
feat: add manifest-driven batch rebuild, numpy cross-compilation, and CI pipeline updates
- Add pipeline/manifest.py for packages.txt parsing
- Implement real numpy cross-compilation (rebuild.py) with OHOS NDK + vendored meson
- Extend CLI with --manifest, --build-from-source, --stage-integration modes
- Add recipes/, experiments/, and scripts/ for integration staging and artifact upload
- Update CI workflow with manifest validation, artifact upload, and release publishing
- Update Makefile and README with new targets and documentation
2026-05-13 14:16:24 +08:00

55 lines
2.1 KiB
Makefile

SHELL := /bin/bash
INPUT ?= examples/sample.whl
OUTPUT ?= output
MANIFEST ?= packages.txt
.PHONY: help repack rebuild native manifest build-numpy stage-integration clean release-upload
help:
@echo "EcoArk HarmonyOS Wheel Pipeline"
@echo ""
@echo "Usage:"
@echo " make repack INPUT=path/to/pkg.whl — Repack a pure-Python wheel for HarmonyOS"
@echo " make rebuild INPUT=path/to/pkg.whl — Trigger native rebuild entry"
@echo " make build-numpy VERSION=1.26.4 — Cross-compile numpy for HarmonyOS"
@echo " make stage-integration — Stage numpy .so files for EcoArk integration"
@echo " make manifest MANIFEST=packages.txt — Manifest-driven batch rebuild"
@echo " make artifacts — Simulate Gitea artifact upload (local save)"
@echo " make release-upload — Upload assets to Gitea Release"
@echo " make clean — Remove output/"
@echo ""
@echo "Examples:"
@echo " make repack INPUT=some_package.whl"
@echo " make build-numpy VERSION=1.26.4"
repack:
python3 wheel_pipeline.py "$(INPUT)" --output-dir "$(OUTPUT)" --force-repack
rebuild:
python3 wheel_pipeline.py "$(INPUT)" --output-dir "$(OUTPUT)" --target-os harmonyos --arch arm64
native:
python3 wheel_pipeline.py "$(INPUT)" --output-dir "$(OUTPUT)" --target-os harmonyos --arch arm64
build-numpy:
python3 wheel_pipeline.py --build-from-source numpy --package-version "$(VERSION)" --output-dir "$(OUTPUT)" --rebuild
manifest:
python3 wheel_pipeline.py --manifest "$(MANIFEST)" --output-dir "$(OUTPUT)" --target-os harmonyos --arch arm64
stage-integration:
python3 wheel_pipeline.py --stage-integration --output-dir "$(OUTPUT)"
clean:
rm -rf "$(OUTPUT)"
mkdir -p "$(OUTPUT)"
touch "$(OUTPUT)/.gitkeep"
release-upload:
python3 scripts/upload_release_assets.py "$(OUTPUT)"
artifacts:
python3 scripts/upload_artifacts.py ecoark-harmonyos-wheels "$(OUTPUT)/*.zip"
python3 scripts/upload_artifacts.py ecoark-wheels-individual "$(OUTPUT)/*.whl" "$(OUTPUT)/wheels/*.whl"