1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-25 14:22:37 +03:00
wezterm/.github/workflows/gen_macos_continuous.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

107 lines
2.5 KiB
YAML

name: macos_continuous
on:
schedule:
- cron: "10 * * * *"
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 BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: "Fetch tag/branch history"
shell: bash
run: |
export BUILD_REASON=Schedule
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 BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
rustup target add aarch64-apple-darwin
- name: "Install System Deps"
shell: bash
run: |
export BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
./get-deps
- name: "Build (Release mode Intel)"
shell: bash
run: |
export BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo build --target x86_64-apple-darwin --all --release
- name: "Build (Release mode ARM)"
shell: bash
run: |
export BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo build --target aarch64-apple-darwin --all --release
- name: "Test (Release mode)"
shell: bash
run: |
export BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
cargo test --target x86_64-apple-darwin --all --release
- name: "Package"
shell: bash
run: |
export BUILD_REASON=Schedule
export MACOSX_DEPLOYMENT_TARGET=10.9
bash ci/deploy.sh
- name: "Upload to Nightly Release"
uses: wez/upload-release-assets@releases/v1
with:
files: "WezTerm-*.zip"
release-tag: "nightly"
repo-token: "${{ secrets.GITHUB_TOKEN }}"