Compare commits

...

9 Commits

Author SHA1 Message Date
5991d0aaf2 fix: resolve dmgbuild installation issue and outdated actions 2022-11-06 23:22:25 +00:00
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
7 changed files with 39 additions and 35 deletions

View File

@@ -68,25 +68,24 @@ jobs:
test_plan_args: ${{ steps.test_plan_args.outputs.args }}
steps:
- name: Download emacs-builder git SHA artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: emacs-builder-git-sha
path: ./
- name: Store builder Git SHA
id: builder_sha
run: >-
echo "::set-output name=sha::$(cat emacs-builder-git-sha.txt)"
echo "sha=$(cat emacs-builder-git-sha.txt)" >> $GITHUB_OUTPUT
- name: Prepare plan test args
id: test_plan_args
if: ${{ inputs.test_build_name != '' }}
run: >-
echo "::set-output name=args::--test-build '${{ inputs.test_build_name }}' --test-release-type '${{ inputs.test_release_type }}'"
echo "args=--test-build '${{ inputs.test_build_name }}' --test-release-type '${{ inputs.test_release_type }}'" >> $GITHUB_OUTPUT
- name: Set git SHA override
id: emacs_sha
if: ${{ inputs.git_sha != '' }}
run: >-
echo "::set-output name=sha::--sha '${{ inputs.git_sha }}'"
echo "sha=--sha '${{ inputs.git_sha }}'" >> $GITHUB_OUTPUT
plan:
needs: [prepare]
runs-on: ${{ inputs.os }}
@@ -94,7 +93,7 @@ jobs:
check: ${{ steps.check.outputs.result }}
steps:
- name: Download pre-built emacs-builder artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: emacs-builder
path: bin
@@ -112,7 +111,7 @@ jobs:
- name: Show plan
run: cat build-plan.yml
- name: Upload build-plan artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}build-plan
path: build-plan.yml
@@ -121,8 +120,7 @@ jobs:
id: check
continue-on-error: true
run: |
RESULT="$((bin/emacs-builder -l debug release --plan build-plan.yml check && echo 'ok') || echo 'fail')"
echo "::set-output name=result::$RESULT"
echo "result=$((bin/emacs-builder -l debug release --plan build-plan.yml check && echo 'ok') || echo 'fail')" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: echo 'Planned release already seems to exist.'
@@ -143,11 +141,13 @@ 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
- name: Download build-plan artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}build-plan
path: ./
@@ -159,13 +159,13 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload unsigned app artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}unsigned-app
path: builds/*.tbz
if-no-files-found: error
- name: Upload Emacs source artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}emacs-source
path: builder/tarballs/*.tgz
@@ -175,24 +175,26 @@ jobs:
needs: [prepare, plan, build]
# Only run if check for existing release and asset failed.
steps:
- name: Install dependencies
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dmgbuild
run: |
brew install python
$(command -v pip3 || command -v pip) install --upgrade dmgbuild
- name: Download pre-built emacs-builder artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: emacs-builder
path: bin
- name: Ensure emacs-builder is executable
run: chmod +x bin/emacs-builder
- name: Download build-plan artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}build-plan
path: ./
- name: Download unsigned app artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: ${{ inputs.artifact_prefix }}unsigned-app
path: builds
@@ -232,7 +234,7 @@ jobs:
AC_PROVIDER: ${{ secrets.AC_PROVIDER }}
AC_SIGN_IDENTITY: ${{ secrets.AC_SIGN_IDENTITY }}
- name: Upload disk image artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: dmg
path: |

View File

@@ -7,7 +7,7 @@ on:
description: Git ref to checkout of build-emacs-for-macos
required: false
type: string
default: "v0.6.31"
default: "v0.6.36"
secrets:
TAP_REPO_TOKEN:
description: Personal Access Token for Homebrew Tap repo
@@ -17,10 +17,10 @@ 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
uses: actions/checkout@v3
with:
repository: jimeh/build-emacs-for-macos
ref: ${{ inputs.builder_ref }}
@@ -30,7 +30,7 @@ jobs:
git rev-parse HEAD > emacs-builder-git-sha.txt
working-directory: builder
- name: Upload builder git SHA artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: emacs-builder-git-sha
path: builder/emacs-builder-git-sha.txt
@@ -38,7 +38,7 @@ jobs:
- uses: actions/setup-go@v2
with:
go-version: 1.16
- uses: actions/cache@v2
- uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('builder/**/go.sum') }}
@@ -47,7 +47,7 @@ jobs:
run: make build
working-directory: builder
- name: Upload emacs-builder artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: emacs-builder
path: builder/bin/emacs-builder

View File

@@ -22,21 +22,21 @@ jobs:
runs-on: macos-11
steps:
- name: Download pre-built emacs-builder artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: emacs-builder
path: bin
- name: Ensure emacs-builder is executable
run: chmod +x bin/emacs-builder
- name: Download build-plan.yml artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: ${{ inputs.plan_artifact }}
path: ./
- name: Download disk image artifacts
id: dmg
continue-on-error: true
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: ${{ inputs.dmg_artifact }}
path: builds

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

@@ -54,7 +54,7 @@
## System Requirements
- macOS 10.15.x or later (uses Rosetta2 on Apple Silicon machines).
- 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
@@ -147,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