• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: macOS
2
3on:
4  pull_request:
5  push:
6  release:
7    types: published
8
9jobs:
10  build:
11    runs-on: macos-12
12
13    steps:
14    - uses: actions/checkout@v2
15
16    - name: Install dependencies
17      run: brew install re2c p7zip cmake
18
19    - name: Build ninja
20      shell: bash
21      env:
22        MACOSX_DEPLOYMENT_TARGET: 10.15
23      run: |
24        cmake -Bbuild -GXcode '-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64'
25        cmake --build build --config Release
26
27    - name: Test ninja
28      run: ctest -C Release -vv
29      working-directory: build
30
31    - name: Create ninja archive
32      shell: bash
33      run: |
34        mkdir artifact
35        7z a artifact/ninja-mac.zip ./build/Release/ninja
36
37    # Upload ninja binary archive as an artifact
38    - name: Upload artifact
39      uses: actions/upload-artifact@v3
40      with:
41        name: ninja-binary-archives
42        path: artifact
43
44    - name: Upload release asset
45      if: github.event.action == 'published'
46      uses: actions/upload-release-asset@v1
47      env:
48        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49      with:
50        upload_url: ${{ github.event.release.upload_url }}
51        asset_path: ./artifact/ninja-mac.zip
52        asset_name: ninja-mac.zip
53        asset_content_type: application/zip
54