Skip to content

Binaries MacOS-12,13,14 (macos-gcc) #57

Binaries MacOS-12,13,14 (macos-gcc)

Binaries MacOS-12,13,14 (macos-gcc) #57

name: Binaries MacOS-12,13,14 (macos-gcc)
on:
workflow_dispatch:
branches: [ master ]
permissions:
contents: read
env:
VERSION: "091224b1"
OS: "macos-12"
jobs:
build:
strategy:
matrix:
os: [macos-12, macos-13, macos-14] # Specify the MacOS version
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies on MacOS and compile and produce BFS exes and standalone ME application
run: |
echo `uname -a`
uname -r
brew install xquartz
brew install make
brew install coreutils
if [[ "${{ matrix.os }}" == "macos-12" ]]; then
export PATH=/usr/local/opt/make/libexec/gnubin/:$PATH
export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
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
echo "GCC=gcc-12" >> $GITHUB_ENV
elif [[ "${{ matrix.os }}" == "macos-13" ]]; then
export PATH=/usr/local/opt/make/libexec/gnubin/:$PATH
export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
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
echo "GCC=gcc-12" >> $GITHUB_ENV
elif [[ "${{ matrix.os }}" == "macos-14" ]]; then
export PATH=/opt/homebrew/opt/make/libexec/gnubin:$PATH
export PATH=/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH
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
echo "GCC=gcc-14" >> $GITHUB_ENV
fi
- name: make bfs binary
run: make -f macos32gcc.gmk bfs/bin CC=${GCC}
- name: make mec binary
run: make -f macos32gcc.gmk mec CC=${GCC}
- name: make mew binary
run: make -f macos32gcc.gmk mew CC=${GCC}
- name: make mecw binary
run: make -f macos32gcc.gmk mecw CC=${GCC}
- name: make mecb binary
run: make -f macos32gcc.gmk mecb CC=${GCC} VERSION=${VRS}
- name: make mewb binary
run: make -f macos32gcc.gmk mewb CC=${GCC} VERSION=${VRS}
- name: make mecwb binary
run: make -f macos32gcc.gmk mecwb CC=${GCC} VERSION=${VRS}
- name: make brew package
run: |
make -f macos32gcc.gmk brew CC=${GCC} VERSION=${VRS}
rm -rf brew-*/
- name: Make release
run: |
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}/bin
cp bfs/bfs MicroEmacs09-${VRS}-${{ matrix.os }}/bin/
cp src/.macos32gcc-release-mecw/mecw MicroEmacs09-${VRS}-${{ matrix.os }}/bin/
cp src/.macos32gcc-release-mec/mec MicroEmacs09-${VRS}-${{ matrix.os }}/bin/
cp src/.macos32gcc-release-mew/mew MicroEmacs09-${VRS}-${{ matrix.os }}/bin/
cp macos-*-me*.bin MicroEmacs09-${VRS}-${{ matrix.os }}/bin/
cp license.txt MicroEmacs09-${VRS}-${{ matrix.os }}/
cp COPYING MicroEmacs09-${VRS}-${{ matrix.os }}/
cp README-standalone.md MicroEmacs09-${VRS}-${{ matrix.os }}/
cd jasspa
zip macros.zip macros/*
cd ..
cp jasspa/macros.zip MicroEmacs09-${VRS}-${{ matrix.os }}/
- name: Make mecb release
run: |
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mecb
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/bin
cp bfs/bfs MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/bin/
cp macos-*-mecb.bin MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/bin/
cp license.txt MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/
cp COPYING MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/
cp README-standalone.md MicroEmacs09-${VRS}-${{ matrix.os }}-mecb/
- name: Make mewb release
run: |
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mewb
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/bin
cp bfs/bfs MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/bin/
cp macos-*-mewb.bin MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/bin/
cp license.txt MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/
cp COPYING MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/
cp README-standalone.md MicroEmacs09-${VRS}-${{ matrix.os }}-mewb/
- name: Make mecwb release
run: |
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb
mkdir MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/bin
cp bfs/bfs MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/bin/
cp macos-*-mecwb.bin MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/bin/
cp license.txt MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/
cp COPYING MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/
cp README-standalone.md MicroEmacs09-${VRS}-${{ matrix.os }}-mecwb/
- name: Upload MacOS Release files
uses: actions/upload-artifact@v4
with:
name: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}
path: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}
- name: Upload MacOS mecb Release files
uses: actions/upload-artifact@v4
with:
name: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mecb
path: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mecb
- name: Upload MacOS mewb Release files
uses: actions/upload-artifact@v4
with:
name: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mewb
path: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mewb
- name: Upload MacOS mecwb Release files
uses: actions/upload-artifact@v4
with:
name: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mecwb
path: MicroEmacs09-${{ env.VRS }}-${{ matrix.os }}-mecwb
- name: Combined Release
run: |
make -f macos32gcc.gmk release app=mecb VERSION=${VRS}
make -f macos32gcc.gmk release app=mewb VERSION=${VRS}
make -f macos32gcc.gmk release app=mecwb VERSION=${VRS}
- name: Upload Macos Combined Release
uses: actions/upload-artifact@v4
with:
name: Release-${{ matrix.os }}
path: macos-*/
- name: Upload Brew Package
uses: actions/upload-artifact@v4
with:
name: brew-${{ matrix.os }}
path: brew-*