Compare commits

...

10 Commits

3 changed files with 54 additions and 30 deletions

View File

@@ -2,7 +2,7 @@
name: Build
on:
schedule:
- cron: "35 2 * * *"
- cron: "0 0 * * *"
workflow_dispatch:
inputs:
gitRef:

View File

@@ -1,6 +1,12 @@
# Emacs Builds
<p align="center">
<img width="192px" src="https://github.com/emacs-mirror/emacs/raw/emacs-27.2/etc/images/icons/hicolor/scalable/apps/emacs.svg" alt="Logo">
</p>
<p>
<h1 align="center">
Emacs Builds
</h1>
<p align="center">
<a href="https://github.com/jimeh/emacs-builds/releases">
<img src="https://img.shields.io/github/v/tag/jimeh/emacs-builds?label=nightly" alt="GitHub tag (latest SemVer)">
</a>
@@ -13,44 +19,68 @@ alt="GitHub issues">
</a>
</p>
Nightly binary builds of Emacs for macOS, with native-compilation enabled, as a
completely self-contained Emacs.app application bundle.
<p align="center">
<strong>
Nightly binary builds of Emacs for macOS as a self-contained Emacs.app,
with native-compilation.
</strong>
</p>
## Features
- Self-contained Emacs.app application, with no external dependencies.
- Self-contained Emacs.app application bundle, with no external dependencies,
built with the [jimeh/build-emacs-for-macos][] build script.
- Native-compilation is enabled in nightly builds from the `master` branch of
Emacs, and should just work without the need to install GCC, libgccjit, or any
other dependencies.
- Includes the [fix-window-role][] and [system-appearance][] patches from the
excellent [emacs-plus][] project.
- Build are creation is transparent and public through the use of GitHub
Actions, allowing anyone to inspect git commit SHAs, full source code, and
exact commands used to produce a build. This is especially important right now
as builds are not yet signed and notarized.
- Emacs source is fetched from the [emacs-mirror/emacs][] GitHub repository.
- Build creation is transparent and public through the use of GitHub Actions,
allowing anyone to inspect git commit SHAs, full source code, and exact
commands used to produce a build. This is especially important right now as
builds are not yet signed and notarized.
[jimeh/build-emacs-for-macos]: https://github.com/jimeh/build-emacs-for-macos
[fix-window-role]:
https://github.com/d12frosted/homebrew-emacs-plus/blob/master/patches/emacs-28/fix-window-role.patch
[system-appearance]:
https://github.com/d12frosted/homebrew-emacs-plus/blob/master/patches/emacs-28/system-appearance.patch
[emacs-plus]: https://github.com/d12frosted/homebrew-emacs-plus
[emacs-mirror/emacs]: https://github.com/emacs-mirror/emacs
## System Requirements
- Intel-based Mac running macOS 10.15.x or later.
## Downloads
See the [Releases][] page to download latest builds.
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.
[releases]: https://github.com/jimeh/emacs-builds/releases
[7]: https://github.com/jimeh/emacs-builds/issues/7
## Build Process
Building Emacs is done using the [jimeh/build-emacs-for-macos][] build script,
executed within a GitHub Actions workflow. Full build history is available
[here][actions].
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
Actions.
[workflow]:
https://github.com/jimeh/emacs-builds/blob/main/.github/workflows/build.yml
Full history for all builds is available on GitHub Actions [here][actions].
[jimeh/build-emacs-for-macos]: https://github.com/jimeh/build-emacs-for-macos
[actions]: https://github.com/jimeh/emacs-builds/actions
Nightly builds are scheduled for 2:35 UTC every night, based on the latest
Nightly builds are scheduled for 0:00 UTC every night, based on the latest
commit from the `master` branch of the [emacs-mirror/emacs][] repository. This
means a nightly build will only be produced if there have been new commits since
the last nightly build.
@@ -60,22 +90,16 @@ the last nightly build.
## Untrusted Application
Currently builds are not signed or notarized, meaning macOS cannot verify
Emacs.app came from a trusted developer, and by default you are not even given
the option to trust the app and open it anyway.
Emacs.app came from a trusted developer, and by default you are not given an
option to trust the app and open it.
Simplest way around this: Instead of double-clicking on Emacs.app in Finder,
right-click (or control-click) on Emacs and select "Open". You will then be
given the same warning as before, with a "Open" button now available to open the
app anyway. After that you can open the application like normal without any
warnings.
Simplest way around this is to right-click (or control-click) on the Emacs app
in Finder and select "Open". You will then be given the same warning as before,
but with a "Open" button now available to trust and open the app. After that you
can open the application like normal without any warnings.
## To-Do
## Issues / To-Do
- [ ] Sign and notarize builds.
- [ ] Builds for stable versions of Emacs.
- [ ] Populate GitHub Release description with relevant info about the build,
including a link to the GitHub Actions workflow run that produced the
build.
- [ ] (Eventually) support Apple Silicon mac builds when native-compilation
actually works on Apple Silicon.
- [ ] (Eventually) support builds for Linux.
Please see [Issues][] for details of things to come, or to report issues.
[issues]: https://github.com/jimeh/emacs-builds/issues

View File

@@ -28,7 +28,7 @@ func publishCmd() *cli.Command {
Name: "prerelease",
Usage: "Git SHA of repo to create release on",
EnvVars: []string{"RELEASE_PRERELEASE"},
Value: true,
Value: false,
},
},
Action: actionHandler(publishAction),