FreeBSD via Vagrant allows reuse of existing actions #959
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
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/[email protected] | |
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 |