1
0
mirror of synced 2026-05-13 18:44:00 +00:00

Compare commits

..

53 Commits

Author SHA1 Message Date
Matt Heffron
8365cac123 Adjust Ron's fix in DUMPDB for non-uppercase FILE. 2026-05-12 15:36:22 -07:00
rmkaplan
683ee45f57 Bug in DUMPDB: Used FL in a PROG before it was bound 2026-05-12 12:46:54 -07:00
Matt Heffron
26bba9e432 A few more places where NAMEFIELD needed to be ROOTFILENAME. 2026-05-11 14:53:55 -07:00
Matt Heffron
80ac342428 Merge branch 'mth71--DATABASEFNS_another_ROOTFILENAME_vs_NAMEFIELD_error' of https://github.com/Interlisp/medley into mth71--DATABASEFNS_another_ROOTFILENAME_vs_NAMEFIELD_error 2026-05-11 14:28:45 -07:00
Matt Heffron
ee6b98a0c1 Merge branch 'master' into mth71--DATABASEFNS_another_ROOTFILENAME_vs_NAMEFIELD_error 2026-05-11 14:28:14 -07:00
Matt Heffron
fd477027ff Merge branch 'master' into mth71--DATABASEFNS_another_ROOTFILENAME_vs_NAMEFIELD_error 2026-05-11 14:26:53 -07:00
Frank Halasz
46df732486 Fix Issue#2603: Erroneous lock violation detection during "./loadup -db" (#2605)
Fix Issue#2603:  fix handling of the internal use only --ignore_lock command line argument to the loadup script.  Was being processed correctly in loadup but then overridden by a reset in loadup-setup.sh.  Removed the reset in loadup-setup.sh
2026-05-11 13:20:49 -07:00
Larry Masinter
01c90e4590 add BAKTRACE to HCFILES fails. Skip HC of CLTL2 (package errors) and dinfo (not really tedit). (#2598)
* add BAKTRACE to HCFILES fails. Skip HC of CLTL2 (package errors) and dinfo (not really tedit).
* IMNAME.TEDIT isn't really TEDIT it's text. rename it.
* internal/mesatypes.tedit now sources/MESATYPES.TXT move from internal to sources (loaded by sources), also move MESATYPE*
2026-05-11 12:21:24 -07:00
rmkaplan
5aa79ebb06 Rmk175 offline font construction (#2555)
* Medleyfont format updated to version 2, revised and more complete fonts deployed in fonts/medleydisplayfonts/
* Rename AFONT to ACFONT, include STRIKE formats
* FILESETS:  Add MCCSFONTS to loadup
* MCCSFONTS:  New file that isolates all of the legacy font translations previously spread in other files (MCCS)
* Medleyfont display fonts created offline using new file library/IMPORTFONTS
* LLCHAR:  Add \MAXCHARSET=65535, \MAXCHAR etc.
* git ignores internal/fonts/**

* MEDLEYDIR: Define the pseudohost {MEDLEY} whose prefix set to the current value of MEDLEYDIR whenever system restarts
* (MEDLEYDIR xxx) entries in MEDLEY-INIT-VARS removed in favor of {MEDLEY}xxx
* Add cdm command to connect to {MEDLEY} and its subdirectories
2026-05-11 12:08:05 -07:00
Matt Heffron
1d309df26e DATABASEFNS failed when writing .DATABASE file for the first time if the source file name wasn't U-CASE. 2026-05-08 22:13:18 -07:00
Larry Masinter
bbf9f73cda Cleanup the piece datatype, address a few issues (#2597)
mostly propagating a cleanup of the PIECE datatype. It had several fields that were simple combinations of other fields but required extra code to maintain consistency.

Includes minor fixes for #2588 #2585 and also the change to TEDIT.TO.IMAGEFILE mentioned in #2286, for HCFILES, and the fix for line overflow mentioned there.

also has some initial code changes to manage what happens when the mouse leaves the window while a secondary selection is up #2434 and then possibly returns. The behavior here is still suboptimal, but in a
different way than before
2026-05-08 14:57:08 -07:00
rmkaplan
f38e216446 Removed the (AND NIL...) 2026-05-08 12:17:56 -07:00
rmkaplan
d0d9b2329a Cleanup the piece datatype, address a few issues 2026-05-07 20:57:58 -07:00
Matt Heffron
4de89a6e94 Fix library>DATABASEFNS DUMPDB to use get the FILEDATES correctly (#2593)
DUMPDB fixed to use ROOTFILENAME vs. NAMEFIELD (U-CASE vs. actual) to retrieve and dump the source file's FILEDATES, so the .DATABASE can be loaded.
2026-05-07 12:33:11 -07:00
rmkaplan
ceccadacef Minor fix in UNICODE-FORMATS (#2596) 2026-05-07 12:32:48 -07:00
rmkaplan
6159c64b84 man [filename] just opens the corresponding documentation file (#2572)
* man [filename] just opens the corresponding documentation file
* When a particular ENTRY is provided and found in the file, scroll its first occurrence to the top
2026-05-06 11:55:34 -07:00
rmkaplan
eb6ee87170 COMPAREDIRECTORIES implements the ** all-subdirectories convention of .gitignore (#2583)
* COMPAREDIRECTORIES implements the ** all-subdirectories convention of .gitignore
* Can specify exclusions/ignores in gwc command line, after hyphen
2026-05-06 11:54:13 -07:00
rmkaplan
c16e3b4a55 Move UNIXY commands to UNIXUTILS, delete UNIXYCD (#2587)
* Move  UNIXY commands to UNIXUTILS, delete UNIXYCD

* Delete UNIXYCD
2026-04-30 23:04:26 -07:00
rmkaplan
285e35f2ea MCCS now includes XCCS external format, separate XCCS file now in Obsolete (#2590) 2026-04-30 22:55:46 -07:00
rmkaplan
4e761298ea This was well-formed, but had a bogus slug character showing as a black box (#2584)
Fix typo
2026-04-29 11:59:27 -07:00
Matt Heffron
cbea9a7c9d HCFILES added filtering and logging details (#2567)
* Add reporting of filtering "Why?"
Add reporting of the actual error Condition on files that FAIL.
Change extraction of the "hcfiles-fails.txt" to a perl program since the Condition reporting sometimes is multiple lines.

* Change running of the getFails.pl that extracts FAIL information.
Also check if perl is installed, and report it if not into the fails file.
2026-04-29 11:45:47 -07:00
Frank Halasz
47dd8edf60 Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename (#2580)
* Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename

* Remove PRINT debugging code from ShellOpen

* Fix bug introduced into SLASHIT whereby which it would go into an infinite loop if a filename had two or more spaces in it.
2026-04-27 14:08:14 -07:00
rmkaplan
1d2292aa62 Fixing \DO.PARAMS.AT.OPEN take two (#2581) 2026-04-27 12:16:26 -07:00
Larry Masinter
4499b4d914 Address the \DO.PARAMS.AT.OPEN typos/bugs (#2574)
Resolves #2568
2026-04-26 20:41:49 -07:00
Larry Masinter
0317fbd882 Fix for Issue #2504 (partial): In GRAPHER when a DISPLAYLINKFN is specified but not defined uses the default DRAWLINK (#2564)
In GRAPHER when a DISPLAYLINKFN is specified but not defined, uses the
default DRAWLINK function instead and promptprints a message to that
effect.
2026-04-25 13:01:10 -07:00
Matt Heffron
b0c6136bd6 Fixes issues causing crashing during loadups building. 2026-04-21 22:14:05 -07:00
Matt Heffron
d922212de1 Merge branch 'master' into mth68--Fix_DO.PARAMS.AT.OPEN_typos 2026-04-21 22:12:38 -07:00
Matt Heffron
96c609e5f0 Address the concerns stated in Issue #2568 2026-04-20 15:27:43 -07:00
rmkaplan
728a278dc0 Previous version was smashed (#2569) 2026-04-18 16:00:43 -07:00
Matt Heffron
2814618b9a Add preliminary files with mappings from XCCS to Unihan set of Unicode. (#2559)
* Add preliminary files with mappings from XCCS to Unihan set of Unicode.
These were generated with scripting from the data in the unihan folder of the Unicode Data Base.
That info claims to know the mapping from Unicode(unihan) to "Xerox" coding (2 bytes in octal).
These were not validated at all for correctness/completeness.

* Added char set number line comment to top of each file
2026-04-17 11:22:22 -07:00
rmkaplan
af194bdaf7 UNIX-FILE-NAME wasn't dealing properly with {DSK} versions (#2554)
UNIX-FILE-NAME wasn't dealing properly with {DSK} version 1, and making sure that other versions had a dot
2026-04-15 12:57:31 -07:00
rmkaplan
e73aef6dcc Fix copy/delete for {UNIX} directories (#2553) 2026-04-15 12:57:01 -07:00
rmkaplan
61a05ac2b5 The GITFNS prc menu respects the project (#2544) 2026-04-15 12:56:26 -07:00
Larry Masinter
b611af518a READ symbols in undefined packages so they PRINT correctly (#2561)
As discussed in the 4/13/2026 LispCore meeting:
This allows you to READ symbols in undefined packages such that they
will print as expected.
2026-04-15 10:45:16 -07:00
Frank Halasz
fb0af3c05f Fix GRAPHER so that when a DISPLAYLINKFN is specified but the specifed function is not defined, it uses the default DRAWLINK function instead and promptprints a notice. 2026-04-14 22:36:09 -07:00
Herb Jellinek
93b09dec66 My last-minute change from QUOTE to FUNCTION inadvertently invoked
CL:FUNCTION instead, and RETFROM doesn't want a function object.
Updated to use IL:FUNCTION.
2026-04-14 12:16:13 -07:00
Herb Jellinek
8f3d5c26b5 As discussed in the 4/13/2026 LispCore meeting:
This is a new package that allows you to READ symbols in undefined packages
such that they will print as if there had not been an error.
2026-04-13 14:21:07 -07:00
rmkaplan
5790bce3db Add DISPLAY sanity check to EDITFONT (#2545) 2026-04-10 23:42:01 -07:00
rmkaplan
43f3118544 Rmk172 clean unicode mapping directory (#2552)
* Remove stale files, add README, correct XCCS-164 JIS

* Remake UNICODE-FORMATS to be sure it reflects current files

---------

Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2026-04-10 12:55:06 -07:00
rmkaplan
8eb02d2504 Add deleted/* (from GITFNS) to .gitignore (#2556)
* Add deleted/* (from GITFNS) to .gitignore

* OK, I changed it to **
2026-04-07 14:15:46 -07:00
Nick Briggs
573d87aca3 Updates \ETHEREVENTFN to relocate exit when the ethernet is unvailable. (#2418)
* Updates \ETHEREVENTFN to remove early exit when the ethernet is unvailable.

In the case that the ethernet is unavailable the \ETHEREVENTFN should
still call \SETETHERFLAGS, \SETLOCALNSNUMBERS, and \FLUSHNDBS, or
a newly started image will retain information from the system on which
it was built (such as ethernet MAC address in the NS address).  This
will also ensure that the NS address is not set to 0, instead initializing
with a fake  address based on the system serial number (calls \SERIALNUMBER).

* When no ethernet \FIND.LOCALPUPHOSTNUMBER should immediately return NIL

If there is NO ethernet it is better to avoid a delay waiting for a
PUP lookup response that will never come, and there is no value in
asking for the user to enter a PUP host number that will not be used.

* Updates \SETETHERFLAGS to avoid setting \10MBFLG when no ethernet

* Avoids making copy of \10MBLOCALNDB as \MAIKO.10MB.NDB for \MAIKO.ETHER-INTERRUPT

* RESTART.ETHER at end of loadup-lisp to ensure network structures are set up.

* Removes OCTALSTRING from PUP - now in APRINT

* Prevents \LOOKUPPORT waiting for an ethernet timeout if PUP has already been detected as unavailable
2026-04-02 11:15:23 -07:00
Matt Heffron
13eb940538 Fixes a typo in internal/loadups/man-page/loadup.1.md & derived files. (#2542)
Resolves #2536
2026-03-15 19:05:23 -07:00
Matt Heffron
3dc2bba019 Fixes a typo in internal/loadups/man-page/loadup.1.md & derived files. 2026-03-14 21:17:15 -07:00
Larry Masinter
322b2e0fbe DFV gets FNS and/or FUNCTIONS, depending on what definitions exist (#2530)
If both exist, it brings up 2 Sedit windows.

The relative version numbers are currently mapped to Medley absolute
version numbers. It would be nice to extend VERSIONDEFS with a function
(say GEDV) that maps the relative version numbers into the definitions
on git-file versions, by looking at the history. So (GEDV 'FOO 'RECORD
-3) would find the file for FOO's record declaration from WHEREIS, and
get the definition from the version 3 commits back. But GITFNS doesn't
currently have a primitive for fetching and interpreting history.
2026-03-09 23:07:30 -07:00
rmkaplan
a24a4dffc2 READ-READER-ENVIRONMENT can take a file name in addition to an open stream (#2531) 2026-03-09 12:31:01 -07:00
rmkaplan
95e08680b8 \CORE.DIRECTORYNAMEP returns T for the {CORE} (no directory) case (#2522) 2026-03-09 12:15:33 -07:00
rmkaplan
7a7fca0bcf Add lispusers/CONVERT-TO-UTF8 (#2518)
* Add lispusers/CONVERT-TO-UTF8
* FILETYPE with no DFASL defaults to :FAKE-COMPILE-FILE
2026-03-09 12:15:14 -07:00
Matt Heffron
9e4d37efd7 Most of the --option uses were incorrectly converted when making loadup.1 from loadup.md. (#2528)
Most of the --option uses were incorrectly converted to an en-dash instead of two hyphens when making loadup.1 from loadup.md.
The en-dash didn't display correctly in the shell, typically as u with ^.
Edited loadup.md, and regenerated the other changed files using publish.sh
2026-03-09 12:14:19 -07:00
rmkaplan
b8c0c594a9 DFV gets FNS and/or FNS, depending on what definitions exist 2026-03-08 09:26:18 -07:00
rmkaplan
d9f1a78f47 GITFNS remembers user's last branch number in a {LI} file (#2526) 2026-03-07 12:56:21 -08:00
rmkaplan
ab4eb3d52d Remove UNICODE file reference from Tedit (#2527) 2026-03-04 08:11:52 -08:00
rmkaplan
0f470b9753 Rmk161 loadup works with utf 8 source files (#2512)
* New starter.sysout contains the UTF-8 external format
* Init.sysout is created with the UTF-8 external format
* Files with non-ascii characters and some other files converted to UTF-8, for basic testing
* Environment arg of WITH-READER-ENVIRONMENT can be a stream
* Compiler functions now respect the external format as copied from the source file
* Colon is the package delimiter in DEFINE-FILE-INFO expressions
* UNICODE file is deprecated in favor of UNICODE-FORMATS and UNICODE-TABLES
2026-03-02 11:56:11 -08:00
Larry Masinter
b1bdd90338 remove 'obsolete' folder from repo -- move to separate repo (#2503) 2026-03-02 11:49:31 -08:00
1443 changed files with 26966 additions and 122615 deletions

View File

@@ -21,18 +21,18 @@ name: 'Build/Push Docker Image'
on:
workflow_dispatch:
inputs:
github_release_tag:
description: "Tag of Github Release to be used for this Medley Docker image"
type: string
default: "Latest"
draft:
description: "Mark this as a draft release"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
@@ -40,21 +40,16 @@ on:
description: "'True' if medley docker build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
github_release_tag:
description: "Tag of Github Release to be used for this Medley Docker image"
required: false
type: string
default: "Latest"
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
secrets:
DOCKER_USERNAME:
required: true
@@ -82,7 +77,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -109,27 +104,25 @@ jobs:
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Find named or latest release
# Find latest release (draft or normal)
# and download its assets
- name: Download linux debs from named or latest release
- name: Download linux debs from latest (draft) release
run: |
tag=""
if [ "${{ inputs.github_release_tag }}" = "Latest" ];
if [ "${{ inputs.draft }}" = "true" ];
then
tag=$(gh release list | grep Draft | head -n 1 | awk '{ print $3 }')
fi
if [ -z "${tag}" ];
then
tag=$(gh release list | grep Latest | head -n 1 | awk '{ print $3 }')
else
tag=$(echo "${{ inputs.github_release_tag }}" | sed 's/[[:space:]]//g')
set +e
gh release view ${tag} --repo ${{ github.repository_owner }}/medley
if [ $? -ne 0 ]; then echo "!!!!!!! Error: Cannot find Medley release ${tag} on github Medley repo. Exiting."; exit 1; fi
set -e
fi
mkdir -p release_debs
gh release download ${tag} -D release_debs -p '*-linux-*.deb'
@@ -137,7 +130,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Get Maiko and Medley release information from name of deb files
# just downloaded from the Medley github release
# just downloaded from the Medley latest release
- name: Get info about Miako and Medley releases
id: release_info
run: |
@@ -149,7 +142,7 @@ jobs:
echo "MEDLEY_RELEASE=${medley_release}" >> ${GITHUB_ENV}
echo "MAIKO_RELEASE=${maiko_release}" >> ${GITHUB_ENV}
# re gex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# Set repo env variables
- name: Set repo/docker env variables
@@ -164,7 +157,7 @@ jobs:
platforms="linux/amd64"
#,linux/arm64
else
docker_tags="${docker_image}:draft,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
fi
echo "REPO_NAME=${repo_name}" >> ${GITHUB_ENV}
@@ -177,7 +170,7 @@ jobs:
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64
# ,linux/arm64,linux/arm/v7
@@ -185,11 +178,11 @@ jobs:
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v4
uses: docker/setup-buildx-action@v3
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
uses: docker/login-action@v4
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@@ -198,7 +191,7 @@ jobs:
# checked out and the release tars just downloaded.
# Push the result to Docker Hub
- name: Build Docker Image for Push to Docker Hub
uses: docker/build-push-action@v7
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
@@ -230,7 +223,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -20,43 +20,35 @@ name: Build/Push Medley Release
on:
workflow_dispatch:
inputs:
maiko_release:
description: "What maiko release to use"
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
github_release_tag:
description: "Github Release tag for release created in this run"
value: ${{ jobs.loadup.outputs.github_release_tag }}
inputs:
maiko_release:
description: "What maiko release to use"
required: false
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
secrets:
OIO_SSH_KEY:
required: true
@@ -81,7 +73,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -108,7 +100,6 @@ jobs:
outputs:
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
github_release_tag: ${{ steps.job_outputs.outputs.GITHUB_RELEASE_TAG }}
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
@@ -119,12 +110,12 @@ jobs:
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -132,33 +123,35 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Setup release tag
- name: Setup Release Tag
id: tag
uses: ./../actions/release-tag-action
# Get Maiko release information, use maiko release tag from input or Latest
# Get Maiko release information, retrieves the name of the latest (draft)
# release. Used to download the correct Maiko release
# Find latest release (draft or normal)
- name: Get maiko release information
id: maiko
run: |
tag=""
if [ "${{ inputs.maiko_release }}" = "Latest" ];
if [ "${{ inputs.draft }}" = "true" ];
then
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
if [ $? -eq 0 ];
then
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
fi
fi
if [ -z "${tag}" ];
then
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
else
tag=$(echo "${{ inputs.maiko_release }}" | sed 's/[[:space:]]//g')
set +e
gh release view ${tag} --repo ${{ github.repository_owner }}/maiko
if [ $? -ne 0 ]; then echo "!!!!!!! Error: Cannot find Maiko release ${tag}. Exiting."; exit 1; fi
set -e
fi
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Setup environment variables & establish job outputs
- name: Setup Environment Variables
run: |
@@ -173,14 +166,11 @@ jobs:
echo "MAIKO_SHORT_RELEASE_TAG=${MAIKO_RELEASE_TAG#maiko-}" >>${GITHUB_ENV}
- name: Even More Environment Variables
run: |
crt="${MEDLEY_SHORT_RELEASE_TAG}_${MAIKO_SHORT_RELEASE_TAG}"
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
echo "GITHUB_RELEASE_TAG=medley-${crt}" >>${GITHUB_ENV}
echo "COMBINED_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}_${MAIKO_SHORT_RELEASE_TAG}" >>${GITHUB_ENV}
- name: Establish job outputs
id: job_outputs
run: |
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "GITHUB_RELEASE_TAG=${GITHUB_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
@@ -203,7 +193,7 @@ jobs:
# Checkout Notecards and tar it in the tarballsdir
- name: Checkout Notecards
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
@@ -231,20 +221,21 @@ jobs:
# Push the release up to github releases
- name: Delete existing release with same tag (if any)
run: gh release delete ${{ env.GITHUB_RELEASE_TAG }} --cleanup-tag --yes || true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: cb80/delrel@latest
with:
tag: ${{ env.MEDLEY_RELEASE_TAG }}
continue-on-error: true
- name: Push the release
id: push
uses: ncipollo/release-action@v1.21.0
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# ${{ env.TARBALL_DIR }}/notecards.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
draft: ${{ inputs.draft }}
prerelease: false
generateReleaseNotes: true
@@ -252,7 +243,7 @@ jobs:
# Save the tarball directory for subsequent jobs
- name: Save tarballs
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -271,13 +262,13 @@ jobs:
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
@@ -288,14 +279,13 @@ jobs:
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
>>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
echo "GITHUB_RELEASE_TAG=${{ needs.loadup.outputs.github_release_tag }}" >> ${GITHUB_ENV}
# Create taball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -310,13 +300,13 @@ jobs:
# Push the debs and tgz up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1.21.0
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
${{ env.DEBS_DIR }}/*.deb,
${{ env.TARS_DIR }}/*.tgz
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -329,7 +319,7 @@ jobs:
mv medley-full-linux-x86_64-*.tgz medley.tgz
- name: Save medley tar for use in cygwin installers
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v4
with:
name: medley-tar
path: |
@@ -348,7 +338,7 @@ jobs:
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
# if: false
defaults:
@@ -359,7 +349,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
@@ -370,14 +360,13 @@ jobs:
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" >>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
echo "GITHUB_RELEASE_TAG=${{ needs.loadup.outputs.github_release_tag }}" >> ${GITHUB_ENV}
# Create tarball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -392,13 +381,13 @@ jobs:
# Push the .dmg and .zip up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1.21.0
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
${{ env.ARTIFACTS_DIR }}/*.zip
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -420,7 +409,7 @@ jobs:
needs: [sentry, loadup, linux_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
outputs:
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
@@ -429,7 +418,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Store the values output from loadup job as environment variables
- name: Environment Variables
@@ -437,8 +426,6 @@ jobs:
run: |
$crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=$crt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$grt="${{ needs.loadup.outputs.github_release_tag }}"
echo "GITHUB_RELEASE_TAG=$grt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
@@ -450,7 +437,7 @@ jobs:
# Retrieve medley tars from artifact store
- name: Retrieve medley tar
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: medley-tar
path: installers/cygwin/
@@ -500,11 +487,11 @@ jobs:
# Upload windows installer to release
- name: Upload windows installer to release
id: push
uses: ncipollo/release-action@v1.21.0
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -525,7 +512,7 @@ jobs:
needs: [sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
@@ -534,8 +521,6 @@ jobs:
run: |
crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
grt="${{ needs.loadup.outputs.github_release_tag }}"
echo "GITHUB_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
@@ -545,7 +530,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Upload a dummy file to release
@@ -555,11 +540,11 @@ jobs:
- run: echo "placeholder" >placeholder.txt
- name: Upload windows placeholder.txt to release
id: pushph
uses: ncipollo/release-action@v1.21.0
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: placeholder.txt
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -609,7 +594,7 @@ jobs:
# Remove placeholder.txt
- name: Remove placeholder.txt
run: |
gh release delete-asset ${{ env.GITHUB_RELEASE_TAG }} placeholder.txt --yes || true
gh release delete-asset ${{ env.MEDLEY_RELEASE_TAG }} placeholder.txt --yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -631,14 +616,14 @@ jobs:
steps:
# Delete the tarballs artifact
- name: Delete tarballs artifact
uses: geekyeggo/delete-artifact@v6
uses: geekyeggo/delete-artifact@v5
with:
name: tarballs
failOnError: false
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -24,22 +24,18 @@ on:
workflow_dispatch:
inputs:
maiko_release:
description: "What maiko release to use"
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
type: boolean
default: false
online:
description: "Deploy this release online"
type: boolean
default: true
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
@@ -47,26 +43,16 @@ on:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
maiko_release:
description: "What maiko release to use"
required: false
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
online:
description: "Deploy this release online"
required: false
type: boolean
default: true
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
defaults:
run:
@@ -77,53 +63,75 @@ defaults:
jobs:
######################################################################################
# Regularize the inputs so they can be referenced the same way whether they are
# the result of a workflow_dispatch or a workflow_call
inputs:
runs-on: ubuntu-24.04
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' != '{}' ];
then
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
else
echo "draft=false" >> $GITHUB_OUTPUT;
echo "force=false" >> $GITHUB_OUTPUT;
fi
######################################################################################
# Build Loadup
do_release:
needs: inputs
uses: ./.github/workflows/buildLoadup.yml
with:
maiko_release: ${{ inputs.maiko_release }}
draft: ${{ inputs.draft }}
force: ${{ inputs.force }}
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
######################################################################################
# Build Docker Image
do_docker:
needs: [do_release]
needs: [inputs, do_release]
uses: ./.github/workflows/buildDocker.yml
with:
github_release_tag: ${{ needs.do_release.outputs.github_release_tag }}
draft: ${{ inputs.draft }}
force: ${{ inputs.force }}
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
######################################################################################
# Run HCFILES and push to files.interlisp.org
do_HCFILES:
needs: [do_release]
needs: [inputs, do_release]
uses: ./.github/workflows/doHCFILES.yml
with:
draft: ${{ inputs.draft }}
draft: ${{ needs.inputs.outputs.draft }}
secrets: inherit
######################################################################################
# Kickoff workflow in online repo to build and deploy Medley docker image to oio
do_oio:
if: ${{ inputs.online == true }}
runs-on: ubuntu-24.04
needs: [do_release, do_docker]
needs: [inputs, do_docker]
steps:
- name: trigger-oio-buildAndDeploy
run: |
gh workflow run buildAndDeployMedleyDocker.yml \
--repo Interlisp/online --ref fgh_deploy-specific \
-f github_release_tag=${{ needs.do_release.outputs.github_release_tag }} \
-f draft=${{ inputs.draft }}
if [ ! "${{ needs.inputs.outputs.draft }}" = "true" ]
then
gh workflow run buildAndDeployMedleyDocker.yml --repo Interlisp/online --ref main
fi
env:
GITHUB_TOKEN: ${{ secrets.ONLINE_TOKEN }}

View File

@@ -50,28 +50,28 @@ jobs:
steps:
- name: Checkout Medley repo
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Checkout maiko
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/maiko
path: ./maiko
- name: Checkout notecards
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- name: Checkout loops
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/loops
path: ./loops
- name: Checkout test
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/test
path: ./test

6
.gitignore vendored
View File

@@ -34,6 +34,9 @@ loadups/build/
loadups/tagged
loadups/gitinfo
# font-importing working directories
internal/fonts/**
# manual cross-reference files
@@ -43,6 +46,9 @@ loadups/gitinfo
*.sysout
*.SYSOUT
# GITFNS deleted subdirectory
deleted/**
#compiled code -- leave in for now
# *.lcom

0
CLTL2/.skip Normal file
View File

0
docs/dinfo/.skip Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More