From 16312915bd522914919410ba4df0d918dba8708d Mon Sep 17 00:00:00 2001 From: Petr Pokorny Date: Sat, 30 Jan 2021 20:40:39 +0100 Subject: [PATCH] Added macos CI workflow --- .github/workflows/macos-ci.yml | 97 ++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .github/workflows/macos-ci.yml diff --git a/.github/workflows/macos-ci.yml b/.github/workflows/macos-ci.yml new file mode 100644 index 000000000..0b3679201 --- /dev/null +++ b/.github/workflows/macos-ci.yml @@ -0,0 +1,97 @@ +name: macos-ci + +on: + workflow_dispatch: + push: + tags-ignore: + - '**' + paths-ignore: + - "platform/android/**" + - ".github/**" + - "README.md" + - ".gitignore" + branches: + - master + pull_request: + branches: + - master + paths-ignore: + - "platform/android/**" + - ".github/**" + - "README.md" + - ".gitignore" + +jobs: + build: + runs-on: macos-10.15 + 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@v2 + 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 glfw3 || brew install glfw3 + + - name: Cache node modules + uses: actions/cache@v2 + 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 }}- + + - name: npm install + run: npm install --ignore-scripts + + - name: Prepare ccache + run: ccache --clear + + - name: Cache ccache + uses: actions/cache@v2 + 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: Build macos test + run: | + make macos-test + + - name: Check public symbols + run: make darwin-check-public-symbols + + - name: Lint plist files + run: make macos-lint + + - name: Nitpick Darwin code generation + run: scripts/nitpick/generated-code.js darwin