macos_continuous #12516
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: macos_continuous | |
on: | |
schedule: | |
- cron: "10 3 * * *" | |
push: | |
branches: | |
- main | |
paths: | |
- "**/*.rs" | |
- "**/Cargo.lock" | |
- "**/Cargo.toml" | |
- ".github/workflows/gen_macos_continuous.yml" | |
- "assets/fonts/**/*" | |
- "assets/icon/*" | |
- "assets/macos/**/*" | |
- "ci/deploy.sh" | |
- "ci/macos-entitlement.plist" | |
- "ci/tag-name.sh" | |
- "get-deps" | |
jobs: | |
build: | |
runs-on: "macos-latest" | |
env: | |
BUILD_REASON: "Schedule" | |
CARGO_INCREMENTAL: "0" | |
SCCACHE_GHA_ENABLED: "true" | |
RUSTC_WRAPPER: "sccache" | |
MACOSX_DEPLOYMENT_TARGET: "10.9" | |
steps: | |
- name: "checkout repo" | |
uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- name: "Install Rust (ARM)" | |
shell: bash | |
run: "rustup target add aarch64-apple-darwin" | |
- name: "Install Rust (Intel)" | |
shell: bash | |
run: "rustup target add x86_64-apple-darwin" | |
- name: "Compile with sccache" | |
uses: mozilla-actions/[email protected] | |
- name: "Cache Rust Dependencies" | |
uses: actions/cache@v4 | |
id: cache-cargo-vendor | |
with: | |
path: | | |
vendor | |
.cargo/config | |
key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" | |
- name: "Vendor dependecies" | |
if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' | |
shell: bash | |
run: "cargo vendor --locked --versioned-dirs >> .cargo/config" | |
- name: "Install System Deps" | |
shell: bash | |
run: "env CI=yes PATH=$PATH ./get-deps" | |
- name: "Build wezterm (Release mode Intel)" | |
shell: bash | |
run: "cargo build --target x86_64-apple-darwin -p wezterm --release" | |
- name: "Build wezterm (Release mode ARM)" | |
shell: bash | |
run: "cargo build --target aarch64-apple-darwin -p wezterm --release" | |
- name: "Build wezterm-gui (Release mode Intel)" | |
shell: bash | |
run: "cargo build --target x86_64-apple-darwin -p wezterm-gui --release" | |
- name: "Build wezterm-gui (Release mode ARM)" | |
shell: bash | |
run: "cargo build --target aarch64-apple-darwin -p wezterm-gui --release" | |
- name: "Build wezterm-mux-server (Release mode Intel)" | |
shell: bash | |
run: "cargo build --target x86_64-apple-darwin -p wezterm-mux-server --release" | |
- name: "Build wezterm-mux-server (Release mode ARM)" | |
shell: bash | |
run: "cargo build --target aarch64-apple-darwin -p wezterm-mux-server --release" | |
- name: "Build strip-ansi-escapes (Release mode Intel)" | |
shell: bash | |
run: "cargo build --target x86_64-apple-darwin -p strip-ansi-escapes --release" | |
- name: "Build strip-ansi-escapes (Release mode ARM)" | |
shell: bash | |
run: "cargo build --target aarch64-apple-darwin -p strip-ansi-escapes --release" | |
- name: "Install cargo-nextest from Cargo" | |
uses: baptiste0928/cargo-install@v3 | |
with: | |
crate: "cargo-nextest" | |
cache-key: "macos" | |
- name: "Test" | |
shell: bash | |
run: "cargo nextest run --all --no-fail-fast --target=x86_64-apple-darwin" | |
- name: "Package" | |
env: | |
MACOS_APPLEID: ${{ secrets.MACOS_APPLEID }} | |
MACOS_APP_PW: ${{ secrets.MACOS_APP_PW }} | |
MACOS_CERT: ${{ secrets.MACOS_CERT }} | |
MACOS_CERT_PW: ${{ secrets.MACOS_CERT_PW }} | |
MACOS_TEAM_ID: ${{ secrets.MACOS_TEAM_ID }} | |
shell: bash | |
run: "bash ci/deploy.sh" | |
- name: "Upload artifact" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "macos" | |
path: "WezTerm-*.zip" | |
retention-days: 5 | |
upload: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: "checkout repo" | |
uses: actions/checkout@v4 | |
- name: "Download artifact" | |
uses: actions/download-artifact@v4 | |
with: | |
name: "macos" | |
- name: "Checksum" | |
shell: bash | |
run: "for f in WezTerm-*.zip ; do sha256sum $f > $f.sha256 ; done" | |
- name: "Upload to Nightly Release" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
shell: bash | |
run: "bash ci/retry.sh gh release upload --clobber nightly WezTerm-*.zip *.sha256" |