Skip to content

Macos build

Macos build #27

Workflow file for this run

name: Macos build
on:
workflow_dispatch:
push:
pull_request:
# schedule:
# - cron: '01 01 * * 6' # Run every Saturdayw_dispatch:
env:
berkeleydb-source: ${{ github.workspace }}/upstream-berkeleydb-source
berkeleydb-install: ${{ github.workspace }}/upstream-berkeleydb-install
berkeleydb-version: 4.6.18.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: 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 }}
env:
CFLAGS: HAVE_64BIT_TYPES=1
- name: Show installed zlib files
run: find .
working-directory: ${{ env.berkeleydb-install }}
build:
needs: build-bdb
runs-on: macos-latest
strategy:
matrix:
perl:
- '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'
name: Perl ${{ matrix.perl }}
steps:
- uses: actions/checkout@v1
- 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