Files
MapLibreParticleLab/.github/workflows/macos-ci.yml
mwilsnd 4828cc7a8b Upgrade OpenGL backend to ES 3.0 (#995)
Co-authored-by: Tadej Novak <tadej@tano.si>
2023-04-13 23:24:45 +02:00

140 lines
3.7 KiB
YAML

name: macos-ci
on:
workflow_dispatch:
push:
branches:
- opengl-2
tags:
- 'macos-*'
paths:
- 'platform/ios/**'
- 'platform/darwin/**'
- ".github/workflows/macos-ci.yml"
- "bin/**"
- "expression-test/**"
- "include/**"
- "metrics/**"
- "platform/default/**"
- "render-test/**"
- "scripts/**"
- "src/**"
- "test/**"
- "vendor/**"
- ".gitmodules"
- "!**/*.md"
pull_request:
branches:
- opengl-2
paths:
- 'platform/ios/**'
- 'platform/darwin/**'
- ".github/workflows/macos-ci.yml"
- "bin/**"
- "expression-test/**"
- "include/**"
- "metrics/**"
- "platform/default/**"
- "render-test/**"
- "scripts/**"
- "src/**"
- "test/**"
- "vendor/**"
- ".gitmodules"
- "!**/*.md"
concurrency:
# cancel jobs on PRs only
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
build:
name: MacOS CI Tests
runs-on: [self-hosted, macOS, ARM64]
env:
BUILDTYPE: Debug
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
defaults:
run:
working-directory: platform/ios
shell: bash
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Install macos dependencies
run: |
brew list cmake || brew install cmake
brew list ccache || brew install ccache
brew list pkg-config || brew install pkg-config
brew list glfw || brew install glfw
- name: Cache node modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
path: /user/local/lib/node_modules
key: ${{ runner.macos }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.macos }}-build-${{ env.cache-name }}-
${{ runner.macos }}-build-
${{ runner.macos }}-
- uses: actions/setup-node@v3
with:
node-version: 18
- name: npm install
run: npm ci --ignore-scripts
- name: Prepare ccache
run: ccache --clear
- name: Cache ccache
uses: actions/cache@v3
env:
cache-name: ccache-v1
with:
path: ~/.ccache'
key: ${{ env.cache-name }}-${{ runner.macos }}-${{ github.job }}-${{ github.ref }}-${{ github.sha }}-${{ github.head_ref }}
restore-keys: |
${{ env.cache-name }}-${{ runner.macos }}-${{ github.job }}-${{ github.ref }}-${{ github.sha }}
${{ env.cache-name }}-${{ runner.macos }}-${{ github.job }}-${{ github.ref }}
${{ env.cache-name }}-${{ runner.macos }}-${{ github.job }}
- name: Clear ccache statistics
run: |
ccache --zero-stats
ccache --max-size=2G
ccache --show-stats
- name: Run macOS Objective-C tests
run: |
../macos/scripts/run-in-macos-gui-env.sh "make macos-test"
- name: npm install # C++ tests are run with root as working directory
run: npm ci --ignore-scripts
working-directory: .
- name: Run macOS C++ unit tests
run: |
cmake -S . -B $BUILD_DIR
cmake --build $BUILD_DIR --target mbgl-test-runner
ctest -VV --test-dir $BUILD_DIR -R mbgl-test-runner
env:
BUILD_DIR: ../../../maplibre-gl-native-macostestbuild
- name: Check public symbols
run: make darwin-check-public-symbols
- name: Lint plist files
run: make macos-lint