-
-
Notifications
You must be signed in to change notification settings - Fork 189
65 lines (56 loc) · 1.82 KB
/
emacs-29.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
name: Emacs 29
on:
push:
branches:
- master
paths:
- "Formula/emacs-plus@29.rb"
- "patches/emacs-29/**"
- "Library/**"
- ".github/workflows/emacs-29.yml"
pull_request:
paths:
- "Formula/emacs-plus@29.rb"
- "patches/emacs-29/**"
- "Library/**"
- ".github/workflows/emacs-29.yml"
schedule:
- cron: "30 2 * * *"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-13]
build_opts:
- ""
- "--with-xwidgets"
- "--with-native-comp"
- "--with-x11"
env:
HOMEBREW_EMACS_PLUS_MODE: local
steps:
- uses: actions/checkout@v4
- name: Install xquartz
if: contains(matrix.build_opts, '--with-x11')
run: brew install --cask xquartz
- name: Build emacs-plus@29 ${{ matrix.build_opts }}
run: brew install ./Formula/emacs-plus@29.rb ${{ matrix.build_opts }} --verbose
- name: Test installation
run: $(brew --prefix)/bin/emacs --batch --eval='(print (+ 2 2))'
- name: Pack up build logs
if: ${{ always() }}
run: |
BUILD_OPTS=$(echo "${{ matrix.build_opts }}" | sed 's/ //')
echo "build_opts=$BUILD_OPTS" >> "$GITHUB_ENV"
RUNNER_OS=$(echo "${{ matrix.os }}" | sed 's/ //')
echo "runner_os=$RUNNER_OS" >> "$GITHUB_ENV"
tar -C ~/Library/Logs/Homebrew/emacs-plus@29/ -czvf ~/Library/Logs/Homebrew/emacs-plus@29-$RUNNER_OS$BUILD_OPTS.tar.gz .
- name: Upload logs
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: emacs-plus@29-${{ env.runner_os }}${{ env.build_opts }}.tar.gz
path: |
~/Library/Logs/Homebrew/emacs-plus@29-${{ env.runner_os }}${{ env.build_opts }}.tar.gz