Skip to content

FreeBSD via Vagrant allows reuse of existing actions (#339) #285

FreeBSD via Vagrant allows reuse of existing actions (#339)

FreeBSD via Vagrant allows reuse of existing actions (#339) #285

---
name: Build & Test
on:
- pull_request
- push
jobs:
Linux:
name: >-
${{ matrix.image }}
(${{ matrix.build_system }})
(${{ matrix.compiler }})
${{ matrix.mapnik_latest && '(Latest Mapnik)' || '' }}
runs-on: ubuntu-latest
strategy:
matrix:
image:
- 'centos:7'
- 'debian:11'
- 'debian:12'
- 'debian:testing'
- 'fedora:37'
- 'fedora:38'
- 'fedora:rawhide'
- 'ubuntu:20.04'
build_system:
- CMake
compiler:
- GNU
mapnik_latest:
- false
on_default_branch:
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') }}
include:
- image: 'ubuntu:22.04'
build_system: Autotools
compiler: GNU
- image: 'ubuntu:22.04'
build_system: Autotools
compiler: LLVM
- image: 'ubuntu:22.04'
build_system: CMake
compiler: GNU
- image: 'ubuntu:22.04'
build_system: CMake
compiler: LLVM
- image: 'debian:12'
build_system: CMake
compiler: GNU
mapnik_latest: true
- image: 'ubuntu:22.04'
build_system: CMake
compiler: GNU
mapnik_latest: true
exclude:
- on_default_branch: false
fail-fast: false
container:
env:
CC: ${{ matrix.compiler == 'LLVM' && 'clang' || 'gcc' }}
CXX: ${{ matrix.compiler == 'LLVM' && 'clang++' || 'g++' }}
image: ${{ matrix.image }}
steps:
- name: Install `git` (Amazon Linux 2)
run: yum --assumeyes install git
if: matrix.image == 'amazonlinux:2'
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
uses: ./.github/actions/dependencies/install
- name: Build `mod_tile`
uses: ./.github/actions/build
- name: Test `mod_tile`
uses: ./.github/actions/test
- name: Install `mod_tile`
uses: ./.github/actions/install
macOS:
env:
CFLAGS: -Wno-implicit-function-declaration
LDFLAGS: -undefined dynamic_lookup
LIBRARY_PATH: /usr/local/lib
name: >-
${{ matrix.os }}
(${{ matrix.build_system }})
(${{ matrix.compiler }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-11
- macos-12
build_system:
- CMake
compiler:
- LLVM
on_default_branch:
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') }}
include:
- os: macos-13
build_system: Autotools
compiler: LLVM
- os: macos-13
build_system: CMake
compiler: LLVM
exclude:
- on_default_branch: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
uses: ./.github/actions/dependencies/install
- name: Set ICU_ROOT
run: |
echo "ICU_ROOT=$(brew --prefix icu4c)" >> ${GITHUB_ENV}
- name: Build `mod_tile`
uses: ./.github/actions/build
- name: Test `mod_tile`
uses: ./.github/actions/test
- name: Install `mod_tile`
uses: ./.github/actions/install
FreeBSD:
env:
BUILD_PARALLEL_LEVEL: 4
LIBRARY_PATH: /usr/local/lib
TMPDIR: /tmp
name: >-
${{ matrix.box_generic }}
(${{ matrix.build_system }})
(${{ matrix.compiler }})
runs-on: macos-latest
strategy:
matrix:
box_generic:
- freebsd12
build_system:
- CMake
compiler:
- LLVM
on_default_branch:
- ${{ contains(github.ref, 'master') || contains(github.ref, 'develop') }}
include:
- box_generic: freebsd13
build_system: CMake
compiler: LLVM
exclude:
- on_default_branch: false
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Provision VM
uses: hummeltech/freebsd-vagrant-action@v1.3
with:
box: generic/${{ matrix.box_generic }}
cpus: ${{ env.BUILD_PARALLEL_LEVEL }}
memory: 4096
- name: Install dependencies
uses: ./.github/actions/dependencies/install
- name: Build `mod_tile`
uses: ./.github/actions/build
- name: Test `mod_tile`
uses: ./.github/actions/test
- name: Install `mod_tile`
uses: ./.github/actions/install