Author: manx
Date: Fri Mar 8 12:53:56 2024
New Revision: 20271
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20271
Log:
[Imp] build: CI: GitHub: CPA: FreeBSD: Add full matrix build with system/local/small dependencies.
Added:
trunk/OpenMPT/.github/workflows/FreeBSD.yml
Added: trunk/OpenMPT/.github/workflows/FreeBSD.yml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/OpenMPT/.github/workflows/FreeBSD.yml Fri Mar 8 12:53:56 2024 (r20271)
@@ -0,0 +1,93 @@
+name: FreeBSD Makefile
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ strategy:
+ matrix:
+ include:
+ - { version: 14.0, deps: sys , cpa: v0.23.0 }
+ - { version: 14.0, deps: local, cpa: v0.23.0 }
+ - { version: 14.0, deps: small, cpa: v0.23.0 }
+ - { version: 13.2, deps: sys , cpa: v0.23.0 }
+ - { version: 13.2, deps: local, cpa: v0.23.0 }
+ - { version: 13.2, deps: small, cpa: v0.23.0 }
+
+ concurrency:
+ group: ${{github.ref}}-${{github.workflow}}-${{matrix.version}}-${{matrix.deps}}
+ cancel-in-progress: true
+
+ runs-on: ubuntu-22.04
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Startup VM
+ uses: cross-platform-actions/action@${{matrix.cpa}}
+ with:
+ architecture: x86_64
+ hypervisor: qemu
+ memory: 4G
+ operating_system: freebsd
+ version: ${{matrix.version}}
+ shell: bash
+ sync_files: runner-to-vm
+ shutdown_vm: false
+ run: true
+ - name: Install dependencies
+ uses: cross-platform-actions/action@${{matrix.cpa}}
+ with:
+ architecture: x86_64
+ hypervisor: qemu
+ memory: 4G
+ operating_system: freebsd
+ version: ${{matrix.version}}
+ shell: bash
+ sync_files: false
+ shutdown_vm: false
+ run: |
+ sudo pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool help2man doxygen mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2
+ - name: Build
+ uses: cross-platform-actions/action@${{matrix.cpa}}
+ with:
+ architecture: x86_64
+ hypervisor: qemu
+ memory: 4G
+ operating_system: freebsd
+ version: ${{matrix.version}}
+ shell: bash
+ sync_files: false
+ shutdown_vm: false
+ run: |
+ gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 ${{ (matrix.deps == 'sys') && 'AUTO_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }}
+ - name: Test
+ uses: cross-platform-actions/action@${{matrix.cpa}}
+ with:
+ architecture: x86_64
+ hypervisor: qemu
+ memory: 4G
+ operating_system: freebsd
+ version: ${{matrix.version}}
+ shell: bash
+ sync_files: false
+ shutdown_vm: false
+ run: |
+ gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 ${{ (matrix.deps == 'sys') && 'AUTO_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }} check
+ - name: Shutdown VM
+ uses: cross-platform-actions/action@${{matrix.cpa}}
+ with:
+ architecture: x86_64
+ hypervisor: qemu
+ memory: 4G
+ operating_system: freebsd
+ version: ${{matrix.version}}
+ shell: bash
+ sync_files: false
+ shutdown_vm: true
+ run: true
|