From 78a0d8f9560e59af18a3b54c81b19fd224a1937c Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Mon, 8 Jun 2026 18:54:21 +0200 Subject: [PATCH] [CI] Add shared macOS toolchain setup action --- .../actions/setup-macos-toolchain/action.yml | 15 +++++++++ .github/workflows/mac.yml | 33 ++++--------------- .github/workflows/perf.yml | 9 ++--- 3 files changed, 23 insertions(+), 34 deletions(-) create mode 100644 .github/actions/setup-macos-toolchain/action.yml diff --git a/.github/actions/setup-macos-toolchain/action.yml b/.github/actions/setup-macos-toolchain/action.yml new file mode 100644 index 00000000..51da2f8f --- /dev/null +++ b/.github/actions/setup-macos-toolchain/action.yml @@ -0,0 +1,15 @@ +name: 'Setup macOS Toolchain' +description: 'Configure Xcode, Homebrew packages, MPI, LLVM, OpenMP, OpenSSL, and ninja' +runs: + using: 'composite' + steps: + - name: Install Xcode + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 'latest-stable' + - name: Setup environment + shell: bash + run: | + brew update + brew install ninja mpich llvm libomp openssl + brew link libomp --overwrite --force diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 5bb8dd89..c8a42d28 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -22,15 +22,8 @@ jobs: - uses: actions/checkout@v6 with: submodules: recursive - - name: Install Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: 'latest-stable' - - name: Setup environment - run: | - brew update - brew install ninja mpich llvm libomp openssl - brew link libomp --overwrite --force + - name: Setup macOS toolchain + uses: ./.github/actions/setup-macos-toolchain - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -63,15 +56,8 @@ jobs: runs-on: macOS-latest steps: - uses: actions/checkout@v6 - - name: Install Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: 'latest-stable' - - name: Setup environment - run: | - brew update - brew install ninja mpich llvm libomp openssl - brew link libomp --overwrite --force + - name: Setup macOS toolchain + uses: ./.github/actions/setup-macos-toolchain - name: Download installed package uses: actions/download-artifact@v8 with: @@ -95,15 +81,8 @@ jobs: runs-on: macOS-latest steps: - uses: actions/checkout@v6 - - name: Install Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: 'latest-stable' - - name: Setup environment - run: | - brew update - brew install ninja mpich llvm libomp openssl - brew link libomp --overwrite --force + - name: Setup macOS toolchain + uses: ./.github/actions/setup-macos-toolchain - name: Download installed package uses: actions/download-artifact@v8 with: diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml index b6c6d769..04c489a8 100644 --- a/.github/workflows/perf.yml +++ b/.github/workflows/perf.yml @@ -48,15 +48,10 @@ jobs: runs-on: macOS-latest steps: - uses: actions/checkout@v6 - - name: Install Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: 'latest-stable' + - name: Setup macOS toolchain + uses: ./.github/actions/setup-macos-toolchain - name: Setup environment run: | - brew update - brew install ninja mpich llvm libomp openssl - brew link libomp --overwrite --force python3 -m pip install -r requirements.txt --break-system-packages - name: Download installed package uses: actions/download-artifact@v8