Compare commits

..

25 Commits

Author SHA1 Message Date
54ff01d673 chore(deps): update build-emacs-for-macos to 0.6.36 2022-10-08 14:51:04 +01:00
c1c4a03471 fix(nightly): prevent nightly builds without native-comp
By default the build script will enable native-comp if it detects it in
the source tree. This caused recently nightly builds of master to be
built without native-comp due to recent changes in Emacs' configure
script which broke native-comp detection. More details here:

https://github.com/jimeh/build-emacs-for-macos/issues/76

Hence we explicitly enable native-comp now for the nightly master and
emacs-28 builds, which will cause the build script to fail if it cannot
detect native-comp support in the source tree.

Any failure to detect native-comp in master and emacs-28 branches would
at this point be due to a bug/issue with the build script, rather than
Emacs' source tree.
2022-10-08 14:46:14 +01:00
adc48a6492 chore(deps): update build-emacs-for-macos to 0.6.35
Fixes build issues caused by a incompatibility with the libgccjit v12.x
homebrew formula.
2022-08-10 16:49:48 +01:00
14575aa77c chore(deps): update build-emacs-for-macos to 0.6.34 2022-07-27 23:26:51 +01:00
3e3347dbec Merge pull request #23 from jimeh/macos-11
fix(ci): switch to macos-11 (Big Sur) runner
2022-07-27 21:51:19 +01:00
4f2d35c1ac fix(ci): switch to macos-11 (Big Sur) runner
The macos-10.15 runner is now deprecated and no longer usable. Hence all
GitHub Actions workflows using a macOS runner need to upgraded to
macos-11.

As far as I know, this will have a knock-on effect of causing Emacs
builds to require macOS 11.x (Big Sur) or later from now on.
2022-07-27 19:54:01 +01:00
2e80b79110 chore(deps): update build-emacs-for-macos to 0.6.33 2022-04-30 19:45:08 +01:00
88bfa2e603 chore(build): run "brew update" before installing brew deps 2022-04-30 19:45:08 +01:00
9934f47937 docs(readme): minor tweak to stable homebrew cask description 2022-04-07 00:28:26 +01:00
Alec
13e8c9cc9e docs(readme): emacs-app now includes native-comp 2022-04-06 07:44:06 -04:00
4204855346 chore(deps): update build-emacs-for-macos to 0.6.31 2022-02-25 10:35:14 +00:00
11b4492488 chore(deps): update build-emacs-for-macos to 0.6.30 2022-02-08 03:08:35 +00:00
a39895e8f6 docs(readme): add details about pretest builds 2022-02-07 23:17:46 +00:00
27b104d7b7 chore(deps): update build-emacs-for-macos to 0.6.29 2022-02-07 23:17:25 +00:00
0af73aaee1 chore(deps): update build-emacs-for-macos to 0.6.28 2022-01-15 23:21:36 +00:00
16087a80d0 chore(deps): update build-emacs-for-macos to 0.6.27 2021-12-05 13:09:44 +00:00
5835cd9712 docs(readme): update requirements list after gcc fix, minor tweaks 2021-11-30 23:15:36 +00:00
fe10ed4c34 chore(build): remove --no-relink-eln-files option from manual build workflow 2021-11-27 05:07:00 +00:00
9615ab20a6 chore(deps): update build-emacs-for-macos to 0.6.25
Relinking *.eln files has also been fixed, so there's no need to disable
that anymore.
2021-11-27 05:04:46 +00:00
cad73f3555 fix(release): dmg artifact output result check 2021-11-27 03:16:15 +00:00
30f92f734d fix(release): improve handling of no new commit since last build 2021-11-27 01:37:02 +00:00
83b08dc596 feat(build): allow customizing --relink-eln-files arg on custom builds 2021-11-26 02:10:30 +00:00
f3213d9f5a chore(deps): update build-emacs-for-macos to 0.6.25 2021-11-25 23:40:30 +00:00
b40f9e29c8 update build-emacs-for-macos to 0.6.24 2021-11-24 21:54:44 +00:00
e552de3cac fix(builds): use correct path for emacs source tarball artifact upload 2021-11-24 21:54:13 +00:00
7 changed files with 43 additions and 30 deletions

View File

