Skip to content

Binaries Ubuntu 20,22,24 (linux-gcc) #65

Binaries Ubuntu 20,22,24 (linux-gcc)

Binaries Ubuntu 20,22,24 (linux-gcc) #65

name: Binaries Ubuntu 20,22,24 (linux-gcc)
on:
workflow_dispatch:
branches: [ master, dev ]
env:
VERSION: "091224b2"
jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] # Specify the Ubuntu version
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: developer library installs
run: |
sudo apt install build-essential
#sudo apt install desktop-file-utils
sudo apt install libxt-dev
export VRS=`grep -E 'meYEAR|meMONTH|meDAY' src/evers.h | head -n 3 | awk '{ print $3 }' | paste -sd '-' | sed 's/[-"]//g'`
echo "VRS=$VRS" >> $GITHUB_ENV
- name: Extract branch name
run: echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
- name: make bfs binary
run: make -f linux32gcc.gmk bfs/bin
- name: make mec binary
run: make -f linux32gcc.gmk mec
- name: make mew binary
run: make -f linux32gcc.gmk mew
- name: make mecw binary
run: make -f linux32gcc.gmk mecw
- name: make mecb binary
run: |
make -f linux32gcc.gmk mecb
- name: make mewb binary
run: make -f linux32gcc.gmk mewb
- name: make mecwb binary
run: make -f linux32gcc.gmk mecwb
- name: make brew package
run: |
make -f linux32gcc.gmk brew
rm -rf brew-*/
- name: Make release
run: |
export MEPATH=${{ matrix.os }}-MicroEmacs09-${VRS}-Linux
mkdir $MEPATH
mkdir $MEPATH/bin
mkdir -p $MEPATH/man/1
mkdir -p $MEPATH/share/jasspa
mkdir $MEPATH/share/spelling
mkdir $MEPATH/share/company
cp doc/me.1 $MEPATH/man/1/
cp bfs/bfs $MEPATH/bin/
cp src/.linux32gcc-release-mecw/mecw $MEPATH/bin/
cp src/.linux32gcc-release-mew/mew $MEPATH/bin/
cp src/.linux32gcc-release-mec/mec $MEPATH/bin/
cp linux-*me*.bin $MEPATH/bin/
cp license.txt $MEPATH/share/jasspa/
cp COPYING $MEPATH/share/jasspa/
cp README-standalone.md $MEPATH/share/jasspa/
cp -r jasspa/macros $MEPATH/share/jasspa/
echo "Documentation is in share/jasspa" > ${MEPATH}/readme.txt
- name: Make mecb release
run: |
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin
cp bfs/bfs ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/
cp linux-*mecb.bin ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/
cp bin/mecu ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/
chmod 755 ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/mecu
cp license.txt ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/
cp COPYING ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/
cp README-standalone.md ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/
- name: Make mewb release
run: |
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/bin
cp bfs/bfs ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/bin/
cp linux-*mewb.bin ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/bin/
cp license.txt ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/
cp COPYING ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/
cp README-standalone.md ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mewb/
- name: Make mecwb release
run: |
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb
mkdir ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/bin
cp bfs/bfs ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/bin/
cp linux-*mecwb.bin ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/bin/
cp bin/mecu ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/
sed -i -E 's/mecb/mecwb -n/' ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecb/bin/mecu
cp license.txt ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/
cp COPYING ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/
cp README-standalone.md ${{ matrix.os }}-MicroEmacs09-${VRS}-Linux-mecwb/
- name: Upload Ubuntu Release files
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-${{ env.BRANCH_NAME }}
path: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux
- name: Upload Ubuntu mecb Release files
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mecb-${{ env.BRANCH_NAME }}
path: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mecb
- name: Upload Ubuntu mewb Release files
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mewb-${{ env.BRANCH_NAME }}
path: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mewb
- name: Upload Ubuntu mecwb Release files
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mecwb-${{ env.BRANCH_NAME }}
path: ${{ matrix.os }}-MicroEmacs09-${{ env.VRS }}-Linux-mecwb
- name: Combined Release
run: |
make -f linux32gcc.gmk release app=mecb
make -f linux32gcc.gmk release app=mewb
make -f linux32gcc.gmk release app=mecwb
export DIR=`ls linux-*-mecb.bin | sed 's/-mecb.bin//'`
echo $DIR
- name: Upload Ubuntu Combined Release
uses: actions/upload-artifact@v4
with:
name: Release-${{ matrix.os }}-${{ env.BRANCH_NAME }}
path: linux-*/
- name: Upload Brew Package
uses: actions/upload-artifact@v4
with:
name: brew-${{ matrix.os }}
path: brew-*