From 3bd780e7d8de58cbf5df299acbdfecec14f69f58 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 17:58:09 +0000 Subject: [PATCH 1/5] Initial plan From 0ddc28d808fa3e56ccbc4babafa29f15e93be44a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 18:17:32 +0000 Subject: [PATCH 2/5] Split embedded eic-shell heredocs into templates, use envsubst, add CI publish workflow Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com> --- .github/workflows/publish.yml | 49 +++++++ __pycache__/assemble.cpython-312.pyc | Bin 0 -> 2288 bytes assemble.py | 70 +++++++++ eic-shell.docker | 75 ++++++++++ eic-shell.singularity | 107 ++++++++++++++ install.sh | 206 ++------------------------- 6 files changed, 314 insertions(+), 193 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 __pycache__/assemble.cpython-312.pyc create mode 100755 assemble.py create mode 100644 eic-shell.docker create mode 100644 eic-shell.singularity diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e2f0e01 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,49 @@ +name: Deploy GitHub Pages + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Assemble standalone install.sh + run: python3 assemble.py . > install.sh.assembled && mv install.sh.assembled install.sh + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/__pycache__/assemble.cpython-312.pyc b/__pycache__/assemble.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50983c87129899f7a188b675231fb41b9f7986a7 GIT binary patch literal 2288 zcmah~UuYCZ7@ytS-MiZ)#*HyeyjZ7EaygABSg}&lsKi2zpkiXN@pQYno#ghiw|CC& zMRQyr1;O*pKuc1jG*C(-J~S@{OCOr|zIa|su3HM0LczBy@uB3Y-`w5aMXPjR=bM@D zH{X2!_ouct8NvAD>+g(j0to%dHr^2Hi_O1av4nIqfpkviO>Tm#QhtI5>N9;QVM5@L zE)YQ%i8v+b(rsZvB7WUJGk_2s=Mf1IKH1?3ZqkQbZLJ4p&H!>ZAca>W^*|3mJ-p>- zNImH7CuF$Q)s*Y4lI+q;18z!0_HKHVLv#EbACWZ^R61?jBsFOgtYO>HEL}6x7Qu!E z8`F&12|Pv9DeNQ&w$oV}e}M&X?2uH()Et7R43pSVSsqUqHn!u`$T*l1;KhlJi8X6y zCv6AEL8=YnG{)5Qnsjo@A=J{$mxSS)hLe!VjjS=NnZ$BHE7Jhw5`+>x9X~v&*+j2N z9K;!#*0XWLnr4O&bLwzBZ8;ji^=-z;cGhq-X6;m(V%@MEYD{JwBW>XU5}l3?;#ot( z@hmlQ9)tKq1Pr=tYt!Ui8N9((^)4fKV#uJAK_f#qUI!Ax#m$-H>fL7;$*26uO~@0jw~sC@NIqy z(;Z05yO5N*7KD=9QB^3UOP$Vh4!ctwNx@q+sm|-ZJom7Undb^)PSIo|UG(JWVh+yd#k?=+ z-v+2JJvqtXe|fs3`ycYP^H=f%P5!);=k6mtnCD@Z^8(B*c?ss$ym%k6)fX}Zr|rBe z8I}%(;|6CnYOuVw-GEoHt^_#=xk{O)TijunQ@6NiPHvQHI46YhFwTj1Xb6XMd{~Z% zt~gE8*^C=x#j83{xRAN5iZZU4&1495{q>rU1Y9wtIq?K#)>0ODx6ON7wX_tWt?X=P zjP9DM4cVi@?$tQb|@0@Q3c*~c}iR#baL3U@VH*}t9F9!fdiYB z&&L>3_A_z=UPS0V*s{8}ufW8--_g6AFLoT-P>vUs?#L(%YoK% zpkvc7bV$I!iYPztuX8Ir7aZZ92Hs$RpvVA~9jLYIv9Ozls*kE_3i`gPK4V>yw!;)@ zbN#9czYJBSy$s{C=WN%XfhKGkla%QUM-Hv3=?2tldaA1HgTIa|XmonEX023f$UX7({MsK`-T&>tgMqJ7Yuc0kcNRPE#g`I`iRBxMGe0YR-;b~F|KX#B i(X!ybGy2KshR|6QIv1}jCri5{zX%5_A` str: + install_sh = (source_dir / 'install.sh').read_text() + + # Remove the SCRIPT_DIR assignment line (not needed in assembled version) + install_sh = re.sub( + r'\nSCRIPT_DIR=.*\n', + '\n', + install_sh, + ) + + # Replace each envsubst call that reads from a $SCRIPT_DIR template file + # with an inline heredoc-based equivalent. + # + # Source pattern (single line): + # envsubst 'VARS' < "$SCRIPT_DIR/TEMPLATE_FILE" > OUTPUT + # + # Assembled replacement: + # envsubst 'VARS' > OUTPUT << 'HEREDOC_MARKER' + #