1
0
mirror of synced 2026-03-22 09:17:30 +00:00

Compare commits

..

58 Commits

Author SHA1 Message Date
Larry Masinter
6ec792510f simplify DEFAULTFILETYPELIST initialization (#735) 2022-03-08 09:41:50 -08:00
Larry Masinter
5e6a035614 remove fonts/xerox already in displayfonts (#734) 2022-03-07 22:06:12 -08:00
rmkaplan
43b0120f2a DIRECTORY: Added DEPTH parameter for FILEING.ENUMERATION.DEPTH (#720)
* DIRECTORY:  Added DEPTH parameter for FILEING.ENUMERATION.DEPTH

* DIRECTORY:  Added DEPTH parameter to FILDIR
2022-03-07 16:58:47 -08:00
rmkaplan
157b98fa9b Merge pull request #731 from Interlisp/rmk28
Rmk28 A few more file cleanups
2022-03-07 16:30:11 -08:00
Larry Masinter
b859649f00 moving obsolete lispusers; delete some junk files (#730)
* lispusers [HIJK]* sort out

* lispusers [LM]* sort out

* more cleanup
2022-03-07 16:19:27 -08:00
rmkaplan
3af82b4aff Create TIMESROMAN08-MIR-C0.DISPLAYFONT
For some reason, I had this but it wasn't in the master.  Don't know why.
2022-03-07 15:17:13 -08:00
rmkaplan
0f36b20f7f DocumentationTemplate.TEDIT TEDITDORADOKEYS.DATABASE
This is an old version of the template file.  The database file isn't necessary
2022-03-07 15:16:39 -08:00
rmkaplan
a84dcf8f57 CMLDEFFER: MAKEFILE-NEW to get FUNCTIONS in filemap for PF 2022-03-07 15:15:33 -08:00
rmkaplan
d035c4270f XREF is obsolete
Functionality is in TMAX-XREF
2022-03-07 15:14:54 -08:00
rmkaplan
e7e297c45c Merge pull request #729 from Interlisp/lmm17
more odds and ends from promote-internal
2022-03-07 14:50:57 -08:00
Larry Masinter
0bdba59aa9 more odds and ends from promote-internal 2022-03-07 13:15:16 -08:00
rmkaplan
831aa94cb4 Rmk27 GITFNS for renaming, minor other convenience adjustments (#728)
* GITFNS, COMPAREDIRECTORIES: more on renaming and copying

* MODERNIZE: use Wborder for the top for windows without titles

* DIRECTORY:  DEPTH as a parameter

* FILEPKG:  EDITCALLERS does FILDIR if FILES contains *

* GITFNS: Don't error on a non-existent "deleted" file
2022-03-07 12:38:35 -08:00
rmkaplan
74dc52b73f GITFNS: Fix CDGITDIR for < >, interpret C(opy) (#726) 2022-03-05 21:16:45 -08:00
rmkaplan
405845937d Merge pull request #698 from Interlisp/move-lispusers-lists
Move LispUsers documents to subdir for later sorting
2022-03-05 17:37:40 -08:00
Larry Masinter
ef24b9815d Fix MEDLEYDIR when NOERROR specified to not error and return correct path (#721) 2022-03-05 15:10:01 -08:00
rmkaplan
7bde19453e Merge pull request #711 from Interlisp/medley-logow
Medley logow
2022-03-04 21:08:44 -08:00
rmkaplan
a544855c08 Merge pull request #712 from Interlisp/odds-n-ends
Odds n ends
2022-03-04 21:08:09 -08:00
Larry Masinter
156b14851b Add MAKESYSDATE to logo window title, just delete Venue logo code 2022-03-04 19:49:07 -08:00
Larry Masinter
b95e68766d Fix bug introduced by 'changes to%' => ':CHANGES-TO' (#717) 2022-03-04 16:59:22 -08:00
Larry Masinter
3c35f6459b FINDFILE-WITH-EXTENSIONS update only (#708) 2022-03-04 16:49:05 -08:00
Larry Masinter
c68f84219a Fix bug in :CHANGES-TO :PREVIOUS-DATE not finding file changes 2022-03-02 16:53:33 -08:00
Larry Masinter
0f663ac5f5 forgot fn from KOTOLOGOW 2022-02-28 21:49:57 -08:00
Larry Masinter
6de8d3ec77 Move internal/library to internal, xerox font dirs, loadup and medleydir (#709)
* Move internal/library to internal, xerox font dirs, loadup and medleydir

* and MEDLEYDIR too

* mised some changes in 'promote/internal'

* tiny typo
2022-02-28 21:44:12 -08:00
rmkaplan
acc08e0dd7 Rmk23 Minor updates for COMPAREDIRECTORIES, GITFNS, REGIONMANAGER (#710)
* REGIONMANAGER:  TTY as a reference window

* GITFNS: Fix GITFNS.TEDIT, add DRAFTS as a prc parameter

so the menu shows the draft pr's for comparison

* COMPAREDIRECTORIES: only show differences in text-compares

Don't bother showing the unchanged chunks.
2022-02-28 21:30:26 -08:00
Larry Masinter
8eb9efdcc7 more greet file tweaks 2022-02-28 21:23:58 -08:00
Larry Masinter
f0f8b59ad8 LOGOW now Medley / based on KOTOLOGOW 2022-02-28 21:19:41 -08:00
rmkaplan
111ebe2d27 Merge pull request #706 from Interlisp/rmk22
Rmk22  Minor fix ups for comparisons, GITFNS for renamed files
2022-02-28 14:30:20 -08:00
rmkaplan
fbf33fe8e5 GITFNS: fix-ups prompted mostly by the pattern of git renames 2022-02-26 22:16:50 -08:00
rmkaplan
d3b1c6a3b4 Further cleanup of comparison functions
Mostly for cosmetics or convenience, a few glitches
2022-02-26 22:16:07 -08:00
rmkaplan
ab8da79d30 Merge pull request #703 from Interlisp/hyperdesk-needs-rooms
move hyperdesk to rooms for later review
2022-02-26 12:00:27 -08:00
Larry Masinter
c35a92db11 Loading VTCHAT should set it as default (#696) 2022-02-25 20:07:49 -08:00
Larry Masinter
601bc94fb7 obsolete many lispusers (#702)
* obsolete many lispusers

* NSDISPLAYSIZES isn't obsolete
2022-02-25 14:40:37 -08:00
rmkaplan
200b73c39d Merge pull request #699 from Interlisp/idlehax
patch some idle hacks and merge in IDLEDRAIN
2022-02-25 14:14:55 -08:00
Larry Masinter
72811d5bea move lafite files to library/lafite for later sorting (#697)
* move lafite files to library/lafite for later sorting

* more lafite lispusers
2022-02-24 20:31:39 -08:00
Larry Masinter
8045087be3 move hyperdesk to rooms for later review 2022-02-24 20:19:20 -08:00
Larry Masinter
1e4501be8e EOL convert .lisp files 2022-02-24 19:48:38 -08:00
rmkaplan
eb84efa12b Merge pull request #695 from Interlisp/tedit-no-font
Change OPENTEXTSTREAM to not error when finding display font (for hardcopy)
2022-02-24 19:34:23 -08:00
Larry Masinter
7c24032530 add lispusers/README.md 2022-02-24 19:26:25 -08:00
Larry Masinter
4002f75be8 Was merged into MEDLEY-UTILS 2022-02-24 19:23:51 -08:00
Larry Masinter
2ec33f860c useless IDLESWAP, no docs 2022-02-24 19:09:53 -08:00
Larry Masinter
071f8e5004 patch some idle hacks and merge in IDLEDRAIN 2022-02-24 19:03:49 -08:00
Larry Masinter
aad2344d82 odds and ends -- 2022-02-24 18:59:15 -08:00
Larry Masinter
018a464db4 Move LispUsers documents to subdir for later sorting 2022-02-24 18:49:08 -08:00
Larry Masinter
f940246eb1 Change OPENTEXTSTREAM to not error when finding display font (for hardcopy) 2022-02-24 17:51:37 -08:00
Larry Masinter
4ae11aebf4 get rid of unused font files from medley release (#679)
more cleanup from promote-internal destructuring
2022-02-24 10:14:16 -08:00
Larry Masinter
ae1d6536ef remove unused Xerox files.Z and shorten dir name (#692) 2022-02-24 05:06:45 -08:00
Larry Masinter
d734ec9d45 Move test files to its own repo (#691) 2022-02-23 20:00:19 -08:00
Bill Stumbo
0fc31e1183 Merge pull request #670 from Interlisp/masinter-patch-README
Update README.md
2022-02-22 07:44:16 -05:00
rmkaplan
17a3a5a93e Merge pull request #686 from Interlisp/rmk21
Rmk21 Comparison tools, Tedit string-args in Lafite files
2022-02-20 08:15:14 -08:00
rmkaplan
db8c951887 Comparison tools: Cosmetic fixes, a few glitches 2022-02-19 18:37:42 -08:00
rmkaplan
c4fac75f0a LAFITE files: Tedit--strings are filenames
more of #666
2022-02-19 18:35:11 -08:00
rmkaplan
160cf35f91 TEDITWINDOW: Fix offscreen scrolling #669 2022-02-19 18:32:24 -08:00
rmkaplan
ac1fcd2e2e BROWSER: missing specvars, added MODERNWINDOW
This should be included with Masterscope
2022-02-19 18:29:37 -08:00
Frank Halasz
e292ff99db Fixing up confusion between Docker username and Docker namespaces. Hopefully will fix docker login issues with buildDocker workflow. (#677) 2022-02-12 17:31:43 -08:00
Arun Welch
615885a0fa New version of IRM (#665)
* New version of IRM

New version of the IRM, updated to Medley.

* moved to docs/medley-irm as discussed
2022-02-12 14:05:10 -08:00
Frank Halasz
b2315a9b10 Fgh002.1: Workflow to test Docker Hub Login in this repo (#675)
* Complete revamp of the buildRelease and buildDocker workflows for Medley.  Also adding the buildReleaseInclDocker composite workflow.

* Add testLogin workflow to test Docker Hub login.
2022-02-12 09:40:01 -08:00
Frank Halasz
9dc01167c3 Complete revamp of the buildRelease and buildDocker workflows for Medley. Also adding the buildReleaseInclDocker composite workflow. (#674) 2022-02-11 21:27:28 -08:00
Larry Masinter
ca33b92033 Update README.md 2022-02-06 17:57:05 -08:00
3516 changed files with 361995 additions and 156727 deletions

View File

@@ -1,112 +1,245 @@
# based on https://blog.oddbit.com/post/2020-09-25-building-multi-architecture-im/
---
# Interlisp workflow to build Docker Image that support multiple architectures
name: Build Medley Docker image
#*******************************************************************************
# buidDocker.yml
#
# Workflow to build and push a multiplatform (amd64, arm64 & arm7) Linux Docker
# image for Medley. This workflow uses the latest Maiko docker image and the
# latest Medley release on github.
#
# This workflow contains a sentry that causes it to skip the build (as identified
# by its commit SHA) if its already been done. Setting the "force" input to true
# will bypass this sentry,
#
# Updated 2022-01-18 by Frank Halasz from on earlier buildDocker.yml
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
# Run this workflow on demand
name: 'Build/Push Docker Image'
# Run this workflow on ...
on:
workflow_dispatch:
force:
description: "Force build even if build already successfully completed for this commit"
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley docker build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
defaults:
run:
shell: bash
# Jobs that compose this workflow
jobs:
# Job to build the docker image
docker:
######################################################################################
# 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-latest
outputs:
force: ${{ steps.force.outputs.force }}
steps:
# Checkout the branch
- name: Checkout
- id: force
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then echo ::set-output name=force::'${{ github.event.inputs.force }}'; echo "workflow_dispatch";
else echo ::set-output name=force::'${{ inputs.force }}'; echo "workflow_call";
fi
######################################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Check if build already run for this commit
- name: Build already completed?
id: check
continue-on-error: true
uses: ./../actions/check-sentry-action
with:
tag: "docker"
######################################################################################
#
# Build and push the medley docker image
#
build_and-push:
runs-on: ubuntu-latest
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v2
# Get the Medley Release Information
- name: Get Medley Release Information
id: medley_version
uses: abatilo/release-info-action@v1.3.0
with:
owner: Interlisp
repo: medley
# Get the Maiko Release Information
- name: Get Maiko Release Information
id: maiko_version
uses: abatilo/release-info-action@v1.3.0
with:
owner: Interlisp
repo: maiko
# Setup needed environment variables
- name: Prepare
id: prep
# Set repo env variables
- name: Set repo/docker env variables
id: repo_env
run: |
DOCKERHUB_ACCOUNT=interlisp
DOCKER_IMAGE=${DOCKERHUB_ACCOUNT}/${GITHUB_REPOSITORY#*/}
VERSION=latest
MAIKO_RELEASE=${{ steps.maiko_version.outputs.latest_tag }}
MEDLEY_RELEASE=${{ steps.medley_version.outputs.latest_tag }}
REPO_NAME=${GITHUB_REPOSITORY#*/}
echo "REPO_NAME=${REPO_NAME}" >> ${GITHUB_ENV}
echo ::set-output name=repo_name::${REPO_NAME}
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
echo "DOCKER_NAMESPACE=${DOCKER_NAMESPACE}" >> ${GITHUB_ENV}
echo ::set-output name=docker_namespace::${DOCKER_NAMESPACE}
TAGS="${DOCKER_IMAGE}:${MEDLEY_RELEASE},${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${MAIKO_RELEASE}"
# Get tag of latest Medley release.
- name: Get Medley Release Information
id: release_info
uses: abatilo/release-info-action@v1.3.0
with:
owner: ${{ github.repository_owner }}
repo: medley
# Set output parameters.
echo ::set-output name=tags::${TAGS}
# Get asset tars from latest Medley release
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: ${{ github.repository_owner }}/medley
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "*"
out-file-path: "release_tars"
# Get Maiko release information about latest Maiko Docker Image
- name: Get info from latest Maiko image
id: maiko_setup
run: |
docker pull ${DOCKER_NAMESPACE}/maiko:latest
MAIKO_RELEASE=$(docker run --entrypoint /bin/bash ${DOCKER_NAMESPACE}/maiko:latest -c "echo \${MAIKO_RELEASE}")
echo "MAIKO_RELEASE=${MAIKO_RELEASE}" >> ${GITHUB_ENV}
echo ::set-output name=maiko_release::${MAIKO_RELEASE}
# Setup environment variables
- name: Setup Environment Variables
id: setup_env
run: |
RELEASE_TAG=${{ steps.release_info.outputs.latest_tag }}
DOCKER_IMAGE=${DOCKER_NAMESPACE}/${REPO_NAME}
DOCKER_TAGS="${DOCKER_IMAGE}:latest,${DOCKER_IMAGE}:${RELEASE_TAG#*-}_${MAIKO_RELEASE#*-}"
echo ::set-output name=docker_tags::${DOCKER_TAGS}
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo ::set-output name=version::${VERSION}
echo ::set-output name=maiko_release::${MAIKO_RELEASE}
echo ::set-output name=medley_release::${MEDLEY_RELEASE}
echo ::set-output name=release_tag::${RELEASE_TAG}
echo "release_tag=${RELEASE_TAG}" >> ${GITHUB_ENV}
# Download Medley Release Assets
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: Interlisp/medley
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "*"
# Download Maiko Release Assets
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: Interlisp/maiko
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "*"
# Setup Docker Machine Emulation environment
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Setup Docker Buildx function
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
# Login to DockerHub - required to store the image
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Start the Docker Build using the Dockerfilein the repository
- name: Build
# Do the Docker Build using the Dockerfile in the repository
# 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@v2
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
# Platforms
# linux/amd64 -- Standard x86_64
# linux/arm64 -- Apple M1
# linux/arm/v7 -- Raspberry pi
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Push the created image
push: true
# tags to assign to the Docker image
tags: ${{ steps.prep.outputs.tags }}
build-args: |
medley_release=${{steps.prep.outputs.medley_release}}
maiko_release=${{steps.prep.outputs.maiko_release}}
build_date=${{steps.prep.outputs.build_time}}
BUILD_DATE=${{ steps.setup_env.outputs.build_time }}
RELEASE_TAG=${{ steps.setup_env.outputs.release_tag }}
MAIKO_RELEASE=${{ steps.setup_env.outputs.maiko_release }}
DOCKER_NAMESPACE=${{ steps.repo_env.outputs.docker_namespace }}
REPO_OWNER=${{ github.repository_owner }}
context: ./release_tars
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Push the result to DockerHub
push: true
tags: ${{ steps.setup_env.outputs.docker_tags }}
######################################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [inputs, sentry, build_and-push]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Set sentry
- name: Set flag that build for this commit has been completed
id: set
uses: ./../actions/set-sentry-action
with:
tag: "docker"
- name: Output
id: output
run: |
echo ::set-output name=build_successful::'true'
######################################################################################

View File

@@ -1,46 +1,150 @@
# Interlisp workflow to build Medley release
name: Build Medley Release
#*******************************************************************************
# buidLoadup.yml
#
# Interlisp workflow to build Medley release and push it to github. This workflow
# is platform independent - but runs on Linux/amd64.
#
# This workflow contains a sentry that causes it to skip the build (as identified
# by its commit SHA) if its already been done. Setting the "force" input to true
# will bypass this sentry,
#
# 2022-01-17 Frank Halasz based on an earlier version of buildLoadup for Medley.
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
# Run this workflow on push to master
name: Build/Push Medley Release
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
tag:
description: 'Release Tag'
force:
description: "Force build even if build already successfully completed for this commit"
type: choice
options:
- 'false'
- 'true'
# Jobs that compose this workflow
workflow_call:
outputs:
successful:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
defaults:
run:
shell: bash
jobs:
# Build Loadup
loadup:
######################################################################################
# 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-latest
outputs:
force: ${{ steps.force.outputs.force }}
steps:
- name: Set release tag if currently undefined
if: ${{ github.event.inputs.tag == null }}
run: |
echo "tag=medley-`date +%y%m%d`" >> $GITHUB_ENV
- id: force
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then echo ::set-output name=force::'${{ github.event.inputs.force }}'; echo "workflow_dispatch";
else echo ::set-output name=force::'${{ inputs.force }}'; echo "workflow_call";
fi
- name: Set release tag to input value
if: ${{ github.event.inputs.tag != null }}
run: |
echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
######################################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Check if build already run for this commit
- name: Build already completed?
id: check
continue-on-error: true
uses: ./../actions/check-sentry-action
with:
tag: "loadup"
######################################################################################
# Do the loadup
#
loadup:
runs-on: ubuntu-latest
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v2
# Setup release tag
- name: Setup Release Tag
id: tag
uses: ./../actions/release-tag-action
# Setup environment variables
- name: Setup Environment Variables
id: setup_env
run: |
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
# Get Maiko release information, retrieves the name of the latest
# release. Used to download the correct Maiko release
- name: Get Maiko Release Information
id: latest_version
uses: abatilo/release-info-action@v1.3.0
with:
owner: Interlisp
owner: ${{ github.repository_owner }}
repo: maiko
# Download Maiko Release Assets
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: Interlisp/maiko
repository: ${{ github.repository_owner }}/maiko
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "${{ steps.latest_version.outputs.latest_tag }}-linux.x86_64.tgz"
@@ -49,7 +153,7 @@ jobs:
run: |
tar -xvzf "${{ steps.latest_version.outputs.latest_tag }}-linux.x86_64.tgz"
- name: install vnc
- name: Install vnc
run: sudo apt-get update && sudo apt-get install -y tightvncserver
- name: Build Loadout
@@ -59,48 +163,91 @@ jobs:
PATH="$PWD/maiko:$PATH"
scripts/loadup-all.sh
- name: Build release tar get libs
- name: Build loadups release tar
run: |
cp -p tmp/full.sysout tmp/lisp.sysout tmp/*.dribble tmp/whereis.hash loadups/
cp -p tmp/exports.all tmp/RDSYS tmp/RDSYS.LCOM library/
cp -p tmp/full.sysout tmp/lisp.sysout tmp/whereis.hash loadups/
cp -p tmp/exports.all library/
cd ..
tar cfz medley/tmp/$tag-loadups.tgz \
tar cfz medley/tmp/${release_tag}-loadups.tgz \
medley/loadups/lisp.sysout \
medley/loadups/full.sysout \
medley/loadups/whereis.hash \
medley/library/exports.all \
medley/library/RDSYS/ \
medley/library/RDSYS.LCOM
medley/library/exports.all
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
- name: tar part 2
- name: Build runtime release tar
run: |
cd ..
tar cfz medley/tmp/$tag-runtime.tgz \
tar cfz medley/tmp/${release_tag}-runtime.tgz \
--exclude "*~" --exclude "*#*" \
--exclude exports.all \
medley/docs/dinfo \
medley/docs/Documentation\ Tools \
medley/doctools \
medley/greetfiles \
medley/rooms \
medley/run-medley \
medley/scripts \
medley/fonts/displayfonts \
medley/fonts/altofonts \
medley/fonts/adobe \
medley/fonts/postscriptfonts \
medley/library/ \
medley/lispusers/ \
medley/fonts/big \
medley/fonts/other \
medley/sources/ \
medley/internal/library
medley/library \
medley/lispusers \
medley/sources \
medley/internal
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
- name: Release notes
run: |
sed s/'$tag'/$tag/g < release-notes.md > tmp/release-notes.md
sed s/'$tag'/${{ steps.tag.outputs.release_tag }}/g < release-notes.md > tmp/release-notes.md
- name: push the release
- name: Push the release
uses: ncipollo/release-action@v1.8.10
with:
artifacts: tmp/${{ env.tag }}-loadups.tgz,tmp/${{ env.tag }}-runtime.tgz
tag: ${{ env.tag }}
artifacts: tmp/${{ env.release_tag }}-loadups.tgz,tmp/${{ env.release_tag }}-runtime.tgz
tag: ${{ env.release_tag }}
draft: true
bodyfile: tmp/release-notes.md
token: ${{ secrets.GITHUB_TOKEN }}
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
######################################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [inputs, sentry, loadup]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Set sentry
- name: Set flag that build for this commit has been completed
id: set
uses: ./../actions/set-sentry-action
with:
tag: "loadup"
- name: Output
id: output
run: |
echo ::set-output name=build_successful::'true'
######################################################################################

View File

@@ -0,0 +1,36 @@
#*******************************************************************************
# buidReleaseInclDocker.yml
#
# Interlisp webflow to build a Medley release and push it to github.
# And to build a multiplatform Docker image for the release and push it to Docker Hub.
#
# This workflow just calls two reuseable workflows to the two task:
# buildLoadup.yml and buildDocker.yml
#
# 2022-01-18 Frank Halasz
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
name: "Build/Push Release & Docker"
# Run this workflow on ...
on:
workflow_dispatch:
# Jobs that compose this workflow
jobs:
# Build Loadup
do_release:
uses: ./.github/workflows/buildLoadup.yml
# Build Docker Image
do_docker:
needs: do_release
uses: ./.github/workflows/buildDocker.yml
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

23
.github/workflows/testLogin.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: 'Test Docker Login'
# Run this workflow on ...
on:
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
login_test:
runs-on: ubuntu-latest
steps:
- id: only_step
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -1,25 +1,54 @@
FROM ubuntu:focal
ARG build_date
ARG medley_release
ARG maiko_release
LABEL name="Medley"
# LABEL tags=${tags}
LABEL description="The Medley Interlisp environment"
LABEL url="https://github.com/Interlisp/medley"
LABEL build-time=$build_date
ENV BUILD_DATE=$build_date
ENV MEDLEY_RELEASE=$medley_release
ENV MAIKO_RELEASE=$maiko_release
#*******************************************************************************
#
# Dockerfile to build Medley image from latest Maiko image
# plus latest release tars from github
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
ARG DOCKER_NAMESPACE=interlisp
FROM ${DOCKER_NAMESPACE}/maiko:latest
# Add tightvnc server to the image
RUN apt-get update && apt-get install -y tightvncserver
# Handle ARGs, ENV variables, and LABELs
ARG BUILD_DATE=unknown
ARG RELEASE_TAG=unknown
ARG MAIKO_RELEASE=unknown
ARG REPO_OWNER=Interlisp
LABEL name="Medley"
LABEL description="The Medley Interlisp environment"
LABEL url="https://github.com/${REPO_OWNER}/medley"
LABEL build-time=$BUILD_DATE
LABEL release_tag=$RELEASE_TAG
LABEL maiko_release=$MAIKO_RELEASE
ENV MEDLEY_BUILD_DATE=$BUILD_DATE
ENV MEDLEY_RELEASE=$RELEASE_TAG
ARG INSTALL_LOCATION=/usr/local/interlisp
ENV INSTALL_LOCATION=${INSTALL_LOCATION}
ARG DOCKER_NAMESPACE=interlisp
ENV DOCKER_NAMESPACE=${DOCKER_NAMESPACE}
# Copy over the release tars
RUN mkdir -p ${INSTALL_LOCATION}
ADD ./*.tgz ${INSTALL_LOCATION}
# Create a run_medley script in /usr/local/bin
RUN mkdir -p /usr/local/bin && \
echo "#!/bin/bash" > /usr/local/bin/run-medley && \
echo "cd ${INSTALL_LOCATION}" >> /usr/local/bin/run-medley && \
echo './run-medley "$@"' >> /usr/local/bin/run-medley && \
chmod ugo+x /usr/local/bin/run-medley
# "Finalize" image
EXPOSE 5900
# Copy and uncompress loadup and required source files.
ADD *.tgz /home
WORKDIR /home/medley
RUN adduser --disabled-password --gecos "" medley
USER medley
ENTRYPOINT USER=medley Xvnc -geometry 1280x720 :0 & DISPLAY=:0 PATH="/app/maiko:$PATH" ./run-medley -full -g 1280x720 -sc 1280x720
WORKDIR /home/medley
ENTRYPOINT USER=medley Xvnc -geometry 1280x720 :0 & DISPLAY=:0 ${INSTALL_LOCATION}/medley/run-medley -full -g 1280x720 -sc 1280x720

View File

@@ -2,32 +2,32 @@
This repository is for the Lisp environment of [Medley Interlisp](https://Interlisp.org).
See the [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview and pointers to available documentation.
See the [Documentation links](https://github.com/Interlisp/medley/wiki/Documentation) for an overview and pointers to documentation.
In particular [Running](https://github.com/Interlisp/medley/wiki/Running) explains other methods of getting Medley Interlisp.
A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine.
[Interlisp/maiko](https://github.com/Interlisp/maiko), is the repo for the implementation (in C) of the Medley virtual machine.
## Using releases
There currently are separate releases of medley and maiko; get the latest version of each.
There (soon) will also be Docker containers with the latest, and a way to try out Medley in the cloud (without installing).
### Getting releases
Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). You'll need the one corresponding to your operating system and processor (for Windows with WSL or Intel Linux, use `linux.x86_64`; for Macs use `darwin.x86_64` for Intel and `darwin.aarch64` for M1.)
Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). You'll need the .tgz file corresponding to your operating system and processor (for Windows with WSL or Intel Linux, use `linux.x86_64`; for Macs use `darwin.x86_64` for Intel and `darwin.aarch64` for M1.)
Or, build your own maiko (the binaries `lde` `ldex` and `ldeinit`.) We can build for other OS arch pairs depending on what is available for GitHub actions.
Or, build your own maiko (the binaries `lde` `ldex` and `ldeinit`) We can build for other OS arch pairs depending on what is available for GitHub actions.
The medley release comes in two parts, found [here](https://github.com/Interlisp/medley/releases)
1. The "loadups" (download `medley-`YYMMDD`-loadups.tgz`)
2. The "runtime" (download `medley-`YYMMDD`-runtime.tgz`)
You don't need the "runtime" if you've cloned this (medley) repo.
You don't need the "runtime" if you've cloned this (medley) repo, but you'll still need the "loadups" release.
If you happen to have the 'gh' GitHub command line installed you can download both using
```
gh release download -R Interlisp/medley -p "*"
```
but otherwise just click on the link(s) to the parts you need.
but otherwise just click on the link(s) below to the parts you need.
### Unpacking releases
@@ -113,12 +113,7 @@ you can continue right where you left off.
File Names and Extensions: Most Interlisp source file names are
UPPERCASE and Interlisp didn't use file extensions for its source
files. A .TEDIT or .TXT file is probably documentation
for the package of same name, at least in the library,
internal/library, lispusers.
for the package of same name, at least in the library, lispusers.
The current repo has both Lisp sources and compiled .LCOM and .DFASL
files.
@@ -129,15 +124,15 @@ Each directory should have a README.md, but briefly
* clos -- early implementation of Common Lisp Object System
* CLTL2 -- files submitted to bring Medley up to the conformance to "Common Lisp, the Language" 2nd edition. Not enough to conform to the ANSII standard lisp.
* Dockerfile -- used when building Docker containers with Medley
* docs -- Documentation files (either PDFs or online help; see medley/wiki)
* docs -- Documentation files (in TEdit format PDFs or online help; look [here](https://github.com/Interlisp/medley/Documentation)
* fonts -- raster fonts (or font widths) in various resolutions for display, postscript, interpress, press formats
* greetfiles -- various configuration setups
* internal -- These _were_ internal to Venue; now internal/library and internal/test
* internal -- These _were_ internal to Venue
* library -- packages that were supported (30 years ago)
* lispusers -- User contributed packages that were only half supported (ditto)
* loadups -- has sysouts and other builds plus a few remnants
* obsolete -- files we should remove from the repo
* rooms -- implementation of ROOMS window / desktop manager
* rooms -- implementation of ROOMS window/desktop manager
* run-medley -- script to enhance the options of running medley
* scripts -- some scripts for fixing up things
* sources -- sources for Interlisp and Common Lisp implementations

View File

@@ -1,2 +0,0 @@
(ASDF NIL NIL NIL ("1") 1)
(ASDF NIL NIL NIL ("A") 2)

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

1822
docs/medley-irm/003-TOC.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

1676
docs/medley-irm/01-INTRO.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

10439
docs/medley-irm/03-lists.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

1222
docs/medley-irm/05-ARRAY.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

8726
docs/medley-irm/12-MISC.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

11885
docs/medley-irm/14-ERRORS.pdf Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

28838
docs/medley-irm/16-SEDIT.pdf Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

11689
docs/medley-irm/19-DWIM.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

13584
docs/medley-irm/20-CLISP.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

14529
docs/medley-irm/23-STREAMS.pdf Normal file

File diff suppressed because it is too large Load Diff

141
docs/medley-irm/24-IO.TEDIT Normal file

File diff suppressed because one or more lines are too long

19565
docs/medley-irm/24-IO.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

27263
docs/medley-irm/27-WINDOWS.pdf Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

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