mirror of
https://github.com/mickelson/attract.git
synced 2026-10-12 02:18:55 +00:00
85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.config.name }}
|
|
runs-on: ${{ matrix.config.os }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- {
|
|
name: "Ubuntu GCC",
|
|
os: ubuntu-latest,
|
|
cc: "gcc",
|
|
cxx: "g++",
|
|
cxxpackage: "g++"
|
|
}
|
|
- {
|
|
name: "Ubuntu Clang",
|
|
os: ubuntu-latest,
|
|
cc: "clang",
|
|
cxx: "clang++",
|
|
cxxpackage: "clang"
|
|
}
|
|
- {
|
|
name: "macOS Clang",
|
|
os: macos-latest,
|
|
cc: "clang",
|
|
cxx: "clang++",
|
|
cxxpackage: "clang++"
|
|
}
|
|
- {
|
|
name: "FreeBSD",
|
|
os: ubuntu-latest,
|
|
cc: "clang",
|
|
cxx: "clang++",
|
|
freebsd: true
|
|
}
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Linux Dependencies
|
|
if: runner.os == 'Linux' && !matrix.config.freebsd
|
|
run: sudo apt-get update && sudo apt-get install ${{ matrix.config.cxxpackage }} libopenal-dev zlib1g-dev libfreetype6-dev libjpeg-dev libsfml-dev libavutil-dev libavcodec-dev libavformat-dev libswscale-dev libswresample-dev libarchive-dev libfontconfig1-dev libxinerama-dev libxrandr-dev freeglut3-dev libcurl4-openssl-dev pkg-config
|
|
|
|
- name: Install MacOS Dependencies
|
|
if: runner.os == 'macOS'
|
|
run: brew update && brew install ffmpeg sfml@2 libarchive curl openal-soft mesa-glu pkgconfig
|
|
|
|
- name: Build on FreeBSD
|
|
if: matrix.config.freebsd
|
|
uses: vmactions/freebsd-vm@v1
|
|
with:
|
|
usesh: true
|
|
run: |
|
|
pkg install -y gmake clang pkgconf sfml openal-soft ffmpeg libarchive curl fontconfig libGLU
|
|
gmake clean
|
|
gmake
|
|
|
|
- name: Build on MacOS
|
|
if: runner.os == 'macOS'
|
|
env:
|
|
# PKG_CONFIG_PATH: $PKG_CONFIG_PATH:/opt/homebrew/opt/libarchive/lib/pkgconfig:/opt/homebrew/opt/openal-soft/lib/pkgconfig:/opt/homebrew/opt/sfml@2/lib/pkgconfig
|
|
CC: ${{ matrix.config.cc }}
|
|
CXX: ${{ matrix.config.cxx }}
|
|
shell: bash
|
|
run: make
|
|
|
|
- name: Build
|
|
if: '!matrix.config.freebsd'
|
|
env:
|
|
CC: ${{ matrix.config.cc }}
|
|
CXX: ${{ matrix.config.cxx }}
|
|
shell: bash
|
|
run: make
|