aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/macos.yml
blob: 25eac28269ab5e4b14f86ad3d76e1a289450442a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: macos

on:
  push:
    paths:
      - "mesonbuild/**"
      - "test cases/**"
      - ".github/workflows/macos.yml"
      - "run_unittests.py"
  pull_request:
    paths:
      - "mesonbuild/**"
      - "test cases/**"
      - ".github/workflows/macos.yml"
      - "run_unittests.py"

jobs:
  unittests-appleclang:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.x'
    - run: |
        python -m pip install --upgrade pip
        python -m pip install pytest pytest-xdist jsonschema
    - run: brew install pkg-config ninja llvm qt
    - env:
        CPPFLAGS: "-I/usr/local/include"
        LDFLAGS: "-L/usr/local/lib"
        MESON_UNIT_TEST_BACKEND: ninja
        # These cannot evaluate anything, so we cannot set PATH or SDKROOT here
      run: |
        export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
        export PATH="$HOME/tools:/usr/local/opt/qt/bin:$PATH:$(brew --prefix llvm)/bin"
        ./run_unittests.py

  project-tests-appleclang:
    runs-on: macos-latest
    strategy:
      matrix:
        unity: ["on", "off"]
    steps:
    - uses: actions/checkout@v2
    # use python3 from homebrew because it is a valid framework, unlike the actions one:
    # https://github.com/actions/setup-python/issues/58
    - run: brew install pkg-config ninja llvm qt boost ldc hdf5 openmpi lapack scalapack sdl2 python3
    - run: |
        python3 -m pip install --upgrade setuptools
        python3 -m pip install --upgrade pip
        python3 -m pip install cython
    - env:
        CPPFLAGS: "-I/usr/local/include"
        LDFLAGS: "-L/usr/local/lib"
        MESON_ARGS: --unity=${{ matrix.unity }}
        CI: 1
        # These cannot evaluate anything, so we cannot set PATH or SDKROOT here
      run: |
        export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
        export PATH="$HOME/tools:/usr/local/opt/qt/bin:$PATH:$(brew --prefix llvm)/bin"
        ./run_project_tests.py --backend=ninja

  Qt4macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.x'
    - run: python -m pip install -e .
    - run: brew install pkg-config ninja gcc
    - run: brew tap cartr/qt4
    - run: brew install qt@4
    - run: meson setup "test cases/frameworks/4 qt" build -Drequired=qt4
    - run: meson compile -C build
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Qt4_Mac_build
        path: build/meson-logs/meson-log.txt
    - run: meson test -C build -v
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Qt4_Mac_test
        path: build/meson-logs/testlog.txt