Avoid a potential core crash when the content video mode changes and … #164
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| inputs: | |
| versionstring: | |
| description: 'Version String' | |
| default: '' | |
| required: false | |
| type: string | |
| jobs: | |
| build-win64-msvc: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: microsoft/setup-msbuild@v2 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - run: echo "::add-matcher::.github/workflows/msvc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| type dosbox_pure_ver.h | |
| MSBuild.exe dosbox_pure_libretro.vcxproj /p:Configuration=Release /p:Platform=x64 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_win64 | |
| path: build/Release_64bit/dosbox_pure_libretro.dll | |
| build-win32-msvc: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: microsoft/setup-msbuild@v2 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - run: echo "::add-matcher::.github/workflows/msvc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| type dosbox_pure_ver.h | |
| MSBuild.exe dosbox_pure_libretro.vcxproj /p:Configuration=Release /p:Platform=Win32 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_win32 | |
| path: build/Release_32bit/dosbox_pure_libretro.dll | |
| build-win64-gcc: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| shell: bash | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| type dosbox_pure_ver.h | |
| make "CXX=g++ -static" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_win64_gcc | |
| path: dosbox_pure_libretro.dll | |
| build-linux_x64: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| if: ${{ github.event.inputs.versionstring == '' }} | |
| run: | | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - name: Build for release | |
| if: ${{ github.event.inputs.versionstring != '' }} | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: ubuntu:14.04 # use older distro for increased GLIBC compatibility | |
| options: -v ${{ github.workspace }}:/work | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install git make g++ | |
| cd /work | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_linux_x64 | |
| path: dosbox_pure_libretro.so | |
| build-linux_arm64: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| if: ${{ github.event.inputs.versionstring == '' }} | |
| run: | | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - name: Build for release | |
| if: ${{ github.event.inputs.versionstring != '' }} | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: ubuntu:14.04 # use older distro for increased GLIBC compatibility | |
| options: -v ${{ github.workspace }}:/work | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install git make g++ | |
| cd /work | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_linux_arm64 | |
| path: dosbox_pure_libretro.so | |
| build-macos-x64: | |
| runs-on: macos-13 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_macos_x64 | |
| path: dosbox_pure_libretro.dylib | |
| build-macos-arm: | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| cat dosbox_pure_ver.h | |
| make -j4 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_macos_arm | |
| path: dosbox_pure_libretro.dylib | |
| build-android: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: nttld/setup-ndk@v1 | |
| with: | |
| ndk-version: r20b | |
| local-cache: false # see https://github.com/nttld/setup-ndk/issues/547 | |
| - if: ${{ github.event.inputs.versionstring == '' }} | |
| run: perl -i -pe "s/\"(.*)\"/\"\1-${GITHUB_SHA::7}\"/g" dosbox_pure_ver.h | |
| - if: ${{ github.event.inputs.versionstring != '' }} | |
| run: perl -i -pe "s/\".*\"/\"${{ github.event.inputs.versionstring }}\"/g" dosbox_pure_ver.h | |
| - run: echo "::add-matcher::.github/workflows/gcc-problem-matcher.json" | |
| - name: Build | |
| run: | | |
| cat dosbox_pure_ver.h | |
| cd jni | |
| ndk-build -j4 | |
| cp ../libs/armeabi-v7a/libretro.so ../libs/armeabi-v7a/dosbox_pure_libretro_android.so.20290101T$(echo 000000$GITHUB_RUN_NUMBER | tail -c 7).$(echo 000000000$GITHUB_RUN_NUMBER | tail -c 9).0.lcbk | |
| cp ../libs/arm64-v8a/libretro.so ../libs/arm64-v8a/dosbox_pure_libretro_android.so.20290101T$(echo 000000$GITHUB_RUN_NUMBER | tail -c 7).$(echo 000000000$GITHUB_RUN_NUMBER | tail -c 9).0.lcbk | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_android_arm32 | |
| path: libs/armeabi-v7a/*.lcbk | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dosbox_pure_android_arm64 | |
| path: libs/arm64-v8a/*.lcbk |