From 02ebbb4beef8e1fac53cc1923036a8d822eb9791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= Date: Mon, 29 Apr 2024 09:37:36 +0000 Subject: [PATCH] Merged revision(s) 20671, 20673, 20679-20681, 20688 from trunk/OpenMPT: [New] build: CI: GitHub: Add Fedora builder. ........ [Fix] build: CI: GitHub: Fedora: Fix xz dependency install. ........ [Fix] build: CI: GitHub: Fedora: Workaround GitHub quirks. See and . ........ [Imp] build: CI: GitHub: Fedora: Add matrix build for dependencies. ........ [New] build: CI: GitHub: Add Fedora Autotools builder. ........ [New] build: CI: GitHub: Add Fedora MinGW cross-compile builder. ........ git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.31@20689 56274372-70c3-4bfc-bfc3-4c3a0b034d27 --- .github/workflows/Fedora-Autotools.yml | 27 +++++++++++++++++ .github/workflows/Fedora-Cross-MinGW.yml | 37 ++++++++++++++++++++++++ .github/workflows/Fedora-Makefile.yml | 37 ++++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 .github/workflows/Fedora-Autotools.yml create mode 100644 .github/workflows/Fedora-Cross-MinGW.yml create mode 100644 .github/workflows/Fedora-Makefile.yml diff --git a/.github/workflows/Fedora-Autotools.yml b/.github/workflows/Fedora-Autotools.yml new file mode 100644 index 00000000000..6a4f367a968 --- /dev/null +++ b/.github/workflows/Fedora-Autotools.yml @@ -0,0 +1,27 @@ +name: Fedora Autotools + +on: + push: + branches: [ OpenMPT-1.31 ] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + build: + + runs-on: ubuntu-latest + container: + image: fedora:latest + + steps: + - name: Install dependencies + run: dnf -y upgrade --refresh && dnf -y install subversion perl-XML-XPath git mawk zip unzip p7zip xz make binutils gcc gcc-g++ clang pcc pkgconf help2man doxygen autoconf autoconf-archive automake libtool ccache zlib-devel mpg123-devel libogg-devel libvorbis-devel portaudio-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + - name: Checkout + uses: actions/checkout@v4 + - name: fix git + # https://github.com/actions/runner/issues/2033 + run: chown -R $(id -u):$(id -g) $(pwd) + - name: Build + run: export MAKEFLAGS=-j$(nproc); ./build/autotools/autoconfiscate.sh diff --git a/.github/workflows/Fedora-Cross-MinGW.yml b/.github/workflows/Fedora-Cross-MinGW.yml new file mode 100644 index 00000000000..f6816d4a467 --- /dev/null +++ b/.github/workflows/Fedora-Cross-MinGW.yml @@ -0,0 +1,37 @@ +name: Fedora Cross MinGW + +on: + push: + branches: [ OpenMPT-1.31 ] + +jobs: + build: + + strategy: + fail-fast: false + matrix: + include: + - { crt: msvcrt, arch: x86 } + - { crt: msvcrt, arch: amd64 } + - { crt: ucrt , arch: amd64 } + + concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{matrix.crt}}-${{matrix.arch}} + cancel-in-progress: true + + runs-on: ubuntu-latest + container: + image: fedora:latest + + steps: + - name: Install dependencies + run: dnf -y upgrade --refresh && dnf -y install subversion perl-XML-XPath git mawk zip unzip p7zip xz make binutils gcc gcc-g++ clang pcc pkgconf help2man doxygen autoconf autoconf-archive automake libtool ccache zlib-devel mpg123-devel libogg-devel libvorbis-devel portaudio-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + - name: Install mingw + run: dnf -y install mingw32-filesystem mingw64-filesystem ucrt64-filesystem mingw-w64-tools mingw32-binutils mingw64-binutils ucrt64-binutils mingw32-gcc mingw32-gcc-c++ mingw64-gcc mingw64-gcc-c++ ucrt64-gcc ucrt64-gcc-c++ mingw32-windows-default-manifest mingw64-windows-default-manifest + - name: Checkout + uses: actions/checkout@v4 + - name: fix git + # https://github.com/actions/runner/issues/2033 + run: chown -R $(id -u):$(id -g) $(pwd) + - name: Build + run: make -j$(nproc) AUTO_DEPS=1 CONFIG=mingw-w64 WINDOWS_ARCH=${{matrix.arch}} WINDOWS_CRT=${{matrix.crt}} WINDOWS_VERSION=win10 diff --git a/.github/workflows/Fedora-Makefile.yml b/.github/workflows/Fedora-Makefile.yml new file mode 100644 index 00000000000..12681e50723 --- /dev/null +++ b/.github/workflows/Fedora-Makefile.yml @@ -0,0 +1,37 @@ +name: Fedora Makefile + +on: + push: + branches: [ OpenMPT-1.31 ] + +jobs: + build: + + strategy: + fail-fast: false + matrix: + include: + - { deps: sys } + - { deps: local } + - { deps: small } + + concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{matrix.deps}} + cancel-in-progress: true + + runs-on: ubuntu-latest + container: + image: fedora:latest + + steps: + - name: Install dependencies + run: dnf -y upgrade --refresh && dnf -y install subversion perl-XML-XPath git mawk zip unzip p7zip xz make binutils gcc gcc-g++ clang pcc pkgconf help2man doxygen autoconf autoconf-archive automake libtool ccache zlib-devel mpg123-devel libogg-devel libvorbis-devel portaudio-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + - name: Checkout + uses: actions/checkout@v4 + - name: fix git + # https://github.com/actions/runner/issues/2033 + run: chown -R $(id -u):$(id -g) $(pwd) + - name: Build + run: make -j$(nproc) 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 + run: make -j$(nproc) 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