From 72b9b0976c062c392633da019222ca7157cbc003 Mon Sep 17 00:00:00 2001 From: Alex Laird Date: Mon, 25 May 2026 12:10:32 -0500 Subject: [PATCH 1/2] Remove heliumcli dependency, replace with bin/update-projects.sh - Add bin/update-projects.sh as a bash replacement for `helium-cli update-projects` (clone-if-missing / fetch+pull / make install in each project under projects/) - Update Makefile install target to invoke the new script - Rename HELIUMCLI_PROJECTS Makefile var to PROJECTS; format change from JSON list to space-separated word list - Drop heliumcli==1.6.38 from requirements.txt - Delete .heliumcli.yml (no longer used) Phase 3 of the legacy-shutdown stack. Phase 2 removed the bulk of the heliumcli surface (trigger-release.py, the legacy release workflow, the legacy release script); this PR handles the remaining four touch points so the dep can be removed and HeliumEdu/heliumcli archived. Per HE-320. --- .heliumcli.yml | 20 -------------------- Makefile | 4 ++-- bin/update-projects.sh | 27 +++++++++++++++++++++++++++ requirements.txt | 1 - 4 files changed, 29 insertions(+), 23 deletions(-) delete mode 100644 .heliumcli.yml create mode 100755 bin/update-projects.sh diff --git a/.heliumcli.yml b/.heliumcli.yml deleted file mode 100644 index 03c18055..00000000 --- a/.heliumcli.yml +++ /dev/null @@ -1,20 +0,0 @@ -ansibleCopyrightNameVar: project_developer -ansibleRelativeDir: ansible -branchName: main -copyrightName: Helium Edu -tagRootRelease: false -gitProject: git@github.com:HeliumEdu -hostProvisionCommand: sudo apt-get update && sudo apt-get install -y python && sudo - apt-get -y autoremove -projects: -- platform -- frontend -- www -releaseProjects: [] -projectsRelativeDir: projects -remoteName: origin -serverBinFilename: bin/runserver -updateCopyrightYear: false -versionInfo: - path: conf/configs/common.py - project: platform diff --git a/Makefile b/Makefile index 3af0eed5..09297d16 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SHELL := /usr/bin/env bash PYTHON_BIN := python -HELIUMCLI_PROJECTS ?= '["platform", "frontend"]' +PROJECTS ?= platform frontend www SKIP_UPDATE ?= 'false' DEV_LOCAL_AWS_REGION ?= 'us-east-2' PLATFORM ?= arm64 @@ -15,7 +15,7 @@ install-reqs: install: install-reqs $(PYTHON_BIN) -m pip install -r requirements.txt - @HELIUMCLI_FORCE_FETCH=True HELIUMCLI_SKIP_UPDATE_PULL=True HELIUMCLI_PROJECTS=$(HELIUMCLI_PROJECTS) helium-cli update-projects + @PROJECTS="$(PROJECTS)" ./bin/update-projects.sh build: install PLATFORM=$(PLATFORM) make -C projects/platform build-docker diff --git a/bin/update-projects.sh b/bin/update-projects.sh new file mode 100755 index 00000000..238d060b --- /dev/null +++ b/bin/update-projects.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# +# Clone or update each Helium subproject under projects/, then run +# `make install` in it. Replaces `helium-cli update-projects`. + +set -euo pipefail + +GIT_PROJECT="${GIT_PROJECT:-git@github.com:HeliumEdu}" +PROJECTS="${PROJECTS:-platform frontend www}" +PROJECTS_DIR="projects" + +mkdir -p "$PROJECTS_DIR" + +for proj in $PROJECTS; do + echo "$proj" + project_path="$PROJECTS_DIR/$proj" + + if [ ! -d "$project_path/.git" ]; then + echo "Cloning repo to ./$project_path" + git clone "$GIT_PROJECT/$proj.git" "$project_path" + else + (cd "$project_path" && git fetch --tags --prune --force && git pull) + fi + + make install -C "$project_path" + echo "" +done diff --git a/requirements.txt b/requirements.txt index d4467539..ed052b37 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ -heliumcli==1.6.38 beautifulsoup4==4.13.4 html2text==2024.2.26 \ No newline at end of file From b15ff74f996e78a3adf869116f07cf9e383aa1fb Mon Sep 17 00:00:00 2001 From: Alex Laird Date: Mon, 25 May 2026 12:13:06 -0500 Subject: [PATCH 2/2] Update update-projects.sh --- bin/update-projects.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/update-projects.sh b/bin/update-projects.sh index 238d060b..ed10b68f 100755 --- a/bin/update-projects.sh +++ b/bin/update-projects.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # # Clone or update each Helium subproject under projects/, then run -# `make install` in it. Replaces `helium-cli update-projects`. +# `make install` in it. set -euo pipefail