File: macos.yml

package info (click to toggle)
libberkeleydb-perl 0.66-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,996 kB
  • sloc: perl: 10,202; ansic: 6,484; makefile: 7
file content (126 lines) | stat: -rw-r--r-- 3,369 bytes parent folder | download | duplicates (2)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
name: Macos build

on:
  workflow_dispatch:
  push:
  pull_request:
  # schedule:
  #   - cron: '01 01 * * 6'    # Run every Saturday

env:
  berkeleydb-source:      ${{ github.workspace }}/upstream-berkeleydb-source
  berkeleydb-install:     ${{ github.workspace }}/upstream-berkeleydb-install
  berkeleydb-version:     5.3.28.NC
  BERKELEYDB_LIB:         ${{ github.workspace }}/upstream-berkeleydb-install/lib
  BERKELEYDB_INCLUDE:     ${{ github.workspace }}/upstream-berkeleydb-install/include

jobs:

  build-bdb:

    runs-on: macos-latest

    steps:

      - name: Cache BDB ${{ env.berkeleydb-version }}
        id: cache-berkeleydb
        uses: actions/cache@v3
        with:
          # NOTE: path doesn't expand variables!
          path: upstream-berkeleydb-install
          key: ${{ runner.os }}-berkeleydb-${{ env.berkeleydb-version }}

      - name: Make Paths
        run: |
          mkdir -p ${{ env.berkeleydb-source }}
          mkdir -p ${{ env.berkeleydb-install }}

      # - name: Install BDB ${{ env.berkeleydb-version }}
      #   if: steps.cache-berkeleydb.outputs.cache-hit != 'true'
      #   run: |
      #     wget https://github.com/macports/macports-base/releases/download/v2.7.1/MacPorts-2.7.1-11-BigSur.pkg
      #     sudo installer -pkg ./MacPorts-2.7.1-11-BigSur.pkg -target /
      #     sudo port install db53

      - name: Build BDB ${{ env.berkeleydb-version }}
        if: steps.cache-berkeleydb.outputs.cache-hit != 'true'
        run: |
          wget https://download.oracle.com/berkeley-db/db-${{ env.berkeleydb-version }}.tar.gz
          tar xvf db-${{ env.berkeleydb-version }}.tar.gz
          cd db-${{ env.berkeleydb-version }}/build_unix
          ../dist/configure --enable-compat185 --prefix=${{ env.berkeleydb-install }}
          make
          make install
          rm -fr ${{ env.berkeleydb-install }}/docs
        working-directory: ${{ env.berkeleydb-source }}

      - name: Show installed berkeleydb files
        run: find .
        working-directory: ${{ env.berkeleydb-install }}

  build:

    needs: build-bdb

    runs-on: macos-latest

    strategy:
      matrix:
        perl:
          # - 'develop'
          - '5.38'
          - '5.36'
          - '5.34'
          - '5.32'
          - '5.30'
          - '5.28'
          - '5.26'
          - '5.24'
          - '5.22'
          - '5.20'
          - '5.18'
          - '5.16'
          - '5.14'
          - '5.12'
          - '5.10'
          - '5.8'
          # - '5.6'

    defaults:
      run:
        working-directory: repo

    name: Perl ${{ matrix.perl }}
    steps:

    - uses: actions/checkout@v3
      with:
        path: repo

    - name: Cache BDB ${{ env.berkeleydb-version }}
      id: cache-berkeleydb
      uses: actions/cache@v3
      with:
        # NOTE: path doesn't expand variables!
        path: upstream-berkeleydb-install
        key: ${{ runner.os }}-berkeleydb-${{ env.berkeleydb-version }}

    - name: Setup perl
      uses: shogo82148/actions-setup-perl@v1
      with:
        perl-version: ${{ matrix.perl }}

    - name: Perl version
      run: perl -V

    - name: Install dependencies
      run: cpanm --quiet --installdeps --notest .

    # - name: Install Berkeley DB
    #   run: brew install berkeley-db

    - name: Build
      run: perl Makefile.PL && make

    - name: Test
      run: make test