1
0
mirror of synced 2026-05-21 12:59:10 +00:00

Compare commits

..

15 Commits

Author SHA1 Message Date
Frank Halasz
7143fb6a86 Debugging call to online deploy 2026-03-20 22:30:37 -07:00
Frank Halasz
c00b9eed0a fix typo in buildDocker.yml 2026-03-20 19:10:34 -07:00
Frank Halasz
6d453b0a33 Change cb80/delrel@latest action over to equivalent gh cli call due to node 20 deprecation. Fix code to delete placeholder text in setting up downloads page. Both in buildLoadup.yml. 2026-03-20 17:54:06 -07:00
Frank Halasz
d8dabcabee in linux and macos jobs in buildLoadup, ensure that github_rease_tag in in the GITHUB_ENV. In buildReleaseInclDocker.yml fix typo in if: clause of deploy online job. 2026-03-20 17:09:11 -07:00
Frank Halasz
8091668506 Fix error in outputs clause in first job in buildMedleyinclDocker.yml 2026-03-20 16:32:01 -07:00
Frank Halasz
b76288a071 Fix error in creation of GITHUB_RELEASE_TAG in buildLoadup.yml 2026-03-20 16:09:17 -07:00
Frank Halasz
f1e75df438 Fix version# on github action ncipollo/release-action 2026-03-20 00:30:07 -07:00
Frank Halasz
183e96319e Fix version# on github action ncipollo/release-action 2026-03-20 00:08:23 -07:00
Frank Halasz
63e2461234 Fix spacing error is several workflow files 2026-03-19 22:57:16 -07:00
Frank Halasz
3779f392c6 Add inputs to all workflow that allow to use a specific maiko release. Add input to workflows that allow to use a specific medley release - e.g., for building a Medley docker image 2026-03-19 22:38:29 -07:00
Frank Halasz
fd5b5ef8f0 WIP. Adding the ability to add a specific Maiko build version when when building Medley in Github workflows 2026-03-08 22:40:40 -07:00
Frank Halasz
e66b434f98 buildLoadup Remove spaces from input Maiko release tag 2026-03-01 23:03:00 -08:00
Frank Halasz
d90358f410 Try again to fix handling of bad maiko tag 2026-03-01 21:40:29 -08:00
Frank Halasz
dd793d9b3b buildLoadup.yml Handle case better when given bad Maiko release tag 2026-03-01 21:31:09 -08:00
Frank Halasz
dc26dd8dd9 i buildLoadp.yml enabeer too specify tag for maiko-release to be used. 2026-03-01 20:46:16 -08:00
1455 changed files with 122792 additions and 27150 deletions

View File

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

View File

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

View File

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

View File

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

9
.gitignore vendored
View File

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

View 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