Compare commits

..

8 Commits

6 changed files with 53 additions and 39 deletions

View File

@@ -20,6 +20,10 @@ on:
required: false required: false
default: "" default: ""
type: string type: string
build_variant:
description: "Optional build number used as version suffix"
required: false
type: string
test_build_name: test_build_name:
description: "Test build name" description: "Test build name"
required: false required: false
@@ -65,6 +69,7 @@ jobs:
git_ref: ${{ inputs.git_ref }} git_ref: ${{ inputs.git_ref }}
git_sha: ${{ inputs.git_sha }} git_sha: ${{ inputs.git_sha }}
build_args: ${{ inputs.builder_args }} build_args: ${{ inputs.builder_args }}
build_variant: ${{ inputs.build_variant }}
test_build_name: ${{ inputs.test_build_name }} test_build_name: ${{ inputs.test_build_name }}
test_release_type: ${{ inputs.test_release_type }} test_release_type: ${{ inputs.test_release_type }}
secrets: inherit secrets: inherit
@@ -104,6 +109,7 @@ jobs:
git_ref: ${{ inputs.git_ref }} git_ref: ${{ inputs.git_ref }}
git_sha: ${{ inputs.git_sha }} git_sha: ${{ inputs.git_sha }}
build_args: ${{ inputs.builder_args }} build_args: ${{ inputs.builder_args }}
build_variant: ${{ inputs.build_variant }}
test_build_name: ${{ inputs.test_build_name }} test_build_name: ${{ inputs.test_build_name }}
test_release_type: ${{ inputs.test_release_type }} test_release_type: ${{ inputs.test_release_type }}
secrets: inherit secrets: inherit

View File

@@ -34,6 +34,10 @@ on:
description: Custom arguments passed to build script description: Custom arguments passed to build script
type: string type: string
required: false required: false
build_variant:
description: "Optional build number used as version suffix"
type: string
required: false
test_build_name: test_build_name:
description: "Test build name" description: "Test build name"
type: string type: string
@@ -66,8 +70,8 @@ jobs:
path: bin path: bin
- name: Ensure emacs-builder is executable - name: Ensure emacs-builder is executable
run: chmod +x bin/emacs-builder run: chmod +x bin/emacs-builder
- uses: nixbuild/nix-quick-install-action@v29 - uses: nixbuild/nix-quick-install-action@v32
- uses: nix-community/cache-nix-action@v5 - uses: nix-community/cache-nix-action@v6
with: with:
primary-key: nix-${{ runner.arch }}-${{ hashFiles('**/flake.*') }} primary-key: nix-${{ runner.arch }}-${{ hashFiles('**/flake.*') }}
- name: Install dependencies - name: Install dependencies
@@ -77,6 +81,11 @@ jobs:
if: inputs.test_build_name != '' if: inputs.test_build_name != ''
run: >- run: >-
echo "args=--test-build '${{ inputs.test_build_name }}' --test-release-type '${{ inputs.test_release_type }}'" >> "$GITHUB_OUTPUT" echo "args=--test-build '${{ inputs.test_build_name }}' --test-release-type '${{ inputs.test_release_type }}'" >> "$GITHUB_OUTPUT"
- name: Prepare build variant args
id: build_variant_args
if: inputs.build_variant != ''
run: >-
echo "args=--build-variant ${{ inputs.build_variant }}" >> "$GITHUB_OUTPUT"
- name: Set git SHA override - name: Set git SHA override
id: emacs_sha id: emacs_sha
if: inputs.git_sha != '' if: inputs.git_sha != ''
@@ -87,6 +96,7 @@ jobs:
nix develop --command nix develop --command
bin/emacs-builder -l debug plan --output build-plan.yml bin/emacs-builder -l debug plan --output build-plan.yml
--output-dir '${{ github.workspace }}/builds' --output-dir '${{ github.workspace }}/builds'
${{ steps.build_variant_args.outputs.args }}
${{ steps.test_plan_args.outputs.args }} ${{ steps.test_plan_args.outputs.args }}
${{ steps.emacs_sha.outputs.sha }} ${{ steps.emacs_sha.outputs.sha }}
'${{ inputs.git_ref }}' '${{ inputs.git_ref }}'
@@ -122,8 +132,8 @@ jobs:
repository: jimeh/build-emacs-for-macos repository: jimeh/build-emacs-for-macos
ref: ${{ inputs.builder_ref }} ref: ${{ inputs.builder_ref }}
path: builder path: builder
- uses: nixbuild/nix-quick-install-action@v29 - uses: nixbuild/nix-quick-install-action@v32
- uses: nix-community/cache-nix-action@v5 - uses: nix-community/cache-nix-action@v6
with: with:
primary-key: nix-${{ runner.arch }}-${{ hashFiles('**/flake.*') }} primary-key: nix-${{ runner.arch }}-${{ hashFiles('**/flake.*') }}
- name: Download build-plan artifact - name: Download build-plan artifact

View File

