Skip to content

Don't delay stat when using SifSetDmaCallback. #2422

Don't delay stat when using SifSetDmaCallback.

Don't delay stat when using SifSetDmaCallback. #2422

Workflow file for this run

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@v3
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@v3
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'