Compare commits
3 Commits
fgh_specif
...
rmk163--Ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70681a61a3 | ||
|
|
b3b7ee6766 | ||
|
|
e89b9ba217 |
67
.github/workflows/buildDocker.yml
vendored
67
.github/workflows/buildDocker.yml
vendored
@@ -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 }}
|
||||
|
||||
133
.github/workflows/buildLoadup.yml
vendored
133
.github/workflows/buildLoadup.yml
vendored
@@ -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 }}
|
||||
|
||||
90
.github/workflows/buildReleaseInclDocker.yml
vendored
90
.github/workflows/buildReleaseInclDocker.yml
vendored
@@ -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 }}
|
||||
|
||||
10
.github/workflows/doHCFILES.yml
vendored
10
.github/workflows/doHCFILES.yml
vendored
@@ -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
|
||||
|
||||
52
lispusers/CONVERT-TO-UTF8
Normal file
52
lispusers/CONVERT-TO-UTF8
Normal file
@@ -0,0 +1,52 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "25-Feb-2026 09:09:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;16 2573
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS CONVERT-TO-UTF8)
|
||||
|
||||
:PREVIOUS-DATE "24-Feb-2026 22:45:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;14)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT CONVERT-TO-UTF8COMS)
|
||||
|
||||
(RPAQQ CONVERT-TO-UTF8COMS ((FNS CONVERT-TO-UTF8)))
|
||||
(DEFINEQ
|
||||
|
||||
(CONVERT-TO-UTF8
|
||||
[LAMBDA (FILENAME FILETYPE) (* ; "Edited 25-Feb-2026 09:09 by rmk")
|
||||
|
||||
(* ;; "This produces a new version of the source FILENAME with :UTF-8 external format.")
|
||||
|
||||
(* ;; "If we had a list of problematic functions (multiple definitions on multiple files, MOVD's), we could check that against the functions in FILENAME, and at least produce a warning.")
|
||||
|
||||
(* ;; "Compiling may be tricky: some files have CL:COMPILE-FILE FILETYPE properties that don't correspond to the fact that they actually have only an LCOM. This tries to revert the filetype back to FAKE-COMPILE-FILE so that we don't get confused when a DFASL mysteriously appears.")
|
||||
|
||||
(SETQ FILENAME (PSEUDOFILENAME FILENAME))
|
||||
(SETQ FILENAME (OR (FINDFILE FILENAME T)
|
||||
(ERROR "FILE NOT FOUND" FILENAME)))
|
||||
(if [EQ :UTF-8 (CL:WITH-OPEN-FILE (STREAM FILENAME :DIRECTION :INPUT)
|
||||
(fetch (READER-ENVIRONMENT REFORMAT) of (GET-ENVIRONMENT-AND-FILEMAP STREAM
|
||||
T]
|
||||
then (PRINTOUT T FILENAME " is already " .P2 :UTF-8 T)
|
||||
NIL
|
||||
else (LOAD? (MEDLEYDIR "loadups" 'EXPORTS.ALL)) (* ; "Maybe this should load SYSEDIT ?")
|
||||
(LOAD FILENAME 'PROP)
|
||||
(LOADCOMP FILENAME)
|
||||
(SETQ FILENAME (PACKFILENAME 'VERSION NIL 'BODY FILENAME))
|
||||
(CL:WHEN [AND (EQ 'CL:COMPILE-FILE (GETPROP (ROOTFILENAME FILENAME)
|
||||
'FILETYPE))
|
||||
(FINDFILE (PACKFILENAME 'EXTENSION 'LCOM 'BODY FILENAME))
|
||||
(NOT (FINDFILE (PACKFILENAME 'EXTENSION 'DFASL 'BODY FILENAME]
|
||||
(CL:UNLESS FILETYPE (SETQ FILETYPE :FAKE-COMPILE-FILE))
|
||||
(PRINTOUT T "Changing FILETYPE back to " .P2 FILETYPE T)
|
||||
(PUTPROP (ROOTFILENAME FILENAME)
|
||||
'FILETYPE FILETYPE))
|
||||
[SETQ FILENAME (MAKEFILE FILENAME '(NEW :UTF-8]
|
||||
(MAKEFILE1 FILENAME NIL '(F))
|
||||
FILENAME])
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (406 2550 (CONVERT-TO-UTF8 416 . 2548)))))
|
||||
STOP
|
||||
BIN
lispusers/CONVERT-TO-UTF8.LCOM
Normal file
BIN
lispusers/CONVERT-TO-UTF8.LCOM
Normal file
Binary file not shown.
BIN
lispusers/CONVERT-TO-UTF8.TEDIT
Normal file
BIN
lispusers/CONVERT-TO-UTF8.TEDIT
Normal file
Binary file not shown.
Reference in New Issue
Block a user