Binaries MacOS-12,13,14 (macos-gcc) #57
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-* |