@@ -26,7 +26,7 @@ jobs:
- name: Default git ref check - name: Default git ref check
id: ref id: ref
run: | run: |
DEFAULT_BUILDER_REF="v0.6.57" DEFAULT_BUILDER_REF="v0.6.61"
BUILDER_REF="${{ inputs.builder_ref }}" BUILDER_REF="${{ inputs.builder_ref }}"
echo "ref=${BUILDER_REF:-$DEFAULT_BUILDER_REF}" >> "$GITHUB_OUTPUT" echo "ref=${BUILDER_REF:-$DEFAULT_BUILDER_REF}" >> "$GITHUB_OUTPUT"
- name: Checkout build-emacs-for-macos repo - name: Checkout build-emacs-for-macos repo

View File

@@ -49,11 +49,11 @@ jobs:
name: ${{ inputs.dmg_artifact }} name: ${{ inputs.dmg_artifact }}
path: builds path: builds
- name: Publish disk images to a GitHub Release - name: Publish disk images to a GitHub Release
if: steps.dmg.outputs.result != 'fail' if: steps.dmg.outcome != 'failure'
run: >- run: >-
bin/emacs-builder -l debug release --plan build-plan.yml publish bin/emacs-builder -l debug release --plan build-plan.yml publish
$(find builds -name '*.dmg' -or -name '*.sha256') $(find builds -name '*.dmg' -or -name '*.sha256')
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: echo 'No DMG artifact available, was there a new commit to build?' - run: echo 'No DMG artifact available, was there a new commit to build?'
if: steps.dmg.outputs.result == 'fail' if: steps.dmg.outcome == 'failure'

View File

@@ -26,6 +26,10 @@ on:
description: "prerelease or draft" description: "prerelease or draft"
required: false required: false
default: "" default: ""
build_variant:
description: "Optional build number used as version suffix"
required: false
type: string
x86_64: x86_64:
description: "Build x86_64 version of Emacs" description: "Build x86_64 version of Emacs"
required: false required: false
@@ -46,6 +50,7 @@ jobs:
git_sha: ${{ inputs.git_sha }} git_sha: ${{ inputs.git_sha }}
builder_ref: ${{ inputs.builder_ref }} builder_ref: ${{ inputs.builder_ref }}
builder_args: ${{ inputs.builder_args }} builder_args: ${{ inputs.builder_args }}
build_variant: ${{ inputs.build_variant }}
test_build_name: ${{ inputs.test_build_name }} test_build_name: ${{ inputs.test_build_name }}
test_release_type: ${{ inputs.test_release_type }} test_release_type: ${{ inputs.test_release_type }}
x86_64: ${{ inputs.x86_64 }} x86_64: ${{ inputs.x86_64 }}

View File

@@ -82,37 +82,32 @@ for at least a day or two without any obvious issues.
### Homebrew Cask ### Homebrew Cask
1. Install the The [`jimeh/emacs-builds`](https://github.com/jimeh/homebrew-emacs-builds)
[`jimeh/emacs-builds`](https://github.com/jimeh/homebrew-emacs-builds) Homebrew Tap provides the following casks:
Homebrew tap:
```
brew tap jimeh/emacs-builds
```
2. Install one of the available casks:
- `emacs-app` — Latest stable release of Emacs.
```
brew install --cask emacs-app
```
- `emacs-app-pretest` — Latest pretest build of Emacs.
```
brew install --cask emacs-app-pretest
```
- `emacs-app-nightly` — Build of Emacs from the `master` branch, updated
every night.
```
brew install --cask emacs-app-nightly
```
- `emacs-app-monthly` — Build of Emacs from the `master` branch, updated on
the 1st of each month. These includes native Apple Silicon support.
```
brew install --cask emacs-app-monthly
```
- `emacs-app-good` for the latest known good nightly build listed on [#7][7]:
```
brew install --cask emacs-app-good
```
[7]: https://github.com/jimeh/emacs-builds/issues/7 - `jimeh/emacs-builds/emacs-app` — Latest stable release of Emacs.
```bash
brew install --cask jimeh/emacs-builds/emacs-app
```
- `jimeh/emacs-builds/emacs-app-pretest` — Latest pretest build of Emacs.
```bash
brew install --cask jimeh/emacs-builds/emacs-app-pretest
```
- `jimeh/emacs-builds/emacs-app-nightly` — Build of Emacs from the `master`
branch, updated every night.
```bash
brew install --cask jimeh/emacs-builds/emacs-app-nightly
```
- `jimeh/emacs-builds/emacs-app-monthly` — Build of Emacs from the `master`
branch, updated on the 1st of each month.
```bash
brew install --cask jimeh/emacs-builds/emacs-app-monthly
```
- `jimeh/emacs-builds/emacs-app-good` for the latest known good nightly build
listed on [#7][7]:
```bash
brew install --cask jimeh/emacs-builds/emacs-app-good
```
## Apple Silicon ## Apple Silicon
@@ -192,8 +187,6 @@ All builds also come with a SHA256 checksum file, which itself can be double
checked against the SHA256 checksum log output from the packaging step of the checked against the SHA256 checksum log output from the packaging step of the
GitHub Actions workflow run which produced the build. GitHub Actions workflow run which produced the build.
[emacs-mirror/emacs]: https://github.com/emacs-mirror/emacs
## Issues / To-Do ## Issues / To-Do
Please see [Issues][] for details of things to come, or to report issues. Please see [Issues][] for details of things to come, or to report issues.