mirror of
https://github.com/jimeh/emacs-builds.git
synced 2026-02-19 08:26:40 +00:00
This should help reduce costs for Apple Silicon builds, as they are not available on any form of free tier of GitHub Actions at the moment. The build step that actually runs Emacs' configure script, and compiles Emacs, is the only step that actually needs to run on the target hardware architecture. The rest should be architecture agnostic.
81 lines
2.5 KiB
YAML
81 lines
2.5 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-11", "macos-12", or "macos-latest")'
|
|
required: true
|
|
default: "macos-11"
|
|
build_os:
|
|
description: "Build OS used to build Emacs"
|
|
required: false
|
|
default: "macos-11"
|
|
test_build_name:
|
|
description: "Test build name"
|
|
required: false
|
|
default: ""
|
|
test_release_type:
|
|
description: "prerelease or draft"
|
|
required: false
|
|
default: ""
|
|
|
|
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:
|
|
name: Build
|
|
needs: [prepare]
|
|
uses: ./.github/workflows/_build.yml
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
build_os: ${{ github.event.inputs.build_os }}
|
|
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:
|
|
name: Release
|
|
needs: [build]
|
|
uses: ./.github/workflows/_release.yml
|
|
with:
|
|
os: ${{ github.event.inputs.os }}
|
|
plan_artifact: build-plan
|
|
dmg_artifact: dmg
|
|
test_build_name: ${{ github.event.inputs.test_build_name }}
|
|
secrets:
|
|
TAP_REPO_TOKEN: ${{ secrets.TAP_REPO_TOKEN }}
|