@@ -125,6 +125,8 @@ jobs:
echo "::set-output name=result::$RESULT"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: echo 'Planned release already seems to exist.'
if: ${{ steps.check.outputs.result == 'fail' }}
build:
runs-on: ${{ inputs.os }}
@@ -141,6 +143,8 @@ jobs:
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Update homebrew
run: brew update
- name: Install dependencies
run: make bootstrap-ci
working-directory: builder
@@ -152,7 +156,7 @@ jobs:
- name: Build Emacs
run: >-
./builder/build-emacs-for-macos --plan build-plan.yml
--no-relink-eln-files --native-full-aot
--native-full-aot
${{ inputs.build_args }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -166,7 +170,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: ${{ inputs.artifact_prefix }}emacs-source
path: tarballs/*.tgz
path: builder/tarballs/*.tgz
package:
runs-on: ${{ inputs.os }}

View File

@@ -7,7 +7,7 @@ on:
description: Git ref to checkout of build-emacs-for-macos
required: false
type: string
default: "v0.6.23"
default: "v0.6.36"
secrets:
TAP_REPO_TOKEN:
description: Personal Access Token for Homebrew Tap repo
@@ -17,7 +17,7 @@ jobs:
emacs-builder:
# Use oldest version of macOS to ensure emacs-bulder binary is compatible
# with later versions of macOS.
runs-on: macos-10.15
runs-on: macos-11
steps:
- name: Checkout build-emacs-for-macos repo
uses: actions/checkout@v2

View File

@@ -34,19 +34,24 @@ jobs:
name: ${{ inputs.plan_artifact }}
path: ./
- name: Download disk image artifacts
id: dmg
continue-on-error: true
uses: actions/download-artifact@v2
with:
name: ${{ inputs.dmg_artifact }}
path: builds
- name: Publish disk images to a GitHub Release
if: ${{ steps.dmg.outputs.result != 'fail' }}
run: >-
bin/emacs-builder -l debug release --plan build-plan.yml publish
$(find builds -name '*.dmg' -or -name '*.sha256')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger update casks workflow in homebrew tap
if: ${{ inputs.testBuildName == '' }}
if: ${{ steps.dmg.outputs.result != 'fail' && inputs.testBuildName == '' }}
run: >-
gh workflow run --repo jimeh/homebrew-emacs-builds update-casks.yml
env:
GITHUB_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
- run: echo 'No DMG artifact available, was there a new commit to build?'
if: ${{ steps.dmg.outputs.result == 'fail' }}

View File

@@ -19,9 +19,9 @@ on:
required: false
default: ""
os:
description: 'Runner OS ("macos-10.15" or "macos-11")'
description: 'Runner OS ("macos-11", "macos-12", or "macos-latest")'
required: true
default: "macos-10.15"
default: "macos-11"
test_build_name:
description: "Test build name"
required: false
@@ -45,7 +45,7 @@ jobs:
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
with:
os: macos-10.15
os: ${{ github.event.inputs.os }}
git_ref: ${{ github.event.inputs.git_ref }}
git_sha: ${{ github.event.inputs.git_sha }}
build_args: ${{ github.event.inputs.builder_args }}

View File

@@ -21,9 +21,10 @@ jobs:
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
with:
os: macos-10.15
os: macos-11
git_ref: emacs-28
git_sha: ${{ github.event.inputs.git_sha }}
build_args: --native-comp
secrets:
APPLE_DEVELOPER_CERTIFICATE_P12_BASE64: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_P12_BASE64 }}
APPLE_DEVELOPER_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_PASSWORD }}

View File

@@ -21,9 +21,10 @@ jobs:
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
with:
os: macos-10.15
os: macos-11
git_ref: master
git_sha: ${{ github.event.inputs.git_sha }}
build_args: --native-comp
secrets:
APPLE_DEVELOPER_CERTIFICATE_P12_BASE64: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_P12_BASE64 }}
APPLE_DEVELOPER_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_PASSWORD }}

View File

@@ -8,11 +8,10 @@
<p align="center">
<a href="https://github.com/jimeh/emacs-builds/releases/latest"><img alt="GitHub release (stable)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app%2Fshield.json"></a>
<a href="https://github.com/jimeh/emacs-builds/releases?q=emacs-28&expanded=true"><img alt="GitHub release (nightly@emacs-28)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-nightly-28%2Fshield.json"></a>
<br />
<a href="https://github.com/jimeh/emacs-builds/releases?q=pretest&expanded=true"><img alt="GitHub release (pretest)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-pretest%2Fshield.json"></a>
<a href="https://github.com/jimeh/emacs-builds/releases?q=master&expanded=true"><img alt="GitHub release (nightly)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-nightly%2Fshield.json"></a>
<a href="https://github.com/jimeh/emacs-builds/releases?q=emacs-28&expanded=true"><img alt="GitHub release (nightly@emacs-28)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-nightly-28%2Fshield.json"></a>
<a href="https://github.com/jimeh/emacs-builds/issues/7"><img alt="GitHub release (known good nightly)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-good%2Fshield.json"></a>
<br />
<a href="https://github.com/jimeh/emacs-builds/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues-raw/jimeh/emacs-builds?style=flat&logo=github&logoColor=white"></a>
<a href="https://github.com/jimeh/emacs-builds/pulls"><img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr-raw/jimeh/emacs-builds?style=flat&logo=github&logoColor=white"></a>
<a href="https://github.com/jimeh/emacs-builds/releases"><img alt="GitHub all releases" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Femacs-builds%2Fmeta%2Ftotal-downloads%2Fshield.json"></a>
@@ -20,15 +19,14 @@
<p align="center">
<strong>
Self-contained Emacs.app builds for macOS, with native-compilation support
in nightly builds.
Self-contained Emacs.app builds for macOS, with native-compilation support.
</strong>
</p>
## Features
- Self-contained Emacs.app application bundle, with no external dependencies.
- Native-compilation ([gccemacs][]), nightly builds only.
- Native compilation ([gccemacs][]), only in Emacs 28.x and later builds.
- Native JSON parsing via libjansson.
- SVG rendering via librsvg.
- Various image formats are supported via macOS native image APIs.
@@ -56,9 +54,8 @@
## System Requirements
- macOS 10.15.x or later (uses Rosetta2 on M1-based macs).
- Homebrew `gcc` formula (nightly builds only).
- Xcode Command Line Tools (nightly builds only).
- macOS 11.x (Big Sur) or later (uses Rosetta2 on Apple Silicon machines).
- Xcode Command Line Tools for native compilation (Emacs 28.x and later).
## Installation
@@ -67,10 +64,10 @@
See the [Releases][] page to download latest builds, or [here](latest) for the
latest stable release.
Nightly builds of Emacs are for the part just fine, but if you don't like living
too close to the edge, see issue [#7 Known Good Nightly Builds][7] for a list of
recent nightly builds which have been actively used by a living being without
any issues.
Nightly builds of Emacs are for the most part just fine, but if you don't like
living too close to the edge, see issue [#7 Known Good Nightly Builds][7] for a
list of recent nightly builds which have been actively used by a living being
for a day or two without any obvious issues.
[releases]: https://github.com/jimeh/emacs-builds/releases
[latest]: https://github.com/jimeh/emacs-builds/releases/latest
@@ -85,6 +82,15 @@ any issues.
brew tap jimeh/emacs-builds
```
2. Install one of the available casks:
- `emacs-app` for the latest stable release of Emacs (includes native-comp
since v28.1):
```
brew install --cask emacs-app
```
- `emacs-app-pretest` for the latest pretest build from Emacs:
```
brew install --cask emacs-app-pretest
```
- `emacs-app-nightly` for the latest nightly build from Emacs' `master`
branch:
```
@@ -99,11 +105,6 @@ any issues.
```
brew install --cask emacs-app-nightly-28
```
- `emacs-app` for the latest stable release of Emacs (does not include
native-comp at time of writing):
```
brew install --cask emacs-app
```
[7]: https://github.com/jimeh/emacs-builds/issues/7
@@ -146,8 +147,8 @@ use the alias from the above example.
## Build Process
Building Emacs is done using the [jimeh/build-emacs-for-macos][] build script,
executed within a GitHub Actions [workflow][]. This is why macOS 10.15.x or
later is required, as it's the oldest version of macOS available in GitHub
executed within a GitHub Actions [workflow][]. This is why macOS 11.x (Big Sur)
or later is required, as it's the oldest version of macOS available in GitHub
Actions.
[jimeh/build-emacs-for-macos]: https://github.com/jimeh/build-emacs-for-macos
@@ -155,6 +156,7 @@ Actions.
https://github.com/jimeh/emacs-builds/blob/main/.github/workflows/build.yml
Full history for all builds is available on GitHub Actions [here][actions].
Build logs are only retained by GitHub for 90 days though.
[actions]: https://github.com/jimeh/emacs-builds/actions