Skip to content

Merge pull request #1278 from mas-cli/dependabot/github_actions/githu… #595

Merge pull request #1278 from mas-cli/dependabot/github_actions/githu…

Merge pull request #1278 from mas-cli/dependabot/github_actions/githu… #595

Workflow file for this run

#
# .github/workflows/build-test.yaml
#
---
name: Build, Test, and Lint
on:
pull_request:
branches: [main]
push:
branches: [main]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
permissions: {}
jobs:
build-test:
name: Build, Test, and Lint
strategy:
matrix:
include:
- runner: macos-14
- runner: macos-15
- runner: macos-15-intel
- runner: macos-26
- runner: macos-26-intel
runs-on: ${{matrix.runner}}
defaults:
run:
# Force all run commands to not use Rosetta 2 on arm64
shell: ${{endsWith(matrix.runner, '-intel') && '/bin/zsh -Negku {0}' || 'arch -arm64 /bin/zsh -Negku {0}'}}
steps:
- name: 🛒 Checkout repo
env:
GIT_CONFIG_COUNT: 1
GIT_CONFIG_KEY_0: init.defaultBranch
GIT_CONFIG_VALUE_0: ${{github.event.repository.default_branch}}
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Include all history & tags for Scripts/version
fetch-depth: 0
- name: 🔧 Setup repo
run: Scripts/setup_workflow_repo
- name: 🛠 Select latest stable Xcode
run: |
setopt extendedglob globassign
XCODE_PATH=/Applications/Xcode_[0-9.]##.app(/On[1])
sudo xcode-select -s "${XCODE_PATH}"
echo "DEVELOPER_DIR=${XCODE_PATH}/Contents/Developer" >>"${GITHUB_ENV}"
- name: 👢 Bootstrap
run: Scripts/bootstrap
- name: 🕊 Use Swiftly Swift
if: ${{!startsWith(matrix.runner, 'macos-26')}}
run: |
swiftly init -ny
git reset --hard HEAD
swiftly link latest
printf %s ~/.swiftly/bin >>"${GITHUB_PATH}"
- name: 🏗 Build
run: Scripts/build build-test -c release
- name: 🧪 Test
if: matrix.runner != 'macos-14'
run: Scripts/test
- name: 🚨 Lint
run: Scripts/lint