File: macos.yml

package info (click to toggle)
pgrouting 4.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,332 kB
  • sloc: cpp: 21,315; sql: 10,419; ansic: 9,795; perl: 1,142; sh: 919; javascript: 314; xml: 182; makefile: 29
file content (88 lines) | stat: -rw-r--r-- 2,123 bytes parent folder | download
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
88
name: Build for macOS
# This file is part of the pgRouting project.
# Copyright (c) 2020-2026 pgRouting developers
# License: GPL-2 See https://github.com/pgRouting/pgrouting/blob/main/LICENSE

# manually triggered workflow
# - macOS test takes too much time

on:
  workflow_dispatch:
  push:
    paths:
      - '.github/workflows/macos.yml'
      - 'src/**'
      - 'include/**'
      - 'pgtap/**'
      - 'tools/testers/**'
      - 'CMakeLists.txt'

    branches-ignore:
      - 'gh-pages'

  pull_request:
    paths:
      - '.github/workflows/macos.yml'
      - 'src/**'
      - 'include/**'
      - 'pgtap/**'
      - 'tools/testers/**'
      - 'CMakeLists.txt'

    branches-ignore:
      - 'gh-pages'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  build:
    name: macos
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, macos-14]

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: install deps
        run: |
          brew install postgresql@17 postgis boost
          brew link postgresql@17

      - name: Configure
        run: |
          mkdir build
          cd build
          cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_SHARED_MODULE_SUFFIX_CXX=.dylib -DWITH_DOC=OFF ..

      - name: Build
        run: |
          cd build
          make -j
          make install

      - name: Install pgTAP
        run: |
          git clone https://github.com/theory/pgtap.git pgTapExtension
          cd pgTapExtension
          make -j
          make install
          cpan TAP::Parser::SourceHandler::pgTAP
          ln -s $(find `brew --prefix` -name pg_prove) symlink it into $(brew --prefix)/bin

      - name: Test
        run: |
          export PATH=$(brew --prefix)/Cellar/perl/$(perl -e 'print substr($^V, 1)')/bin:$PATH
          pg_ctl -D $(brew --prefix)/var/postgresql@17 start
          createuser -s postgres
          createdb ___pgr___test___
          bash ./tools/testers/pg_prove_tests.sh postgres 5432 Release