1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-18 10:52:16 +03:00
wezterm/.github/workflows/gen_macos.yml
Wez Furlong 42b95cd413 ci: generate universal binaries for macOS
This persuades the CI to install both the arm and intel flavors
of the rust toolchain on macOS, and the deploy script to generate
a universal binary.

* need big sur to build for M1
* Use cross-compilation compatible mlua from my fork for now
2021-01-13 20:11:58 -08:00

110 lines
2.4 KiB
YAML

name: macos
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
strategy:
fail-fast: false
runs-on: "macos-11.0"
steps:
- name: "checkout repo"
uses: actions/checkout@v2
with:
submodules: "recursive"
- name: "Fetch tags"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: "Fetch tag/branch history"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
git fetch --prune --unshallow
- name: "Install Rust"
uses: actions-rs/toolchain@v1
with:
profile: "minimal"
toolchain: "stable"
override: true
components: "rustfmt"
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
- name: "Install Rust (ARM)"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
rustup target add aarch64-apple-darwin
- name: "Install System Deps"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
./get-deps
- name: "Check formatting"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo fmt --all -- --check
- name: "Build (Release mode Intel)"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo build --target x86_64-apple-darwin --all --release
- name: "Build (Release mode ARM)"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo build --target aarch64-apple-darwin --all --release
- name: "Test (Release mode)"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo test --target x86_64-apple-darwin --all --release
- name: "Package"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
bash ci/deploy.sh
- name: "Move Package for artifact upload"
shell: bash
run: |
export MACOSX_DEPLOYMENT_TARGET=10.9
mkdir pkg_
mv *.zip pkg_
- name: "Upload artifact"
uses: actions/upload-artifact@master
with:
name: "macos"
path: "pkg_"