mirror of
https://github.com/jimeh/emacs-builds.git
synced 2026-02-19 06:06:41 +00:00
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: "v0.6.46"
|
|
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 }}
|