mirror of
https://github.com/jimeh/emacs-builds.git
synced 2026-02-19 06:06:41 +00:00
Builds using macOS 11 just takes a stupidly long time as, as Homebrew seems to have dropped support, meaning all homebrew dependencies are installed from source, rather than get installed from bottles. Hence let's try upgrading minimum macOS version from 11 (Big Sur), to 12 (Monteray).
137 lines
4.8 KiB
YAML
137 lines
4.8 KiB
YAML
---
|
|
name: Build
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
git_ref:
|
|
description: Emacs git ref to build
|
|
required: true
|
|
default: "master"
|
|
git_sha:
|
|
description: Override Emacs git commit SHA to build
|
|
required: false
|
|
builder_ref:
|
|
description: "Git ref to checkout of build-emacs-for-macos"
|
|
required: true
|
|
default: "master"
|
|
builder_args:
|
|
description: Custom arguments passed to build script
|
|
required: false
|
|
default: ""
|
|
os:
|
|
description: 'Runner OS ("macos-12", "macos-13", or "macos-latest")'
|
|
required: true
|
|
default: "macos-12"
|
|
test_build_name:
|
|
description: "Test build name"
|
|
required: false
|
|
default: ""
|
|
test_release_type:
|
|
description: "prerelease or draft"
|
|
required: false
|
|
default: ""
|
|
x86_64:
|
|
description: "Build x86_64 version of Emacs"
|
|
required: false
|
|
default: true
|
|
type: boolean
|
|
arm64:
|
|
description: "Build arm64 version of Emacs"
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
|
|
jobs:
|
|
prepare:
|
|
name: Prepare
|
|
uses: ./.github/workflows/_prepare.yml
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
builder_ref: ${{ github.event.inputs.builder_ref }}
|
|
secrets:
|
|
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Build x86_64 version of Emacs
|
|
# ----------------------------------------------------------------------------
|
|
|
|
build_x86_64:
|
|
name: Build (x86_64)
|
|
if: ${{ github.event.inputs.x86_64 == 'true' }}
|
|
uses: ./.github/workflows/_build.yml
|
|
needs: [prepare]
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
build_os: "macos-12"
|
|
artifact_prefix: "x86_64-"
|
|
git_ref: ${{ github.event.inputs.git_ref }}
|
|
git_sha: ${{ github.event.inputs.git_sha }}
|
|
build_args: ${{ github.event.inputs.builder_args }}
|
|
test_build_name: ${{ github.event.inputs.test_build_name }}
|
|
test_release_type: ${{ github.event.inputs.test_release_type }}
|
|
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_x86_64:
|
|
name: Release (x86_64)
|
|
uses: ./.github/workflows/_release.yml
|
|
needs: [build_x86_64]
|
|
if: ${{ needs.build_x86_64.outputs.package_created }}
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
plan_artifact: x86_64-build-plan
|
|
dmg_artifact: x86_64-dmg
|
|
test_build_name: ${{ github.event.inputs.test_build_name }}
|
|
update_casks: true
|
|
secrets:
|
|
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Build arm64 version of Emacs
|
|
# ----------------------------------------------------------------------------
|
|
|
|
build_arm64:
|
|
name: Build (arm64)
|
|
if: ${{ github.event.inputs.arm64 == 'true' }}
|
|
uses: ./.github/workflows/_build.yml
|
|
needs: [prepare]
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
build_os: "macos-13-xlarge" # Only macos-13-xlarge has arm64 support.
|
|
artifact_prefix: "arm64-"
|
|
git_ref: ${{ github.event.inputs.git_ref }}
|
|
git_sha: ${{ github.event.inputs.git_sha }}
|
|
build_args: ${{ github.event.inputs.builder_args }}
|
|
test_build_name: ${{ github.event.inputs.test_build_name }}
|
|
test_release_type: ${{ github.event.inputs.test_release_type }}
|
|
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_arm64:
|
|
name: Release (arm64)
|
|
uses: ./.github/workflows/_release.yml
|
|
needs: [build_arm64]
|
|
if: ${{ needs.build_arm64.outputs.package_created }}
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
plan_artifact: arm64-build-plan
|
|
dmg_artifact: arm64-dmg
|
|
test_build_name: ${{ github.event.inputs.test_build_name }}
|
|
update_casks: false
|
|
secrets:
|
|
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
|