New CD-Rom code. #5338
Workflow file for this run
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: Linux CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/grumpycoders/pcsx-redux-build:latest | |
options: --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined | |
env: | |
TEST_RESULTS: /tmp/test-results | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
set-safe-directory: true | |
- uses: n1hility/cancel-previous-runs@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- run: | | |
wget https://github.com/JonathanDotCel/unirom8_bootdisc_and_firmware_for_ps1/releases/download/8.0.K/UNIROM_BOOTDISC_8.0.K.zip | |
- run: | | |
unzip -o UNIROM_BOOTDISC_8.0.K.zip | |
- run: | | |
make -j 2 all pcsx-redux-tests tools | |
make -C src/mips/tests -j 2 PCSX_TESTS=true | |
make -C src/mips/openbios -j 2 clean all | |
- name: Install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '22.6.0' | |
- name: Install jq | |
run: | | |
apt install -y jq | |
- name: Packaging | |
env: | |
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_LINUX_X64 }} | |
APPDISTRIB_ORGANIZATION: pcsx-redux | |
APPDISTRIB_PROJECT: dev-linux-x64 | |
run: | | |
npx @appdistrib/cli buildid > buildid.json | |
git config --global --add safe.directory /__w/pcsx-redux/pcsx-redux | |
make install install-openbios DESTDIR=AppDir/usr | |
sed -i s:/usr/bin/:: AppDir/usr/share/applications/pcsx-redux.desktop | |
echo '{' > version.json | |
echo ' "version": "'`git rev-parse HEAD | cut -c 1-8`'",' >> version.json | |
echo ' "buildId": '`jq -r .buildid buildid.json`',' >> version.json | |
echo ' "changeset": "'`git rev-parse HEAD`'",' >> version.json | |
echo ' "timestamp": '`date '+%s'`',' >> version.json | |
echo ' "channel": "dev",' >> version.json | |
echo ' "updateInfo": [' >> version.json | |
echo ' {' >> version.json | |
echo ' "channel": "dev",' >> version.json | |
echo ' "method": "appdistrib",' >> version.json | |
echo ' "updateCatalog": "https://distrib.app/storage/manifests/pcsx-redux/dev-linux-x64/manifest.json",' >> version.json | |
echo ' "updateInfoBase": "https://distrib.app/storage/manifests/pcsx-redux/dev-linux-x64/",' >> version.json | |
echo ' "updateStorageUrl": "https://distrib.app/"' >> version.json | |
echo ' }' >> version.json | |
echo ' ]' >> version.json | |
echo '}' >> version.json | |
cp version.json AppDir/usr/share/pcsx-redux/resources | |
linuxdeploy -v 3 --appdir=AppDir -e AppDir/usr/bin/pcsx-redux -d AppDir/usr/share/applications/pcsx-redux.desktop -i AppDir/usr/share/icons/hicolor/256x256/apps/pcsx-redux.png -o appimage | |
mv PCSX-Redux-x86_64.AppImage PCSX-Redux-HEAD-x86_64.AppImage | |
- run: | | |
make -C src/mips/openbios clean | |
make -C src/mips/tests -j 2 PCSX_TESTS=true | |
cp ./openbios.bin src/mips/openbios/ | |
- run: | | |
xvfb-run catchsegv ./pcsx-redux -stdout -lua_stdout -testmode -no-gui-logs -iso UNIROM_BOOTDISC_8.0.K.bin -exec "dofile 'src/mips/tests/cdrom/create-test-iso.lua'" | |
- name: Test | |
run: | | |
export GTEST_OUTPUT=xml:${TEST_RESULTS}/ | |
mkdir -p $TEST_RESULTS | |
xvfb-run catchsegv ./pcsx-redux-tests | |
- name: Deploy | |
if: github.event_name == 'push' | |
env: | |
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_LINUX_X64 }} | |
APPDISTRIB_ORGANIZATION: pcsx-redux | |
APPDISTRIB_PROJECT: dev-linux-x64 | |
run: | | |
git config --global --add safe.directory /__w/pcsx-redux/pcsx-redux | |
export BUILD=`git rev-parse HEAD | cut -c 1-8` | |
zip PCSX-Redux-$BUILD-linux-x86_64.zip *.AppImage | |
npx @appdistrib/cli -l buildId -m version.json upload PCSX-Redux-$BUILD-linux-x86_64.zip |