# 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/ cd .. tar cfz medley/tmp/$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 - name: tar part 2 run: | cd .. tar cfz medley/tmp/$tag-runtime.tgz \ --exclude "*~" --exclude "*#*" \ medley/docs/dinfo \ medley/docs/Documentation\ Tools \ medley/greetfiles/SIMPLE-INIT \ medley/run-medley \ medley/scripts \ medley/fonts/displayfonts \ medley/fonts/altofonts \ medley/fonts/postscriptfonts \ medley/library/ \ medley/lispusers/ \ medley/fonts/big \ medley/fonts/other \ medley/sources/ \ medley/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 }}