Compare commits

...

9 Commits

Author SHA1 Message Date
9e2d7cb592 feat(nightly): add nightly build for emacs-29 branch 2022-12-04 21:28:48 +00:00
d351fb20ce chore(nightly): schedule nightly builds for 23:00 UTC
With nightly runs at midnight, it sometimes takes GitHub Actions over an
hour to start the build. On rare occasion this allows new commits from
the new day sneaking in.

Hence we adjust the scheduled build time for now, until the build tool
can be updated to support picking a target commit based on date limits.
2022-12-04 21:22:28 +00:00
1fa1a3be36 chore(deps): update build-emacs-for-macos to 0.6.39 2022-12-04 20:34:50 +00:00
f1a232b18a chore(deps): update build-emacs-for-macos to 0.6.38 2022-12-01 22:35:52 +00:00
86be2a1c30 chore(deps): update build-emacs-for-macos to 0.6.37 2022-12-01 22:15:15 +00:00
c2bba0dc34 chore(ci): use relative references to reusable workflows 2022-12-01 22:15:15 +00:00
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
7 changed files with 85 additions and 37 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.'
@@ -149,7 +147,7 @@ jobs:
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: ./
@@ -161,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
@@ -177,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
@@ -234,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.35"
default: "v0.6.39"
secrets:
TAP_REPO_TOKEN:
description: Personal Access Token for Homebrew Tap repo
@@ -20,7 +20,7 @@ jobs:
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

@@ -34,7 +34,7 @@ on:
jobs:
prepare:
name: Prepare
uses: jimeh/emacs-builds/.github/workflows/_prepare.yml@main
uses: ./.github/workflows/_prepare.yml
with:
builder_ref: ${{ github.event.inputs.builder_ref }}
secrets:
@@ -43,7 +43,7 @@ jobs:
build:
name: Build
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
uses: ./.github/workflows/_build.yml
with:
os: ${{ github.event.inputs.os }}
git_ref: ${{ github.event.inputs.git_ref }}
@@ -64,7 +64,7 @@ jobs:
release:
name: Release
needs: [build]
uses: jimeh/emacs-builds/.github/workflows/_release.yml@main
uses: ./.github/workflows/_release.yml
with:
plan_artifact: build-plan
dmg_artifact: dmg

View File

@@ -2,7 +2,7 @@
name: Nightly (emacs-28)
on:
schedule:
- cron: "0 0 * * *"
- cron: "0 23 * * *"
workflow_dispatch:
inputs:
git_sha:
@@ -12,18 +12,19 @@ on:
jobs:
prepare:
name: Prepare
uses: jimeh/emacs-builds/.github/workflows/_prepare.yml@main
uses: ./.github/workflows/_prepare.yml
secrets:
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
build:
name: Build
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
uses: ./.github/workflows/_build.yml
with:
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 }}
@@ -37,7 +38,7 @@ jobs:
release:
name: Release
needs: [build]
uses: jimeh/emacs-builds/.github/workflows/_release.yml@main
uses: ./.github/workflows/_release.yml
with:
plan_artifact: build-plan
dmg_artifact: dmg

46
.github/workflows/nightly-emacs-29.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
---
name: Nightly (emacs-29)
on:
schedule:
- cron: "0 23 * * *"
workflow_dispatch:
inputs:
git_sha:
description: Override Emacs git commit SHA to build
required: false
jobs:
prepare:
name: Prepare
uses: ./.github/workflows/_prepare.yml
secrets:
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
build:
name: Build
needs: [prepare]
uses: ./.github/workflows/_build.yml
with:
os: macos-11
git_ref: emacs-29
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 }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
AC_USERNAME: ${{ secrets.AC_USERNAME }}
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
AC_PROVIDER: ${{ secrets.AC_PROVIDER }}
AC_SIGN_IDENTITY: ${{ secrets.AC_SIGN_IDENTITY }}
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
release:
name: Release
needs: [build]
uses: ./.github/workflows/_release.yml
with:
plan_artifact: build-plan
dmg_artifact: dmg
secrets:
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}

View File

@@ -2,7 +2,7 @@
name: Nightly (master)
on:
schedule:
- cron: "0 0 * * *"
- cron: "0 23 * * *"
workflow_dispatch:
inputs:
git_sha:
@@ -12,18 +12,19 @@ on:
jobs:
prepare:
name: Prepare
uses: jimeh/emacs-builds/.github/workflows/_prepare.yml@main
uses: ./.github/workflows/_prepare.yml
secrets:
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
build:
name: Build
needs: [prepare]
uses: jimeh/emacs-builds/.github/workflows/_build.yml@main
uses: ./.github/workflows/_build.yml
with:
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 }}
@@ -37,7 +38,7 @@ jobs:
release:
name: Release
needs: [build]
uses: jimeh/emacs-builds/.github/workflows/_release.yml@main
uses: ./.github/workflows/_release.yml
with:
plan_artifact: build-plan
dmg_artifact: dmg