diff --git a/.github/workflows/build-ios.yaml b/.github/workflows/build-ios.yaml deleted file mode 100644 index 9952283ae5..0000000000 --- a/.github/workflows/build-ios.yaml +++ /dev/null @@ -1,74 +0,0 @@ -name: Build iOS - -on: [push, pull_request] -jobs: - build_ios: - runs-on: macos-latest - steps: - - name: Install dpkg - run: | - brew install dpkg - - name: Install Vulkan SDK - run: | - cd $RUNNER_WORKSPACE - curl -L --show-error --output vulkansdk.dmg https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/mac/vulkansdk-macos-${VULKAN_SDK_VERSION}.dmg?Human=true - hdiutil attach vulkansdk.dmg - sudo /Volumes/vulkansdk-macos-${VULKAN_SDK_VERSION}/InstallVulkan.app/Contents/MacOS/InstallVulkan in --al --c - echo "VULKAN_SDK=~/VulkanSDK/${VULKAN_SDK_VERSION}/macOS" >> $GITHUB_ENV - env: - VULKAN_SDK_VERSION: '1.3.268.1' - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Force Fetch Git Tags - run: git fetch --tags --force - - name: Set SHORT_HASH - run: echo "VALUE=${LONG_HASH:0:8}" >> $GITHUB_OUTPUT - id: short_hash - env: - LONG_HASH: ${{ github.sha }} - - name: Generate CMake Project - run: | - mkdir build - cd build - cmake .. -G"Xcode" -DCMAKE_TOOLCHAIN_FILE=../deps/Dependencies/cmake-ios/ios.cmake -DTARGET_IOS=ON -DCMAKE_PREFIX_PATH=$VULKAN_SDK -DBUILD_PSFPLAYER=ON -DBUILD_LIBRETRO_CORE=yes - - name: Build - run: | - cd build - cmake --build . --config Release - codesign -s "-" Source/ui_ios/Release-iphoneos/Play.app - - name: Generate IPA - run: | - cd installer_ios - ./build_ipa.sh - - name: Generate Cydia Package - run: | - cd installer_ios - ./build_cydia.sh - - name: Upload a Build Artifact ipa/deb/bz2 - uses: actions/upload-artifact@v4 - with: - name: Play_iOS - path: | - installer_ios/Play.ipa - installer_ios/Play.deb - installer_ios/Packages.bz2 - - name: Upload a Build Artifact libretro - uses: actions/upload-artifact@v4 - with: - name: Play_iOS_libretro - path: build/Source/ui_libretro/Release-iphoneos/play_libretro_ios.dylib - - name: Upload to S3 - if: ${{ env.AWS_ACCESS_KEY_ID != null}} - run: | - aws s3 cp installer_ios/Play.ipa s3://playbuilds/$SHORT_HASH/Play.ipa --acl public-read - aws s3 cp installer_ios/Play.deb s3://playbuilds/$SHORT_HASH/Play.deb --acl public-read - aws s3 cp installer_ios/Packages.bz2 s3://playbuilds/$SHORT_HASH/Packages.bz2 --acl public-read - aws s3 cp build/Source/ui_libretro/Release-iphoneos/play_libretro_ios.dylib s3://playbuilds/$SHORT_HASH/play_libretro_ios.dylib --acl public-read - env: - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: 'us-east-2' diff --git a/.github/workflows/build-js.yaml b/.github/workflows/build-js.yaml deleted file mode 100644 index 27ba472c4e..0000000000 --- a/.github/workflows/build-js.yaml +++ /dev/null @@ -1,117 +0,0 @@ -name: Build JavaScript - -on: [push, pull_request] -jobs: - build_js: - runs-on: ubuntu-latest - steps: - - name: Setup Emscripten - uses: mymindstorm/setup-emsdk@v12 - with: - version: 3.1.51 - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Generate CMake Project - run: | - mkdir build - cd build - emcmake cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_PLAY=ON -DBUILD_PSFPLAYER=ON -DUSE_QT=OFF - - name: Build Native Code - run: | - cd build - cmake --build . --config Release -j $(nproc) - # Setup Node.js since Emscripten can override the node's version. - - name: Set up Node.js - uses: actions/setup-node@v3 - with: - node-version: 20.17 - - name: Run CodeGenTestSuite - run: | - cd $GITHUB_WORKSPACE/deps/CodeGen/js - npm install - tsc - cd $GITHUB_WORKSPACE/build/Source/ui_js/Source/CodeGen - node $GITHUB_WORKSPACE/deps/CodeGen/js/out/index.js - - name: Build Play Browser - run: | - cd js/play_browser - cp ../../build/Source/ui_js/Play.js ./src/ - cp ../../build/Source/ui_js/Play.wasm ./public/ - cp ../../build/Source/ui_js/Play.js ./public/ - cp ../../build/Source/ui_js/Play.worker.js ./public/ - export REACT_APP_VERSION=$(git describe) - npm install - npm run build - - name: Build PsfPlayer Browser - run: | - cd js/psfplayer_browser - cp ../../build/tools/PsfPlayer/Source/ui_js/PsfPlayer.js ./src/ - cp ../../build/tools/PsfPlayer/Source/ui_js/PsfPlayer.wasm ./public/ - cp ../../build/tools/PsfPlayer/Source/ui_js/PsfPlayer.js ./public/ - cp ../../build/tools/PsfPlayer/Source/ui_js/PsfPlayer.worker.js ./public/ - export REACT_APP_VERSION=$(git describe) - npm install - npm run build - - name: Update Play/Test Environment - if: ${{ env.AWS_ACCESS_KEY_ID != null }} - uses: jakejarvis/s3-sync-action@v0.5.1 - with: - args: --acl public-read --delete - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - AWS_S3_BUCKET: playjs-test - SOURCE_DIR: 'js/play_browser/build' - - name: Update Play/Prod Environment - if: ${{ (env.AWS_ACCESS_KEY_ID != null) && (github.ref == 'refs/heads/master') }} - uses: jakejarvis/s3-sync-action@v0.5.1 - with: - args: --acl public-read --delete - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - AWS_S3_BUCKET: playjs - SOURCE_DIR: 'js/play_browser/build' - - name: Update PsfPlayer/Test Environment - if: ${{ env.AWS_ACCESS_KEY_ID != null }} - uses: jakejarvis/s3-sync-action@v0.5.1 - with: - args: --acl public-read --delete - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - AWS_S3_BUCKET: psfplayer-test - SOURCE_DIR: 'js/psfplayer_browser/build' - - name: Invalidate Play/Test Environment CloudFront Distribution - if: ${{ env.AWS_ACCESS_KEY_ID != null }} - uses: chetan/invalidate-cloudfront-action@v1.3 - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - DISTRIBUTION: E1A9RDVO70PTKO - PATHS: '/*' - - name: Invalidate Play/Prod Environment CloudFront Distribution - if: ${{ (env.AWS_ACCESS_KEY_ID != null) && (github.ref == 'refs/heads/master') }} - uses: chetan/invalidate-cloudfront-action@v1.3 - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - DISTRIBUTION: E2IQ40RGGBWGV3 - PATHS: '/*' - - name: Invalidate PsfPlayer/Test Environment CloudFront Distribution - if: ${{ env.AWS_ACCESS_KEY_ID != null }} - uses: chetan/invalidate-cloudfront-action@v1.3 - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-2 - DISTRIBUTION: ELJDS9GVQ9YYY - PATHS: '/*' diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml deleted file mode 100644 index c2039269a7..0000000000 --- a/.github/workflows/build-linux.yaml +++ /dev/null @@ -1,97 +0,0 @@ -name: Build Linux - -on: [push, pull_request] -jobs: - build_linux: - runs-on: ubuntu-latest - steps: - - name: Install Vulkan SDK - run: | - cd $RUNNER_WORKSPACE - wget -q -O vulkansdk.tar.xz https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/linux/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.xz?Human=true - tar -Jxf vulkansdk.tar.xz - echo "VULKAN_SDK=$(pwd)/${VULKAN_SDK_VERSION}/x86_64" >> $GITHUB_ENV - env: - VULKAN_SDK_VERSION: '1.3.268.0' - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - cache: true - cache-key-prefix: ${{ runner.os }}-${{ matrix.qt-arch }}-QtCache - - name: Install Deploy Qt - run: | - cd $RUNNER_WORKSPACE - wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" - chmod a+x linuxdeployqt*.AppImage - echo "DEPLOYQT_PATH=$(pwd)" >> $GITHUB_ENV - - name: Install Other Dependencies - run: | - sudo apt update - sudo apt install gcc-9 g++-9 libcurl4-openssl-dev libgl1-mesa-dev libglu1-mesa-dev libalut-dev libevdev-dev - # The following packages are necessary for linuxdeployqt to work - sudo apt install libfuse2 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Force Fetch Git Tags - run: git fetch --tags --force - - name: Set SHORT_HASH - run: echo "VALUE=${LONG_HASH:0:8}" >> $GITHUB_OUTPUT - id: short_hash - env: - LONG_HASH: ${{ github.sha }} - - name: Prepare states DB - run: | - pip3 install requests - python3 .github/CI_MISC/build_compatibility_db.py - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Generate CMake Project - run: | - mkdir build - cd build - cmake .. -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./appdir/usr -DBUILD_LIBRETRO_CORE=yes - env: - CC: "gcc-9" - CXX: "g++-9" - - name: Build - run: | - cd build - cmake --build . --config Release -j $(nproc) - - name: Run Tests - run: | - cd build - ctest -C Release - - name: Prepare AppImage Package - run: | - cd build - cmake --build . --target install - mkdir -p appdir/usr/share/doc/libc6/ - echo "" > appdir/usr/share/doc/libc6/copyright - ${DEPLOYQT_PATH}/linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage -unsupported-allow-new-glibc - env: - VERSION: ${{ steps.short_hash.outputs.VALUE }} - - name: Upload a Build Artifact x86_64 AppImage - uses: actions/upload-artifact@v4 - with: - name: Play_Linux_x86_64_AppImage - path: build/Play!-${{ env.SHORT_HASH }}-x86_64.AppImage - env: - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - - name: Upload a Build Artifact x86_64 Libretro - uses: actions/upload-artifact@v4 - with: - name: Play_Linux_x86_64_libretro - path: build/Source/ui_libretro/play_libretro.so - - name: Upload to S3 - if: ${{ env.AWS_ACCESS_KEY_ID != null}} - run: | - aws s3 cp build/Play!-$SHORT_HASH-x86_64.AppImage s3://playbuilds/$SHORT_HASH/Play!-$SHORT_HASH-x86_64.AppImage --acl public-read - aws s3 cp build/Source/ui_libretro/play_libretro.so s3://playbuilds/$SHORT_HASH/play_libretro_linux-x86_64.so --acl public-read - env: - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: 'us-east-2' diff --git a/.github/workflows/build-linux_arm32.yaml b/.github/workflows/build-linux_arm32.yaml deleted file mode 100644 index be05af467a..0000000000 --- a/.github/workflows/build-linux_arm32.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: Build Linux ARM32 - -on: [push, pull_request] -jobs: - build_linux_arm32: - runs-on: ubuntu-latest - steps: - - name: Install Dependencies - run: | - sudo apt update - sudo apt install qemu-user-static binfmt-support - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Build & Test - uses: addnab/docker-run-action@v2 - with: - image: jpd002/linux_arm32_build - options: -v ${{ github.workspace }}:/work - run: | - set -e - apt-get update - apt-get install -y libcurl4-openssl-dev libgl1-mesa-dev libglu1-mesa-dev libalut-dev libevdev-dev qt6-base-dev - cd /work - cd build_cmake - mkdir build - cd build - cmake ../.. - make -j $(nproc) - # VuTest won't work on ARMv7 due to FP differences - ctest -C Release -E "(VuTest)" diff --git a/.github/workflows/build-linux_arm64.yaml b/.github/workflows/build-linux_arm64.yaml deleted file mode 100644 index fc1cefad0c..0000000000 --- a/.github/workflows/build-linux_arm64.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: Build Linux ARM64 - -on: [push, pull_request] -jobs: - build_linux_arm64: - runs-on: ubuntu-latest - steps: - - name: Install Dependencies - run: | - sudo apt update - sudo apt install qemu-user-static binfmt-support - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Build & Test - uses: addnab/docker-run-action@v2 - with: - image: jpd002/linux_arm64_build - options: -v ${{ github.workspace }}:/work - run: | - set -e - apt-get update - apt-get install -y libcurl4-openssl-dev libgl1-mesa-dev libglu1-mesa-dev libalut-dev libevdev-dev qt6-base-dev - cd /work - cd build_cmake - mkdir build - cd build - cmake ../.. - make -j $(nproc) - ctest -C Release diff --git a/.github/workflows/build-macos.yaml b/.github/workflows/build-macos.yaml deleted file mode 100644 index 74c22eded2..0000000000 --- a/.github/workflows/build-macos.yaml +++ /dev/null @@ -1,106 +0,0 @@ -name: Build macOS - -on: [push, pull_request] -jobs: - build_macos: - runs-on: macos-latest - steps: - - name: Install Vulkan SDK - run: | - cd $RUNNER_WORKSPACE - curl -L --show-error --output vulkansdk.dmg https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/mac/vulkansdk-macos-${VULKAN_SDK_VERSION}.dmg?Human=true - hdiutil attach vulkansdk.dmg - sudo /Volumes/vulkansdk-macos-${VULKAN_SDK_VERSION}/InstallVulkan.app/Contents/MacOS/InstallVulkan in --al --c - echo "VULKAN_SDK=~/VulkanSDK/${VULKAN_SDK_VERSION}/macOS" >> $GITHUB_ENV - env: - VULKAN_SDK_VERSION: '1.3.268.1' - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - cache: true - cache-key-prefix: ${{ runner.os }}-${{ matrix.qt-arch }}-QtCache - - name: Install AppDmg - run: npm install -g appdmg - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Force Fetch Git Tags - run: git fetch --tags --force - - name: Cache Qt ARM - uses: actions/cache@v3 - id: cache-qt-arm - with: - path: qt-5.15.2.arm64_big_sur.bottle.tar.gz - key: ${{ runner.os }}-QtARMCache - - name: Download Qt ARM Library - if: steps.cache-qt-arm.outputs.cache-hit != 'true' - run: curl -L --show-error --header Authorization:\ Bearer\ QQ== --output qt-5.15.2.arm64_big_sur.bottle.tar.gz https://ghcr.io/v2/homebrew/core/qt/5/blobs/sha256:ca6ad27d24c751b85f2b577df3773d52b48f0f286c5b1414ae8d1437ad72a3e4 - - name: Prepare Qt Universal Libs - run: | - tar xf qt-5.15.2.arm64_big_sur.bottle.tar.gz - python3 .github/CI_MISC/pre_qt_universal_build.py $Qt5_DIR/ `pwd`/qt@5/5.15.2/ - - name: Set SHORT_HASH - run: echo "VALUE=${LONG_HASH:0:8}" >> $GITHUB_OUTPUT - id: short_hash - env: - LONG_HASH: ${{ github.sha }} - - name: Generate CMake Project - run: | - mkdir build - cd build - cmake .. -G"Xcode" -DBUILD_LIBRETRO_CORE=yes "-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64" - - name: Build - run: | - cd build - xcodebuild -project Play.xcodeproj build -target ALL_BUILD -configuration Release -arch x86_64 -arch arm64 ONLY_ACTIVE_ARCH=NO - macdeployqt Source/ui_qt/Release/Play.app - - name: Run Tests - run: | - cd build - ctest -C Release - - name: Prepare states DB - run: | - pip3 install requests - python3 .github/CI_MISC/build_compatibility_db.py - cp states.db build/Source/ui_qt/Release/Play.app/Contents/Resources/ - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Sign And Notarize - if: ${{ env.MACOS_DEVID_CERTIFICATE != null }} - run: | - ./.ci.macos.import_certificate.sh - ./installer_macos/sign.sh - ./.ci.macos.notarize.sh - env: - MACOS_DEVID_CERTIFICATE: ${{ secrets.MACOS_DEVID_CERTIFICATE }} - MACOS_DEVID_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_DEVID_CERTIFICATE_PASSWORD }} - MACOS_NOTARIZE_APPLEID_USERNAME: ${{ secrets.MACOS_NOTARIZE_APPLEID_USERNAME }} - MACOS_NOTARIZE_APPLEID_PASSWORD: ${{ secrets.MACOS_NOTARIZE_APPLEID_PASSWORD }} - MACOS_NOTARIZE_TEAMID: ${{ secrets.MACOS_NOTARIZE_TEAMID }} - - name: Generate DMG - run: | - cd build - appdmg ../installer_macos/spec.json Play.dmg - - name: Upload a Build Artifact dmg - uses: actions/upload-artifact@v4 - with: - name: Play_MacOS_dmg - path: build/Play.dmg - - name: Upload a Build Artifact libretro - uses: actions/upload-artifact@v4 - with: - name: Play_MacOS_libretro - path: build/Source/ui_libretro/Release/play_libretro.dylib - - name: Upload to S3 - if: ${{ env.AWS_ACCESS_KEY_ID != null}} - run: | - aws s3 cp build/Play.dmg s3://playbuilds/$SHORT_HASH/Play.dmg --acl public-read - aws s3 cp build/Source/ui_libretro/Release/play_libretro.dylib s3://playbuilds/$SHORT_HASH/play_libretro_macOS-x86_64.dylib --acl public-read - env: - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: 'us-east-2' - diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml deleted file mode 100644 index 7d84011de5..0000000000 --- a/.github/workflows/build-windows.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: Build Windows - -on: [push, pull_request] -env: - VULKAN_SDK_VERSION: '1.3.268.0' - QT_VERSION: '5.15.2' -jobs: - build_windows: - strategy: - matrix: - build-type: ['Visual Studio 16 2019'] - target-platform: ['x64', 'Win32'] - include: - - target-platform: 'x64' - arch-type: 'x86_64' - qt-arch: 'win64_msvc2019_64' - installer-script: 'installer64.nsi' - - target-platform: 'Win32' - arch-type: 'x86_32' - qt-arch: 'win32_msvc2019' - installer-script: 'installer32.nsi' - runs-on: windows-2019 - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Force Fetch Git Tags - run: git fetch --tags --force - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 - - name: Cache Vulkan SDK - uses: actions/cache@v3 - id: cache-vulkansdk - with: - path: VulkanSDK.exe - key: ${{ runner.os }}-VulkanSDK-${{ env.VULKAN_SDK_VERSION }} - - name: Download Vulkan SDK - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: curl -L --silent --show-error --output VulkanSDK.exe https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_SDK_VERSION }}/windows/VulkanSDK-${{ env.VULKAN_SDK_VERSION }}-Installer.exe?Human=true - - name: Install Vulkan SDK - run: | - cmd.exe /c start /wait .\VulkanSDK.exe in --al --im -c com.lunarg.vulkan.32bit - echo "VULKAN_SDK=C:\VulkanSDK\${{ env.VULKAN_SDK_VERSION }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - - name: Install OpenAL - uses: crazy-max/ghaction-chocolatey@v3 - with: - args: install -y openal openalsdk - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - version: ${{ env.QT_VERSION }} - arch: ${{ matrix.qt-arch }} - cache: true - cache-key-prefix: ${{ runner.os }}-${{ matrix.qt-arch }}-QtCache - - name: Set SHORT_HASH - run: | - $short_hash = "${{ env.LONG_HASH }}".substring(0, 8) - echo "VALUE=$short_hash" >> $env:GITHUB_OUTPUT - id: short_hash - env: - LONG_HASH: ${{ github.sha }} - - name: Generate CMake Project - run: | - mkdir build - cd build - cmake .. -G"${{ matrix.build-type }}" -A ${{ matrix.target-platform }} -T v141_xp -DUSE_QT=on -DBUILD_LIBRETRO_CORE=yes - - name: Build - run: | - cd build - cmake --build . --config Release - - name: Run Tests - run: | - cd build - ctest -C Release - - name: Prepare states DB - run: | - pip3 install requests - python3 .github/CI_MISC/build_compatibility_db.py - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Prepare Installer Package - run: | - cd build - ${{ env.Qt5_DIR }}\bin\windeployqt.exe ./Source/ui_qt/Release --no-system-d3d-compiler --no-quick-import --no-opengl-sw --no-compiler-runtime --no-translations - - cd .. - makensis.exe ./installer_win32/${{ matrix.installer-script}} - - name: Upload a Build Artifact Installer - uses: actions/upload-artifact@v4 - with: - name: Play_Windows_${{ matrix.target-platform }}_Installer - path: installer_win32\*.exe - - name: Upload a Build Artifact Libretro Core - uses: actions/upload-artifact@v4 - with: - name: Play_Windows_${{ matrix.target-platform }}_libretro - path: build\Source\ui_libretro\Release\play_libretro.dll - - name: Upload to S3 - if: ${{ env.AWS_ACCESS_KEY_ID != null}} - run: | - aws s3 cp installer_win32/ s3://playbuilds/${{ env.SHORT_HASH }}/ --acl public-read --recursive --exclude "*" --include "*.exe" - aws s3 cp build/Source/ui_libretro/Release/play_libretro.dll s3://playbuilds/${{ env.SHORT_HASH }}/play_libretro_${{ env.ARCH_TYPE }}.dll --acl public-read - env: - ARCH_TYPE: ${{ matrix.arch-type }} - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: 'us-east-2' diff --git a/.github/workflows/build-windows_psf.yaml b/.github/workflows/build-windows_psf.yaml deleted file mode 100644 index 966e1eafd5..0000000000 --- a/.github/workflows/build-windows_psf.yaml +++ /dev/null @@ -1,85 +0,0 @@ -name: Build Windows Psf - -on: [push, pull_request] - -jobs: - build_windows_psf: - strategy: - matrix: - aot-build: ['off', 'on'] - build-type: ['Visual Studio 16 2019'] - target-platform: ['x64'] - arch-type: ['x86_64'] - installer-script: ['installer64.nsi'] - runs-on: windows-2019 - steps: - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Force Fetch Git Tags - run: git fetch --tags --force - - name: Cache DirectX SDK - if: ${{ matrix.aot-build == 'off' }} - uses: actions/cache@v3 - id: cache-directx - with: - path: DXSDK_Jun10.exe - key: ${{ runner.os }}-DXSDK_Jun10 - - name: Download DirectX SDK - if: ${{ matrix.aot-build == 'off' }} && steps.cache-directx.outputs.cache-hit != 'true' - run: curl -L --silent --show-error --output DXSDK_Jun10.exe https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe - - name: Install DirectX SDK - if: ${{ matrix.aot-build == 'off' }} - run: cmd.exe /c start /wait .\DXSDK_Jun10.exe /U /O /F /S /P "${{ github.workspace }}\DX_SDK" - - name: Install OpenAL - if: ${{ matrix.aot-build == 'off' }} - uses: crazy-max/ghaction-chocolatey@v3 - with: - args: install -y openalsdk - - name: Set SHORT_HASH - run: | - $short_hash = "${{ env.LONG_HASH }}".substring(0, 8) - echo "VALUE=$short_hash" >> $env:GITHUB_OUTPUT - id: short_hash - env: - LONG_HASH: ${{ github.sha }} - - name: Generate CMake Project - run: | - mkdir build - cd build - cmake .. -G"${{ matrix.build-type }}" -A ${{ matrix.target-platform }} -T v141_xp -DBUILD_PLAY=off -DBUILD_TESTS=off -DBUILD_PSFPLAYER=on -DBUILD_AOT_CACHE=${{ matrix.aot-build }} - env: - DXSDK_DIR: '${{ github.workspace }}\DX_SDK' - - name: Build - run: | - cd build - cmake --build . --config Release - - name: PsfPlayer Prepare Installer Package - if: ${{ matrix.aot-build == 'off' }} - run: makensis.exe ./tools/PsfPlayer/installer_win32/${{ matrix.installer-script }} - - name: Upload PsfPlayer Build Artifact Installer - if: ${{ matrix.aot-build == 'off' }} - uses: actions/upload-artifact@v4 - with: - name: PsfPlayer_Windows_${{ matrix.target-platform }}_Installer - path: tools/PsfPlayer/installer_win32/*.exe - - name: Upload PsfAot Build Artifact Installer - if: ${{ matrix.aot-build == 'on' }} - uses: actions/upload-artifact@v4 - with: - name: PsfAot_Windows_${{ matrix.target-platform }} - path: build\tools\PsfPlayer\Source\ui_aot\Release\PsfAot.exe - - name: Upload to S3 - if: ${{ env.AWS_ACCESS_KEY_ID != null && matrix.aot-build == 'off' }} - run: | - aws s3 cp tools/PsfPlayer/installer_win32/ s3://playbuilds/${{ env.SHORT_HASH }}/ --acl public-read --recursive --exclude "*" --include "*.exe" - env: - ARCH_TYPE: ${{ matrix.arch-type }} - SHORT_HASH: ${{ steps.short_hash.outputs.VALUE }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: 'us-east-2' diff --git a/.github/workflows/check-format.yaml b/.github/workflows/check-format.yaml deleted file mode 100644 index a4844d014e..0000000000 --- a/.github/workflows/check-format.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: Check Format - -on: [push, pull_request] -jobs: - run_clangformat: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: DoozyX/clang-format-lint-action@v0.18.2 - with: - source: './Source ./tools' - exclude: './Source/ui_qt/win32/Resources ./Source/ui_libretro/ext' - extensions: 'h,cpp,c,m,mm' - clangFormatVersion: 16 - inplace: True - - name: Check for changes - run: | - set +e - git config --global user.name "Clang-Format" - git config --global user.email "Clang-Format" - git commit -am"Clang-format"; - if [ $? -eq 0 ]; then - url=$(git format-patch -1 HEAD --stdout | nc termbin.com 9999) - echo "generated clang-format patch can be found at: $url" - echo "you can pipe patch directly using the following command:"; - echo "curl $url | git apply -v" - echo "then manually commit and push the changes" - exit -1; - fi - exit 0;