From bf5689be2a58f13df99947e248faeb12d6d12046 Mon Sep 17 00:00:00 2001 From: Bill Stumbo Date: Thu, 21 Oct 2021 13:00:28 -0400 Subject: [PATCH] Build loadup (#534) * Add new GitHub action to create medley release * Update to manual trigger with release name as input * Build loadup (#1) * Add new GitHub action to create medley release * Update to manual trigger with release name as input * Cleanup * Build loadup (#2) * Add new GitHub action to create medley release * Update to manual trigger with release name as input * Cleanup * Cleanup * Build loadup (#3) * Add new GitHub action to create medley release * Update to manual trigger with release name as input * Cleanup * Cleanup * Move sysouts to correct location * Build loadup (#4) * Add new GitHub action to create medley release * Update to manual trigger with release name as input * Cleanup * Cleanup --- .../workflows/{build.yml => buildDocker.yml} | 2 +- .github/workflows/buildLoadup.yml | 91 +++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) rename .github/workflows/{build.yml => buildDocker.yml} (97%) create mode 100644 .github/workflows/buildLoadup.yml diff --git a/.github/workflows/build.yml b/.github/workflows/buildDocker.yml similarity index 97% rename from .github/workflows/build.yml rename to .github/workflows/buildDocker.yml index 8575d0ff..4b6e6f1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/buildDocker.yml @@ -1,7 +1,7 @@ # 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' +name: Build Medley Docker image # Run this workflow on push to master on: diff --git a/.github/workflows/buildLoadup.yml b/.github/workflows/buildLoadup.yml new file mode 100644 index 00000000..93701476 --- /dev/null +++ b/.github/workflows/buildLoadup.yml @@ -0,0 +1,91 @@ +# Interlisp workflow to build Medley release +name: Build Medley Release + +# Run this workflow on push to master +on: + workflow_dispatch: + inputs: + tag: + description: 'Release Tag' + +# Jobs that compose this workflow +jobs: + # Build Loadup + loadup: + runs-on: ubuntu-latest + steps: + - name: Set release tag if currently undefined + if: ${{ github.event.inputs.tag == null }} + run: | + echo "tag=medley-`date +%y%m%d`" >> $GITHUB_ENV + + - name: Set release tag to input value + if: ${{ github.event.inputs.tag != null }} + run: | + echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_ENV + + - name: Checkout Medley + uses: actions/checkout@v2 + + - name: Get the latest Maiko Release + uses: actions/checkout@v2 + with: + repository: interlisp/maiko + path: maiko + + - name: install compiler + run: sudo apt-get update && sudo apt-get install -y make clang libx11-dev gcc x11vnc xvfb + + - name: install vnc + run: sudo apt-get install -y tightvncserver + + - name: Compile Maiko + working-directory: maiko/bin + run: ./makeright x && ./makeright init + + - name: Build Loadout + run: pwd && Xvnc -once -geometry 1280x720 :0 & DISPLAY=:0 PATH="/maiko:$PATH" scripts/loadup-all.sh + + - name: Build release tar get libs + 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/ + tar cfz tmp/$tag-loadups.tgz \ + loadups/lisp.sysout \ + loadups/full.sysout \ + loadups/whereis.hash \ + library/exports.all \ + library/RDSYS/ \ + library/RDSYS.LCOM + + - name: tar part 2 + run: | + tar cfz tmp/$tag-runtime.tgz \ + --exclude "*~" --exclude "*#*" \ + docs/dinfo \ + docs/Documentation\ Tools \ + greetfiles/SIMPLE-INIT \ + run-medley \ + scripts \ + fonts/displayfonts \ + fonts/altofonts \ + fonts/postscriptfonts \ + library/ \ + lispusers/ \ + fonts/big \ + fonts/other \ + sources/ \ + internal/library + + - name: Release notes + run: | + sed s/'$tag'/$tag/g < release-notes.md > tmp/release-notes.md && + ls tmp && env + + - 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 }} + bodyfile: tmp/release-notes.md + token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file