Skip to content

Commit de4e5f5

Browse files
authored
Add cygwin build & install script to buildRealease action; remove old Windows docker build / install (#1337)
* Add cygwin-sdl build to buildLoadup workflow; add installer for cygwin-sdl on windows * Change how buildLoadup computes latest maiko release to accomodate draft releases * Fix call to gh release list for maiko * Debugging call to gh release list for maiko * Debugging call to gh release list for maiko #2 * Debugging call to gh release list for maiko #3 * Debugging call to gh release list for maiko #4 * Debugging call to gh release list for maiko #5 * Debugging call to gh release list for maiko #6 * Change maiko downloads to accoiunt for draft releases * Change maiko downloads to account for draft releases #2 * Specify shell (powershell) for Download cygwin installler * Few cleanup items on cygwin-install * Update ShellWhich to use command -v instead of which because which returns to much crap on cygwin and command -v is more portable overall * Switch from using medley-loadup & -runtime tars to medley-full-*.tgz so we get full release incl notecards; delete maiko on install and replace with cygwin maiko * Make sure Notecards doesn't try to load its HASH fileon PostGreet - for apps.sysout * Add xdg-utils to cygwin install to support ShellBrowser * Odds and ends on cygwin build * Redo medley.iss install script to use tar from Windows rather than cygwin tar because cygwin tar was messing up ACLs in windows. Needed to change creation of medley.bat accordingly. * Remove junk lines from buildLoadup.yml * Restore accidently deleted line to buildLoadup.yml * Fix multiple issues with cygwin_installer filename; arrange to remove placeholder.txt from the release assets at the end of cygwin installer * Change name of job from windows_installer to cygwin_installer * Fix missing GH_TOKEN is removal of placeholder.txt; fix naming of output file in medley.iss * Fiddling with getting cygwin-installer name right * Redoing merge of medley.sh/medley.command to handle the Darwin plus Cygwin cases; is medley.iss recreate symbolic links surrounding the medley.sh script * Fix typos/syntrax errors in medley.sh/medley.command
1 parent ebb5c73 commit de4e5f5

20 files changed

+611
-55
lines changed

.github/workflows/buildLoadup.yml

Lines changed: 77 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ jobs:
128128
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
129129
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
130130
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
131+
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
132+
maiko_release_tag: ${{ steps.job_outputs.outputs.MAIKO_RELEASE_TAG }}
131133
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
132134
release_url: ${{ steps.push.outputs.html_url }}
133135

@@ -154,7 +156,7 @@ jobs:
154156
id: tag
155157
uses: ./../actions/release-tag-action
156158

157-
# Get Maiko release information, retrieves the name of the latest
159+
# Get Maiko release information, retrieves the name of the latest (draft)
158160
# release. Used to download the correct Maiko release
159161
# Find latest release (draft or normal)
160162
- name: Get maiko release information
@@ -176,7 +178,6 @@ jobs:
176178
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
177179
env:
178180
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
179-
180181
# Setup environment variables & establish job outputs
181182
- name: Setup Environment Variables
182183
run: |
@@ -198,6 +199,7 @@ jobs:
198199
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
199200
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
200201
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
202+
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
201203
echo "ARTIFACTS_FILENAME_TEMPLATE=${ARTIFACTS_FILENAME_TEMPLATE}" >> ${GITHUB_OUTPUT}
202204
203205
# Setup some needed dirs in workspace
@@ -337,6 +339,17 @@ jobs:
337339
omitNameDuringUpdate: true
338340
omitPrereleaseDuringUpdate: true
339341

342+
- name: Rename medley tar for the x86_64 platform
343+
run: |
344+
cd ${{ env.TARS_DIR }}
345+
mv medley-full-linux-x86_64-*.tgz medley.tgz
346+
347+
- name: Save medley tar for use in cygwin installers
348+
uses: actions/upload-artifact@v3
349+
with:
350+
name: medley-tar
351+
path: |
352+
${{ env.TARS_DIR }}/medley.tgz
340353
341354
342355
# JOB: macos_installer ##############################################################
@@ -371,8 +384,7 @@ jobs:
371384
echo "MACOS_DIR=${MACOS_DIR}" >>${GITHUB_ENV}
372385
echo "ARTIFACTS_DIR=${MACOS_DIR}/artifacts" >>${GITHUB_ENV}
373386
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
374-
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
375-
>>${GITHUB_ENV}
387+
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" >>${GITHUB_ENV}
376388
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
377389
378390
# Create tarball dir
@@ -410,23 +422,23 @@ jobs:
410422

411423

412424

413-
# JOB: windows_installer #############################################################
425+
# JOB: cygwin_installer #############################################################
414426

415427
#
416428
# Create the Windows installer, push it up to the release on github and
417429
# update the downloads page on OIO
418430
#
419-
windows_installer:
431+
cygwin_installer:
420432

421-
runs-on: windows-latest
433+
runs-on: windows-2022
422434

423-
needs: [inputs, sentry, loadup]
435+
needs: [inputs, sentry, loadup, linux_installer]
424436
if: |
425437
needs.sentry.outputs.release_not_built == 'true'
426438
|| needs.inputs.outputs.force == 'true'
427439
428440
outputs:
429-
windows_installer_filename: ${{ steps.jobout.outputs.INSTALLER_FILENAME }}
441+
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
430442

431443
steps:
432444

@@ -446,29 +458,65 @@ jobs:
446458
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
447459
$aft="${{ needs.loadup.outputs.artifacts_filename_template }}"
448460
echo "ARTIFACTS_FILENAME_TEMPLATE=$aft" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
461+
$debs="${{ needs.loadup.outputs.debs_filename_base }}"
462+
echo "DEBS_FILENAME_BASE=$debs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
449463
450-
# Download vnc viewer
451-
- name: Download vncviewer
464+
# Retrieve medley tars from artifact store
465+
- name: Retrieve medley tar
466+
uses: actions/download-artifact@v3
467+
with:
468+
name: medley-tar
469+
path: installers/cygwin/
470+
471+
# Download maiko cygwin build
472+
- name: Retrieve maiko cygwin build
452473
shell: powershell
474+
env:
475+
GH_TOKEN: ${{ secrets.MAIKO_TOKEN }}
453476
run: |
454-
$url = "https://online.interlisp.org/downloads/vncviewer64-1.12.0.exe"
455-
$output = "installers\win\vncviewer64-1.12.0.exe"
456-
(New-Object System.Net.WebClient).DownloadFile($url, $output)
477+
gh release download ${{ needs.loadup.outputs.maiko_release_tag }} --repo interlisp/maiko --pattern ${{ needs.loadup.outputs.maiko_release_tag }}-cygwin.x86_64.tgz --output installers\cygwin\maiko-cygwin.x86_64.tgz
457478
458-
# Run iscc.exe to compile the installer
459-
- name: Compile medley.iss
479+
# Download cygwin installer to be included by medley.iss
480+
- name: Download cygwin installer
481+
id: cygwin
460482
shell: powershell
461483
run: |
462-
iscc installers\win\medley.iss
484+
wget https://cygwin.com/setup-x86_64.exe -OutFile installers\cygwin\setup-x86_64.exe
485+
486+
# Download vnc viewer
487+
#- name: Download vncviewer
488+
# shell: powershell
489+
# run: |
490+
# $url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
491+
# $output = "installers\win\vncviewer64-1.12.0.exe"
492+
# (New-Object System.Net.WebClient).DownloadFile($url, $output)
493+
494+
# Run iscc.exe to compile the installer
495+
#- name: Compile medley.iss
496+
# shell: powershell
497+
# run: |
498+
# iscc installers\win\medley.iss
499+
# $filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
500+
# echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
463501

502+
# Run iscc.exe to compile the installer
503+
- name: Compile cygwin_medley.iss
504+
id: compile_iss
505+
shell: powershell
506+
run: |
507+
$Env:CYGWIN_INSTALLER_BASE="medley-full-cygwin-x86_64-${env:COMBINED_RELEASE_TAG}"
508+
$CYGWIN_INSTALLER="${Env:CYGWIN_INSTALLER_BASE}.exe"
509+
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
510+
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append
511+
iscc installers\cygwin\medley.iss
464512
465513
# Upload windows installer to release
466514
- name: Upload windows installer to release
467515
id: push
468516
uses: ncipollo/release-action@v1
469517
with:
470518
allowUpdates: true
471-
artifacts: installers/win/medley-*.exe
519+
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
472520
tag: ${{ env.MEDLEY_RELEASE_TAG }}
473521
token: ${{ secrets.GITHUB_TOKEN }}
474522
omitBodyDuringUpdate: true
@@ -487,7 +535,7 @@ jobs:
487535

488536
runs-on: ubuntu-latest
489537

490-
needs: [inputs, sentry, loadup, linux_installer, macos_installer, windows_installer]
538+
needs: [inputs, sentry, loadup, linux_installer, macos_installer, cygwin_installer]
491539
if: |
492540
needs.sentry.outputs.release_not_built == 'true'
493541
|| needs.inputs.outputs.force == 'true'
@@ -503,6 +551,8 @@ jobs:
503551
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
504552
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
505553
echo "MEDLEY_SHORT_RELEASE_TAG=${msrt}" >>${GITHUB_ENV}
554+
cyginst="${{ needs.cygwin_installer.outputs.cygwin_installer }}"
555+
echo "CYGWIN_INSTALLER=${cyginst}" >>${GITHUB_ENV}
506556
507557
# Checkout latest commit
508558
- name: Checkout Medley
@@ -514,7 +564,7 @@ jobs:
514564
# So this will be the final update before creating downloads page
515565
# and we can use its url for the page
516566
- run: echo "placeholder" >placeholder.txt
517-
- name: Upload windows installer to release
567+
- name: Upload windows placeholder.txt to release
518568
id: pushph
519569
uses: ncipollo/release-action@v1
520570
with:
@@ -552,6 +602,7 @@ jobs:
552602
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
553603
-e "s/@@@COMBINED.RELEASE.TAG@@@/${COMBINED_RELEASE_TAG}/g" \
554604
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
605+
-e "s~@@@CYGWIN.INSTALLER@@@~${CYGWIN_INSTALLER}~g" \
555606
< "${local_template}" > "${local_filename}"
556607
# Create sftp instruction file
557608
echo "-rm ${remote_filepath}.oldold" > batch
@@ -566,6 +617,12 @@ jobs:
566617
env:
567618
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
568619

620+
# Remove placeholder.txt
621+
- name: Remove placeholder.txt
622+
run: |
623+
gh release delete-asset ${{ env.MEDLEY_RELEASE_TAG }} placeholder.txt --yes
624+
env:
625+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
569626

570627

571628
# JOB: complete #####################################################################

greetfiles/APPS-INIT

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "19-Jan-2023 12:44:20" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;9 21022
3+
(FILECREATED "16-Jun-2023 17:20:09" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;11 21130
44

5-
:CHANGES-TO (VARS APPS-INITCOMS)
6-
(FNS Apps.DoInit)
5+
:CHANGES-TO (FNS Apps.DoInit)
76

8-
:PREVIOUS-DATE "19-Jan-2023 11:57:40" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;8
9-
)
7+
:PREVIOUS-DATE "19-Jan-2023 12:44:20"
8+
{DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;10)
109

1110

1211
(PRETTYCOMPRINT APPS-INITCOMS)
@@ -170,7 +169,11 @@
170169

171170
(* ;; " create the Documentation and ROOMS, Notecards Activation Buttons, if needed")
172171

173-
(Apps.CreateButtons T])
172+
(Apps.CreateButtons T)
173+
174+
(* ;; " Make sure Notecards doesn't try to load its HASH file in NC.PostGreet")
175+
176+
(SETTOPVAL '\NC.SourceAccessFlg NIL])
174177

175178
(Apps.CreateButtons
176179
[LAMBDA (DoDocsToo) (* ; "Edited 13-Dec-2022 12:51 by frank")
@@ -373,8 +376,8 @@
373376
(BKSYSBUF " ")
374377
)
375378
(DECLARE%: DONTCOPY
376-
(FILEMAP (NIL (1146 20888 (Apps.InitNotecards 1156 . 5018) (Apps.DoInit 5020 . 8119) (
377-
Apps.CreateButtons 8121 . 16945) (Apps.CreateLabel 16947 . 17757) (Apps.ActivateCLOS 17759 . 19108) (
378-
Apps.ActivateRooms 19110 . 19961) (Apps.ShowDoc 19963 . 20112) (XCL-USER::EXEC_INTERLISP 20114 . 20886
379+
(FILEMAP (NIL (1109 20996 (Apps.InitNotecards 1119 . 4981) (Apps.DoInit 4983 . 8227) (
380+
Apps.CreateButtons 8229 . 17053) (Apps.CreateLabel 17055 . 17865) (Apps.ActivateCLOS 17867 . 19216) (
381+
Apps.ActivateRooms 19218 . 20069) (Apps.ShowDoc 20071 . 20220) (XCL-USER::EXEC_INTERLISP 20222 . 20994
379382
)))))
380383
STOP

greetfiles/APPS-INIT.LCOM

31 Bytes
Binary file not shown.

installers/cygwin/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
medley*.exe
2+
medley*.tgz
3+
maiko*.tgz
4+
setup-x86_64.exe
5+
medley.bat
6+

installers/cygwin/Medley.ico

155 KB
Binary file not shown.

0 commit comments

Comments
 (0)