CI test cached #62
Workflow file for this run
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
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project | |
# SPDX-License-Identifier: GPL-2.0-or-later | |
name: macOS | |
on: | |
push: | |
branches: [ "*" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
BUILD_TYPE: Release | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup latest Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest | |
- name: Install MoltenVK | |
run: | | |
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
arch -x86_64 /usr/local/bin/brew install molten-vk | |
- name: Cache CMake Configuration | |
uses: actions/cache@v4 | |
env: | |
cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration | |
with: | |
path: | | |
${{github.workspace}}/build | |
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }} | |
restore-keys: | | |
${{ env.cache-name }}- | |
- name: Cache CMake Build | |
uses: hendrikmuhs/[email protected] | |
env: | |
cache-name: ${{runner.os}}-sdl-cache-cmake-build | |
with: | |
append-timestamp: false | |
create-symlink: true | |
key: ${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }} | |
variant: sccache | |
- name: Configure CMake | |
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.ncpu) | |
- name: Package | |
run: | | |
mkdir upload | |
mv ${{github.workspace}}/build/shadps4 upload | |
cp $(arch -x86_64 /usr/local/bin/brew --prefix)/opt/molten-vk/lib/libMoltenVK.dylib upload | |
install_name_tool -add_rpath "@loader_path" upload/shadps4 | |
tar cf shadps4-macos-sdl.tar.gz -C upload . | |
- name: Get date and git hash | |
id: vars | |
run: | | |
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
- name: Upload executable | |
uses: actions/upload-artifact@v4 | |
with: | |
name: shadps4-macos-sdl-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }} | |
path: shadps4-macos-sdl.tar.gz |