Skip to content

Commit 01fc8e2

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fuckit
# Conflicts: # .github/workflows/linux-build.yml # src/core/DynaRec_aa64/recompiler.cc # src/core/DynaRec_x64/recompiler.cc # src/core/cdrom.cc # src/core/r3000a.cc # src/core/r3000a.h # src/core/sio.h # src/core/sstate.h # src/gui/widgets/registers.cc
2 parents a6dd75e + 4869d30 commit 01fc8e2

File tree

261 files changed

+10758
-3952
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+10758
-3952
lines changed

.github/workflows/linux-aur.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
pull_request:
88

99
jobs:
10-
build:
10+
aur-build:
1111
runs-on: ubuntu-latest
1212
container:
1313
image: archlinux:latest

.github/workflows/linux-build.yml

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,41 @@ jobs:
2727
unzip -o UNIROM_BOOTDISC_8.0.K.zip
2828
- run: |
2929
make -j 2 all pcsx-redux-tests tools
30-
make -C src/mips/openbios -j 2
31-
cp src/mips/openbios/openbios.bin .
30+
make -C src/mips/tests -j 2 PCSX_TESTS=true
31+
make -C src/mips/openbios -j 2 clean all
32+
- name: Install node
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '22.6.0'
36+
- name: Install jq
37+
run: |
38+
apt install -y jq
3239
- name: Packaging
40+
env:
41+
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_LINUX_X64 }}
42+
APPDISTRIB_ORGANIZATION: pcsx-redux
43+
APPDISTRIB_PROJECT: dev-linux-x64
3344
run: |
45+
npx @appdistrib/cli buildid > buildid.json
3446
git config --global --add safe.directory /__w/pcsx-redux/pcsx-redux
3547
make install install-openbios DESTDIR=AppDir/usr
36-
echo '{' > AppDir/usr/share/pcsx-redux/resources/version.json
37-
echo ' "version": "'`git rev-parse HEAD | cut -c 1-8`'",' >> AppDir/usr/share/pcsx-redux/resources/version.json
38-
echo ' "changeset": "'`git rev-parse HEAD`'",' >> AppDir/usr/share/pcsx-redux/resources/version.json
39-
echo ' "timestamp": '`date '+%s'`',' >> AppDir/usr/share/pcsx-redux/resources/version.json
40-
echo ' "channel": "dev",' >> AppDir/usr/share/pcsx-redux/resources/version.json
41-
echo ' "updateInfo": [' >> AppDir/usr/share/pcsx-redux/resources/version.json
42-
echo ' {' >> AppDir/usr/share/pcsx-redux/resources/version.json
43-
echo ' "channel": "dev",' >> AppDir/usr/share/pcsx-redux/resources/version.json
44-
echo ' "method": "appcenter",' >> AppDir/usr/share/pcsx-redux/resources/version.json
45-
echo ' "updateCatalog": "https://install.appcenter.ms/api/v0.1/apps/grumpycoders/pcsx-redux-linux64/distribution_groups/public/public_releases",' >> AppDir/usr/share/pcsx-redux/resources/version.json
46-
echo ' "updateInfoBase": "https://install.appcenter.ms/api/v0.1/apps/grumpycoders/pcsx-redux-linux64/distribution_groups/public/releases/"' >> AppDir/usr/share/pcsx-redux/resources/version.json
47-
echo ' }' >> AppDir/usr/share/pcsx-redux/resources/version.json
48-
echo ' ]' >> AppDir/usr/share/pcsx-redux/resources/version.json
49-
echo '}' >> AppDir/usr/share/pcsx-redux/resources/version.json
48+
echo '{' > version.json
49+
echo ' "version": "'`git rev-parse HEAD | cut -c 1-8`'",' >> version.json
50+
echo ' "buildId": '`jq -r .buildid buildid.json`',' >> version.json
51+
echo ' "changeset": "'`git rev-parse HEAD`'",' >> version.json
52+
echo ' "timestamp": '`date '+%s'`',' >> version.json
53+
echo ' "channel": "dev",' >> version.json
54+
echo ' "updateInfo": [' >> version.json
55+
echo ' {' >> version.json
56+
echo ' "channel": "dev",' >> version.json
57+
echo ' "method": "appdistrib",' >> version.json
58+
echo ' "updateCatalog": "https://distrib.app/storage/manifests/pcsx-redux/dev-linux-x64/manifest.json",' >> version.json
59+
echo ' "updateInfoBase": "https://distrib.app/storage/manifests/pcsx-redux/dev-linux-x64/",' >> version.json
60+
echo ' "updateStorageUrl": "https://distrib.app/"' >> version.json
61+
echo ' }' >> version.json
62+
echo ' ]' >> version.json
63+
echo '}' >> version.json
64+
cp version.json AppDir/usr/share/pcsx-redux/resources
5065
appimage-builder --skip-tests
5166
- run: |
5267
make -C src/mips/openbios clean
@@ -59,10 +74,6 @@ jobs:
5974
export GTEST_OUTPUT=xml:${TEST_RESULTS}/
6075
mkdir -p $TEST_RESULTS
6176
xvfb-run catchsegv ./pcsx-redux-tests
62-
- name: Install node
63-
uses: actions/setup-node@v4
64-
with:
65-
node-version: 'latest'
6677
- name: Deploy
6778
if: github.event_name == 'push'
6879
env:
@@ -75,4 +86,4 @@ jobs:
7586
export BUILD=`git rev-parse HEAD | cut -c 1-8`
7687
zip PCSX-Redux-$BUILD-linux-x86_64.zip *.AppImage
7788
npx appcenter-cli distribute release -b $BUILD -f PCSX-Redux-$BUILD-linux-x86_64.zip -g public -a grumpycoders/pcsx-redux-linux64 --disable-telemetry
78-
npx @appdistrib/cli -m AppDir/usr/share/pcsx-redux/resources/version.json upload PCSX-Redux-$BUILD-linux-x86_64.zip
89+
npx @appdistrib/cli -l buildId -m version.json upload PCSX-Redux-$BUILD-linux-x86_64.zip

