-
Notifications
You must be signed in to change notification settings - Fork 1
161 lines (139 loc) · 6.55 KB
/
binaries-macos32gcc.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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-*