CI: Build aarch64 linux (#249)
This commit is contained in:
parent
790b10a4b4
commit
95b7a64f1c
|
@ -1,4 +1,18 @@
|
||||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-static-x86_64.AppImage"
|
ARCH=$(uname -m)
|
||||||
|
LINUX_DEPLOY_ARCH=$(uname -m)
|
||||||
|
|
||||||
|
if [ "$ARCH" == "x86_64" ]; then
|
||||||
|
ARCH="x86_64"
|
||||||
|
LINUX_DEPLOY_ARCH="x86_64"
|
||||||
|
elif [ "$ARCH" == "aarch64" ]; then
|
||||||
|
ARCH="arm_aarch64"
|
||||||
|
LINUX_DEPLOY_ARCH="aarch64"
|
||||||
|
else
|
||||||
|
echo "Unsupported architecture: $ARCH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$LINUX_DEPLOY_ARCH.AppImage"
|
||||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/raw/master/linuxdeploy-plugin-gtk.sh"
|
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/raw/master/linuxdeploy-plugin-gtk.sh"
|
||||||
chmod a+x linuxdeploy*
|
chmod a+x linuxdeploy*
|
||||||
|
|
||||||
|
@ -8,10 +22,10 @@ cp -r assets/ AppDir/usr/bin/
|
||||||
cp icons/512.png AppDir/Zelda64Recompiled.png
|
cp icons/512.png AppDir/Zelda64Recompiled.png
|
||||||
cp .github/linux/Zelda64Recompiled.desktop AppDir/
|
cp .github/linux/Zelda64Recompiled.desktop AppDir/
|
||||||
|
|
||||||
./linuxdeploy-static-x86_64.AppImage --appimage-extract
|
"./linuxdeploy-$LINUX_DEPLOY_ARCH.AppImage" --appimage-extract
|
||||||
mv squashfs-root/ deploy
|
mv squashfs-root/ deploy
|
||||||
ARCH=x86_64 ./deploy/AppRun --appdir=AppDir/ -d AppDir/Zelda64Recompiled.desktop -i AppDir/Zelda64Recompiled.png -e AppDir/usr/bin/Zelda64Recompiled --plugin gtk
|
./deploy/AppRun --appdir=AppDir/ -d AppDir/Zelda64Recompiled.desktop -i AppDir/Zelda64Recompiled.png -e AppDir/usr/bin/Zelda64Recompiled --plugin gtk
|
||||||
sed -i 's/exec/#exec/g' AppDir/AppRun
|
sed -i 's/exec/#exec/g' AppDir/AppRun
|
||||||
echo 'cd "$this_dir"/usr/bin/' >> AppDir/AppRun
|
echo 'cd "$this_dir"/usr/bin/' >> AppDir/AppRun
|
||||||
echo './Zelda64Recompiled' >> AppDir/AppRun
|
echo './Zelda64Recompiled' >> AppDir/AppRun
|
||||||
ARCH=x86_64 ./deploy/usr/bin/linuxdeploy-plugin-appimage --appdir=AppDir
|
./deploy/usr/bin/linuxdeploy-plugin-appimage --appdir=AppDir
|
||||||
|
|
|
@ -3,7 +3,7 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- dev
|
- dev
|
||||||
pull_request_target:
|
pull_request:
|
||||||
types: [opened, synchronize]
|
types: [opened, synchronize]
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
@ -17,12 +17,15 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- run: echo ✓
|
- run: echo ✓
|
||||||
build-unix:
|
build-linux:
|
||||||
needs: authorize
|
needs: authorize
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ${{ matrix.arch == 'x64' && matrix.os || format('blaze/{0}', matrix.os) }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
type: [ Debug, Release ]
|
type: [ Debug, Release ]
|
||||||
|
os: [ ubuntu-22.04 ]
|
||||||
|
arch: [ x64, arm64 ]
|
||||||
|
name: ${{ matrix.os }} (${{ matrix.arch }}, ${{ matrix.type }})
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
@ -32,7 +35,7 @@ jobs:
|
||||||
- name: ccache
|
- name: ccache
|
||||||
uses: hendrikmuhs/ccache-action@v1.2
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
with:
|
with:
|
||||||
key: ${{ runner.os }}-z64re-ccache-${{ matrix.type }}
|
key: ${{ matrix.os }}-z64re-ccache-${{ matrix.type }}
|
||||||
- name: Install Linux Dependencies
|
- name: Install Linux Dependencies
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
|
@ -90,25 +93,26 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
mv cmake-build/Zelda64Recompiled Zelda64Recompiled
|
mv cmake-build/Zelda64Recompiled Zelda64Recompiled
|
||||||
rm -rf assets/scss
|
rm -rf assets/scss
|
||||||
tar -czf Zelda64Recompiled-${{ runner.os }}-${{ matrix.type }}.tar.gz Zelda64Recompiled assets/
|
tar -czf Zelda64Recompiled.tar.gz Zelda64Recompiled assets/
|
||||||
- name: Archive Zelda64Recomp
|
- name: Archive Zelda64Recomp
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Zelda64Recompiled-${{ runner.os }}-${{ matrix.type }}
|
name: Zelda64Recompiled-${{ runner.os }}-${{ runner.arch }}-${{ matrix.type }}
|
||||||
path: Zelda64Recompiled-${{ runner.os }}-${{ matrix.type }}.tar.gz
|
path: Zelda64Recompiled.tar.gz
|
||||||
- name: Prepare AppImage
|
- name: Prepare AppImage
|
||||||
run: ./.github/linux/appimage.sh
|
run: ./.github/linux/appimage.sh
|
||||||
- name: Zelda64Recomp AppImage
|
- name: Zelda64Recomp AppImage
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Zelda64Recompiled-AppImage-${{ matrix.type }}
|
name: Zelda64Recompiled-AppImage-${{ runner.arch }}-${{ matrix.type }}
|
||||||
path: Zelda64Recompiled-x86_64.AppImage
|
path: Zelda64Recompiled-*.AppImage
|
||||||
build-windows:
|
build-windows:
|
||||||
needs: authorize
|
needs: authorize
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
type: [ Debug, Release ]
|
type: [ Debug, Release ]
|
||||||
|
name: windows (${{ matrix.type }})
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
Loading…
Reference in New Issue