.github/workflows/macos-build.yml

Lines changed: 151 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
name: tests
3939
path: '**/*.ps-exe'
4040

41-
macos-build-and-test:
41+
macos-intel-build-and-test:
4242
runs-on: macos-12
4343
needs: build-openbios
4444
steps:
@@ -66,19 +66,33 @@ jobs:
6666
run: echo "BUILD=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
6767
- name: Injecting OpenBIOS
6868
run: cp openbios.bin PCSX-Redux.app/Contents/Resources/share/pcsx-redux/resources
69+
- name: Install node
70+
uses: actions/setup-node@v4
71+
with:
72+
node-version: '22.6.0'
73+
- name: Install jq
74+
run: |
75+
brew install jq
6976
- name: Packaging
77+
env:
78+
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_MACOS_X64 }}
79+
APPDISTRIB_ORGANIZATION: pcsx-redux
80+
APPDISTRIB_PROJECT: dev-macos-x64
7081
run: |
82+
npx @appdistrib/cli buildid > buildid.json
7183
echo '{' > version.json
7284
echo ' "version": "'`git rev-parse HEAD | cut -c 1-8`'",' >> version.json
85+
echo ' "buildId": '`jq -r .buildid buildid.json`',' >> version.json
7386
echo ' "changeset": "'`git rev-parse HEAD`'",' >> version.json
7487
echo ' "timestamp": '`date '+%s'`',' >> version.json
7588
echo ' "channel": "dev",' >> version.json
7689
echo ' "updateInfo": [' >> version.json
7790
echo ' {' >> version.json
7891
echo ' "channel": "dev",' >> version.json
79-
echo ' "method": "appcenter",' >> version.json
80-
echo ' "updateCatalog": "https://install.appcenter.ms/api/v0.1/apps/grumpycoders/pcsx-redux-macos/distribution_groups/public/public_releases",' >> version.json
81-
echo ' "updateInfoBase": "https://install.appcenter.ms/api/v0.1/apps/grumpycoders/pcsx-redux-macos/distribution_groups/public/releases/"' >> version.json
92+
echo ' "method": "appdistrib",' >> version.json
93+
echo ' "updateCatalog": "https://distrib.app/storage/manifests/pcsx-redux/dev-macos-x64/manifest.json",' >> version.json
94+
echo ' "updateInfoBase": "https://distrib.app/storage/manifests/pcsx-redux/dev-macos-x64/",' >> version.json
95+
echo ' "updateStorageUrl": "https://distrib.app/"' >> version.json
8296
echo ' }' >> version.json
8397
echo ' ]' >> version.json
8498
echo '}' >> version.json
@@ -110,17 +124,17 @@ jobs:
110124
- name: Upload DMG
111125
uses: actions/upload-artifact@v4
112126
with:
113-
name: Dmg
127+
name: Dmg-intel
114128
path: '**/*.dmg'
115129
- name: Upload version
116130
uses: actions/upload-artifact@v4
117131
with:
118-
name: Version
132+
name: Version-intel
119133
path: version.json
120134

