Refactor spell check config and add note about install #229
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: Run setup through Emacs and see if it gives errors | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
# run every month just in case (packages may have been updated and cause errors on various variables etc.) | |
schedule: | |
- cron: '0 10 1 * *' | |
# Why have a pipeline? | |
# - To see that quick pushes don't break anything | |
# - (Older) packages might be deleted from Melpa (happened with Pretty-Lambdada), and then I can fix it before experiencing it on a new machine (which might happen much later when I'm too dependent on that package) | |
# - See that the changes will work on any machine and don't depend on local circumstances | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- uses: purcell/setup-emacs@master | |
with: | |
version: 28.1 | |
# TODO: this is ugly and only needed for vterm to succeed in the pipeline... | |
- name: Install dependency needed for some Emacs packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libtool-bin cmake | |
- name: Tangle, byte-compile (replaces old init.el) and run new setup | |
run: | | |
RUN_DATA=$(HOME=$GITHUB_WORKSPACE/.. emacs --no-window-system --batch --script init.el 2>&1 | cat) | |
echo "$RUN_DATA" | |
WARNINGS=$(echo "$RUN_DATA" | sed '{/Warning/N;s/\n//;}' | grep Warning | sed -E 's/^(.*\.el)/- \*\*\1\*\*/') | |
LOAD_ERRORS=$(echo "$RUN_DATA" | grep -E "(Cannot load)|(Not found)" | sed 's/^/- /') | |
echo -e "# Tangle and byte-compile report\n## Errors\n$LOAD_ERRORS\n## Warnings\n$WARNINGS" >> $GITHUB_STEP_SUMMARY | |
[ -z $(echo "$RUN_DATA" | grep "file-missing") ] || exit 1 | |
[ -z "$LOAD_ERRORS" ] || exit 1 | |
build-osx: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Emacs | |
run: | | |
brew install emacs libtool | |
- name: Tangle, byte-compile (replaces old init.el) and run new setup | |
# TODO: consider if this should be an action! now it it duplicated | |
run: | | |
RUN_DATA=$(HOME=$GITHUB_WORKSPACE/.. emacs --no-window-system --batch --script init.el 2>&1 | cat) | |
echo "$RUN_DATA" | |
WARNINGS=$(echo "$RUN_DATA" | sed '{/Warning/N;s/\n//;}' | grep Warning | sed -E 's/^(.*\.el)/- \*\*\1\*\*/') | |
LOAD_ERRORS=$(echo "$RUN_DATA" | grep -E "(Cannot load)|(Not found)" | sed 's/^/- /') | |
echo -e "# Tangle and byte-compile report\n## Errors\n$LOAD_ERRORS\n## Warnings\n$WARNINGS" >> $GITHUB_STEP_SUMMARY | |
[ -z $(echo "$RUN_DATA" | grep "file-missing") ] || exit 1 | |
[ -z "$LOAD_ERRORS" ] || exit 1 | |
# verify that setup loads on Windows. Just in case I ever have to use it... | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Emacs | |
run: | | |
choco install emacs | |
- name: Tangle, byte-compile (replaces old init.el) and run new setup | |
run: | | |
$env:HOME = "D:\a\.emacs.d\" | |
emacs --no-window-system --batch --script init.el |