Skip to content

Commit

Permalink
misc: shorten externals, add linux arm64 runners (vpinball#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
jsm174 authored Feb 14, 2025
1 parent 581a175 commit c7b28ff
Show file tree
Hide file tree
Showing 11 changed files with 144 additions and 152 deletions.
64 changes: 14 additions & 50 deletions .github/workflows/libdmdutil.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,36 +34,16 @@ jobs:
fail-fast: false
matrix:
include:
- os: windows-latest
platform: win
arch: x64
- os: windows-latest
platform: win
arch: x86
- os: macos-latest
platform: macos
arch: arm64
- os: macos-latest
platform: macos
arch: x64
- os: ubuntu-latest
platform: linux
arch: x64
- os: ubuntu-latest
platform: linux
arch: aarch64
- os: ubuntu-latest
platform: android
arch: arm64-v8a
- os: macos-latest
platform: ios
arch: arm64
- os: macos-latest
platform: ios-simulator
arch: arm64
- os: macos-latest
platform: tvos
arch: arm64
- { os: windows-latest, platform: win, arch: x64 }
- { os: windows-latest, platform: win, arch: x86 }
- { os: macos-latest, platform: macos, arch: arm64 }
- { os: macos-latest, platform: macos, arch: x64 }
- { os: ubuntu-latest, platform: linux, arch: x64 }
- { os: ubuntu-latest, platform: linux, arch: aarch64 }
- { os: ubuntu-latest, platform: android, arch: arm64-v8a }
- { os: macos-latest, platform: ios, arch: arm64 }
- { os: macos-latest, platform: ios-simulator, arch: arm64 }
- { os: macos-latest, platform: tvos, arch: arm64 }
steps:
- uses: actions/checkout@v4
- if: (matrix.os == 'windows-latest')
Expand All @@ -73,15 +53,16 @@ jobs:
name: Add autoconf and automake (mac runner)
run: |
brew install autoconf automake libtool
- if: (!(matrix.platform == 'linux' && matrix.arch == 'aarch64'))
name: Build libdmdutil-${{ matrix.platform }}-${{ matrix.arch }}
- name: Build libdmdutil-${{ matrix.platform }}-${{ matrix.arch }}
run: |
./platforms/${{ matrix.platform }}/${{ matrix.arch }}/external.sh
if [[ "${{ matrix.platform }}" == "win" ]]; then
if [[ "${{ matrix.arch }}" == "x64" ]]; then
cmake -G "Visual Studio 17 2022" -DPLATFORM=${{ matrix.platform }} -DARCH=${{ matrix.arch }} -B build
else
elif [[ "${{ matrix.arch }}" == "x86" ]]; then
cmake -G "Visual Studio 17 2022" -A Win32 -DPLATFORM=${{ matrix.platform }} -DARCH=${{ matrix.arch }} -B build
elif [[ "${{ matrix.arch }}" == "arm64" ]]; then
cmake -G "Visual Studio 17 2022" -A ARM64 -DPLATFORM=${{ matrix.platform }} -DARCH=${{ matrix.arch }} -B build
fi
cmake --build build --config Release
else
Expand All @@ -93,23 +74,6 @@ jobs:
cmake -DCMAKE_BUILD_TYPE=Release -DPLATFORM=${{ matrix.platform }} -DARCH=${{ matrix.arch }} -B build
cmake --build build -- -j${NUM_PROCS}
fi
- if: (matrix.platform == 'linux' && matrix.arch == 'aarch64')
name: Build libdmdutil-${{ matrix.platform }}-${{ matrix.arch }} (arm runner)
uses: pguyot/arm-runner-action@v2
with:
base_image: raspios_lite_arm64:latest
image_additional_mb: 4096
cpu: cortex-a53
cpu_info: cpuinfo/raspberrypi_zero2_w_arm64
bind_mount_repository: true
commands: |
apt-get update -y --allow-releaseinfo-change
apt-get install --no-install-recommends -y pkg-config cmake autoconf automake libtool
./platforms/${{ matrix.platform }}/${{ matrix.arch }}/external.sh
NUM_PROCS=$(nproc)
cmake -DCMAKE_BUILD_TYPE=Release -DPLATFORM=${{ matrix.platform }} -DARCH=${{ matrix.arch }} -B build
cmake --build build -- -j${NUM_PROCS}
build/dmdutil_test
- if: (!(matrix.arch == 'arm64' || matrix.arch == 'arm64-v8a' || matrix.arch == 'aarch64' || matrix.platform == 'win'))
name: dmdutil_test
run: build/dmdutil_test
Expand Down
23 changes: 13 additions & 10 deletions platforms/android/arm64-v8a/external.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

LIBZEDMD_SHA=732573aa68c56679859c3d59baa682a7b7ac7cd6
LIBZEDMD_SHA=4487023aef5019f3b0ce6814834603fa758abcf1
LIBSERUM_SHA=b0cc2a871d9d5b6395658c56c65402ae388eb78c
LIBPUPDMD_SHA=124f45e5ddd59ceb339591de88fcca72f8c54612

Expand Down Expand Up @@ -37,9 +37,10 @@ cd external
# build libzedmd and copy to external
#

curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.zip -o libzedmd.zip
unzip libzedmd.zip
cd libzedmd-$LIBZEDMD_SHA
curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz
tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz
mv libzedmd-${LIBZEDMD_SHA} libzedmd
cd libzedmd
BUILD_TYPE=${BUILD_TYPE} platforms/android/arm64-v8a/external.sh
cmake \
-DPLATFORM=android \
Expand All @@ -61,9 +62,10 @@ cd ..
# build libserum and copy to external
#

curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.zip -o libserum.zip
unzip libserum.zip
cd libserum-$LIBSERUM_SHA
curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz
tar xzf libserum-${LIBSERUM_SHA}.tar.gz
mv libserum-${LIBSERUM_SHA} libserum
cd libserum
cmake \
-DPLATFORM=android \
-DARCH=arm64-v8a \
Expand All @@ -81,9 +83,10 @@ cd ..
# build libpupdmd and copy to external
#

curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.zip -o libpupdmd.zip
unzip libpupdmd.zip
cd libpupdmd-$LIBPUPDMD_SHA
curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.tar.gz -o libpupdmd-${LIBPUPDMD_SHA}.tar.gz
tar xzf libpupdmd-${LIBPUPDMD_SHA}.tar.gz
mv libpupdmd-${LIBPUPDMD_SHA} libpupdmd
cd libpupdmd
cmake -DPLATFORM=android \
-DARCH=arm64-v8a \
-DBUILD_SHARED=ON \
Expand Down
25 changes: 13 additions & 12 deletions platforms/ios-simulator/arm64/external.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

set -e

CARGS_SHA=5949a20a926e902931de4a32adaad9f19c76f251
LIBZEDMD_SHA=732573aa68c56679859c3d59baa682a7b7ac7cd6
LIBZEDMD_SHA=4487023aef5019f3b0ce6814834603fa758abcf1
LIBSERUM_SHA=b0cc2a871d9d5b6395658c56c65402ae388eb78c
LIBPUPDMD_SHA=124f45e5ddd59ceb339591de88fcca72f8c54612
LIBFRAMEUTIL_SHA=30048ca23d41ca0a8f7d5ab75d3f646a19a90182

NUM_PROCS=$(sysctl -n hw.ncpu)

Expand All @@ -32,9 +30,10 @@ cd external
# build libzedmd and copy to external
#

curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.zip -o libzedmd.zip
unzip libzedmd.zip
cd libzedmd-$LIBZEDMD_SHA
curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz
tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz
mv libzedmd-${LIBZEDMD_SHA} libzedmd
cd libzedmd
BUILD_TYPE=${BUILD_TYPE} platforms/ios-simulator/arm64/external.sh
cmake \
-DPLATFORM=ios-simulator \
Expand All @@ -56,9 +55,10 @@ cd ..
# build libserum and copy to external
#

curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.zip -o libserum.zip
unzip libserum.zip
cd libserum-$LIBSERUM_SHA
curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz
tar xzf libserum-${LIBSERUM_SHA}.tar.gz
mv libserum-${LIBSERUM_SHA} libserum
cd libserum
cmake \
-DPLATFORM=ios-simulator \
-DARCH=arm64 \
Expand All @@ -76,9 +76,10 @@ cd ..
# build libpupdmd and copy to external
#

curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.zip -o libpupdmd.zip
unzip libpupdmd.zip
cd libpupdmd-$LIBPUPDMD_SHA
curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.tar.gz -o libpupdmd-${LIBPUPDMD_SHA}.tar.gz
tar xzf libpupdmd-${LIBPUPDMD_SHA}.tar.gz
mv libpupdmd-${LIBPUPDMD_SHA} libpupdmd
cd libpupdmd
cmake \
-DPLATFORM=ios-simulator \
-DARCH=arm64 \
Expand Down
23 changes: 13 additions & 10 deletions platforms/ios/arm64/external.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

LIBZEDMD_SHA=732573aa68c56679859c3d59baa682a7b7ac7cd6
LIBZEDMD_SHA=4487023aef5019f3b0ce6814834603fa758abcf1
LIBSERUM_SHA=b0cc2a871d9d5b6395658c56c65402ae388eb78c
LIBPUPDMD_SHA=124f45e5ddd59ceb339591de88fcca72f8c54612

Expand Down Expand Up @@ -30,9 +30,10 @@ cd external
# build libzedmd and copy to external
#

curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.zip -o libzedmd.zip
unzip libzedmd.zip
cd libzedmd-$LIBZEDMD_SHA
curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz
tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz
mv libzedmd-${LIBZEDMD_SHA} libzedmd
cd libzedmd
BUILD_TYPE=${BUILD_TYPE} platforms/ios/arm64/external.sh
cmake \
-DPLATFORM=ios \
Expand All @@ -54,9 +55,10 @@ cd ..
# build libserum and copy to external
#

curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.zip -o libserum.zip
unzip libserum.zip
cd libserum-$LIBSERUM_SHA
curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz
tar xzf libserum-${LIBSERUM_SHA}.tar.gz
mv libserum-${LIBSERUM_SHA} libserum
cd libserum
cmake \
-DPLATFORM=ios \
-DARCH=arm64 \
Expand All @@ -74,9 +76,10 @@ cd ..
# build libpupdmd and copy to external
#

curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.zip -o libpupdmd.zip
unzip libpupdmd.zip
cd libpupdmd-$LIBPUPDMD_SHA
curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.tar.gz -o libpupdmd-${LIBPUPDMD_SHA}.tar.gz
tar xzf libpupdmd-${LIBPUPDMD_SHA}.tar.gz
mv libpupdmd-${LIBPUPDMD_SHA} libpupdmd
cd libpupdmd
cmake \
-DPLATFORM=ios \
-DARCH=arm64 \
Expand Down
23 changes: 13 additions & 10 deletions platforms/linux/aarch64/external.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

LIBZEDMD_SHA=732573aa68c56679859c3d59baa682a7b7ac7cd6
LIBZEDMD_SHA=4487023aef5019f3b0ce6814834603fa758abcf1
LIBSERUM_SHA=b0cc2a871d9d5b6395658c56c65402ae388eb78c
LIBPUPDMD_SHA=124f45e5ddd59ceb339591de88fcca72f8c54612

Expand Down Expand Up @@ -30,9 +30,10 @@ cd external
# build libzedmd and copy to external
#

curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.zip -o libzedmd.zip
unzip libzedmd.zip
cd libzedmd-$LIBZEDMD_SHA
curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz
tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz
mv libzedmd-${LIBZEDMD_SHA} libzedmd
cd libzedmd
BUILD_TYPE=${BUILD_TYPE} platforms/linux/aarch64/external.sh
cmake \
-DPLATFORM=linux \
Expand All @@ -56,9 +57,10 @@ cd ..
# build libserum and copy to external
#

curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.zip -o libserum.zip
unzip libserum.zip
cd libserum-$LIBSERUM_SHA
curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz
tar xzf libserum-${LIBSERUM_SHA}.tar.gz
mv libserum-${LIBSERUM_SHA} libserum
cd libserum
cmake \
-DPLATFORM=linux \
-DARCH=aarch64 \
Expand All @@ -77,9 +79,10 @@ cd ..
# build libpupdmd and copy to external
#

curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.zip -o libpupdmd.zip
unzip libpupdmd.zip
cd libpupdmd-$LIBPUPDMD_SHA
curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.tar.gz -o libpupdmd-${LIBPUPDMD_SHA}.tar.gz
tar xzf libpupdmd-${LIBPUPDMD_SHA}.tar.gz
mv libpupdmd-${LIBPUPDMD_SHA} libpupdmd
cd libpupdmd
cmake \
-DPLATFORM=linux \
-DARCH=aarch64 \
Expand Down
23 changes: 13 additions & 10 deletions platforms/linux/x64/external.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

LIBZEDMD_SHA=732573aa68c56679859c3d59baa682a7b7ac7cd6
LIBZEDMD_SHA=4487023aef5019f3b0ce6814834603fa758abcf1
LIBSERUM_SHA=b0cc2a871d9d5b6395658c56c65402ae388eb78c
LIBPUPDMD_SHA=124f45e5ddd59ceb339591de88fcca72f8c54612

Expand Down Expand Up @@ -30,9 +30,10 @@ cd external
# build libzedmd and copy to external
#

curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.zip -o libzedmd.zip
unzip libzedmd.zip
cd libzedmd-$LIBZEDMD_SHA
curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz
tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz
mv libzedmd-${LIBZEDMD_SHA} libzedmd
cd libzedmd
BUILD_TYPE=${BUILD_TYPE} platforms/linux/x64/external.sh
cmake \
-DPLATFORM=linux \
Expand All @@ -56,9 +57,10 @@ cd ..
# build libserum and copy to external
#

curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.zip -o libserum.zip
unzip libserum.zip
cd libserum-$LIBSERUM_SHA
curl -sL https://github.com/zesinger/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz
tar xzf libserum-${LIBSERUM_SHA}.tar.gz
mv libserum-${LIBSERUM_SHA} libserum
cd libserum
cmake \
-DPLATFORM=linux \
-DARCH=x64 \
Expand All @@ -76,9 +78,10 @@ cd ..
# build libpupdmd and copy to external
#

curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.zip -o libpupdmd.zip
unzip libpupdmd.zip
cd libpupdmd-$LIBPUPDMD_SHA
curl -sL https://github.com/ppuc/libpupdmd/archive/${LIBPUPDMD_SHA}.tar.gz -o libpupdmd-${LIBPUPDMD_SHA}.tar.gz
tar xzf libpupdmd-${LIBPUPDMD_SHA}.tar.gz
mv libpupdmd-${LIBPUPDMD_SHA} libpupdmd
cd libpupdmd
cmake \
-DPLATFORM=linux \
-DARCH=x64 \
Expand Down
Loading

0 comments on commit c7b28ff

Please sign in to comment.