121-
publish-app:
135+
publish-intel-app:
122136
runs-on: ubuntu-latest
123-
needs: macos-build-and-test
137+
needs: macos-intel-build-and-test
124138
if: github.event_name == 'push'
125139
steps:
126140
- uses: actions/checkout@v1
@@ -130,17 +144,17 @@ jobs:
130144
- name: Install node
131145
uses: actions/setup-node@v4
132146
with:
133-
node-version: 'latest'
147+
node-version: '22.6.0'
134148
- name: Create BUILD environment
135149
run: echo "BUILD=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
136150
- name: Download DMG
137151
uses: actions/download-artifact@v4
138152
with:
139-
name: Dmg
153+
name: Dmg-intel
140154
- name: Download version
141155
uses: actions/download-artifact@v4
142156
with:
143-
name: Version
157+
name: Version-intel
144158
- name: Distribute app
145159
env:
146160
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_MACOS_X64 }}
@@ -149,4 +163,129 @@ jobs:
149163
APPCENTER_ACCESS_TOKEN: ${{ secrets.MACOS_APPCENTER_ACCESS_TOKEN }}
150164
run: |
151165
npx appcenter-cli distribute release -n 0 -b $BUILD -f PCSX-Redux-$BUILD-Intel.dmg -g 'Public' -a grumpycoders/pcsx-redux-macos --disable-telemetry
152-
npx @appdistrib/cli -m version.json upload PCSX-Redux-$BUILD-Intel.dmg
166+
npx @appdistrib/cli -l buildId -m version.json upload PCSX-Redux-$BUILD-Intel.dmg
167+
168+
macos-arm-build-and-test:
169+
runs-on: macos-14
170+
needs: build-openbios
171+
steps:
172+
- uses: actions/checkout@v1
173+
- uses: n1hility/cancel-previous-runs@v2
174+
with:
175+
token: ${{ secrets.GITHUB_TOKEN }}
176+
- name: Install dependencies
177+
run: ./.github/scripts/install-brew-dependencies.sh
178+
- name: Fetch submodules
179+
run: git submodule update --init --recursive
180+
- name: Build PCSX-Redux
181+
run: make -j 2 all pcsx-redux-tests
182+
- name: Download OpenBIOS build
183+
uses: actions/download-artifact@v4
184+
with:
185+
name: OpenBIOS
186+
- name: Download mips tests
187+
uses: actions/download-artifact@v4
188+
with:
189+
name: tests
190+
- name: Bundle
191+
run: ./.github/scripts/create-app.sh
192+
- name: Create BUILD environment
193+
run: echo "BUILD=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
194+
- name: Injecting OpenBIOS
195+
run: cp openbios.bin PCSX-Redux.app/Contents/Resources/share/pcsx-redux/resources
196+
- name: Install node
197+
uses: actions/setup-node@v4
198+
with:
199+
node-version: '22.6.0'
200+
- name: Install jq
201+
run: |
202+
brew install jq
203+
- name: Packaging
204+
env:
205+
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_MACOS_ARM }}
206+
APPDISTRIB_ORGANIZATION: pcsx-redux
207+
APPDISTRIB_PROJECT: dev-macos-arm
208+
run: |
209+
npx @appdistrib/cli buildid > buildid.json
210+
echo '{' > version.json
211+
echo ' "version": "'`git rev-parse HEAD | cut -c 1-8`'",' >> version.json
212+
echo ' "buildId": '`jq -r .buildid buildid.json`',' >> version.json
213+
echo ' "changeset": "'`git rev-parse HEAD`'",' >> version.json
214+
echo ' "timestamp": '`date '+%s'`',' >> version.json
215+
echo ' "channel": "dev",' >> version.json
216+
echo ' "updateInfo": [' >> version.json
217+
echo ' {' >> version.json
218+
echo ' "channel": "dev",' >> version.json
219+
echo ' "method": "appdistrib",' >> version.json
220+
echo ' "updateCatalog": "https://distrib.app/storage/manifests/pcsx-redux/dev-macos-arm/manifest.json",' >> version.json
221+
echo ' "updateInfoBase": "https://distrib.app/storage/manifests/pcsx-redux/dev-macos-arm/",' >> version.json
222+
echo ' "updateStorageUrl": "https://distrib.app/"' >> version.json
223+
echo ' }' >> version.json
224+
echo ' ]' >> version.json
225+
echo '}' >> version.json
226+
cp version.json PCSX-Redux.app/Contents/Resources/share/pcsx-redux/resources/version.json
227+
- name: Signing Application
228+
run: codesign --force -s - -vvvv PCSX-Redux.app
229+
- name: Adjusting for dmg folder
230+
run: |
231+
mkdir dmgdir
232+
mv PCSX-Redux.app dmgdir
233+
cp dmgdir/PCSX-Redux.app/Contents/Resources/AppIcon.icns .
234+
- name: Creating dmg icon
235+
run: |
236+
sips -i AppIcon.icns
237+
DeRez -only icns AppIcon.icns > icns.rsrc
238+
cp AppIcon.icns dmgdir/.VolumeIcon.icns
239+
SetFile -c icnC dmgdir/.VolumeIcon.icns
240+
SetFile -a C dmgdir
241+
- name: Creating Application link
242+
run: ln -s /Applications dmgdir
243+
- name: Creating dmg file
244+
run: hdiutil create -volname PCSX-Redux-$BUILD -srcfolder dmgdir -ov -format UDZO PCSX-Redux-$BUILD-Arm.dmg
245+
- name: Applying icon to dmg file
246+
run: |
247+
Rez -append icns.rsrc -o PCSX-Redux-$BUILD-Arm.dmg
248+
SetFile -a C PCSX-Redux-$BUILD-Arm.dmg
249+
- name: Removing temporary dmg folder
250+
run: rm -rf dmgdir
251+
- name: Upload DMG
252+
uses: actions/upload-artifact@v4
253+
with:
254+
name: Dmg-arm
255+
path: '**/*.dmg'
256+
- name: Upload version
257+
uses: actions/upload-artifact@v4
258+
with:
259+
name: Version-arm
260+
path: version.json
261+
262+
publish-arm-app:
263+
runs-on: ubuntu-latest
264+
needs: macos-arm-build-and-test
265+
if: github.event_name == 'push'
266+
steps:
267+
- uses: actions/checkout@v1
268+
- uses: n1hility/cancel-previous-runs@v2
269+
with:
270+
token: ${{ secrets.GITHUB_TOKEN }}
271+
- name: Install node
272+
uses: actions/setup-node@v4
273+
with:
274+
node-version: '22.6.0'
275+
- name: Create BUILD environment
276+
run: echo "BUILD=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
277+
- name: Download DMG
278+
uses: actions/download-artifact@v4
279+
with:
280+
name: Dmg-arm
281+
- name: Download version
282+
uses: actions/download-artifact@v4
283+
with:
284+
name: Version-arm
285+
- name: Distribute app
286+
env:
287+
APPDISTRIB_TOKEN: ${{ secrets.APPDISTRIB_DEV_MACOS_ARM }}
288+
APPDISTRIB_ORGANIZATION: pcsx-redux
289+
APPDISTRIB_PROJECT: dev-macos-arm
290+
run: |
291+
npx @appdistrib/cli -l buildId -m version.json upload PCSX-Redux-$BUILD-Arm.dmg

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ The [tools](tools) directory contains a few tools that can be used to work with
3838
|[Windows Intel 64-bits CLI](https://distrib.app/pub/org/pcsx-redux/project/dev-win-cli-x64)|
3939
|[Linux Intel 64-bits (AppImage)](https://distrib.app/pub/org/pcsx-redux/project/dev-linux-x64)|
4040
|[MacOS Intel](https://distrib.app/pub/org/pcsx-redux/project/dev-macos-x64)|
41+
|[MacOS Arm](https://distrib.app/pub/org/pcsx-redux/project/dev-macos-arm)|
4142

4243
### Note:
4344
The macOS version of PCSX-Redux is not currently signed with a developer certificate so you may see a security warning when opening the application.

0 commit comments

Comments
 (0)