From 3b5c719e2d77781549824442cd60e756e3940ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= Date: Fri, 8 Mar 2024 11:53:56 +0000 Subject: [PATCH] [Imp] build: CI: GitHub: CPA: FreeBSD: Add full matrix build with system/local/small dependencies. git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@20271 56274372-70c3-4bfc-bfc3-4c3a0b034d27 --- .github/workflows/FreeBSD.yml | 93 +++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/FreeBSD.yml diff --git a/.github/workflows/FreeBSD.yml b/.github/workflows/FreeBSD.yml new file mode 100644 index 0000000000..205a894b40 --- /dev/null +++ b/.github/workflows/FreeBSD.yml @@ -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