Skip to content

Commit 0c912db

Browse files
committed
Adding Linux Arm Build
1 parent 35d15f8 commit 0c912db

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

.github/workflows/main.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ on:
55
push
66

77
jobs:
8+
linux-arm:
9+
runs-on: ubuntu-24.04-arm
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v1
13+
- uses: actions/setup-java@v3
14+
with:
15+
java-version: '8'
16+
distribution: 'zulu'
17+
- name: Build
18+
run: bash build-linux-arm.sh
819
linux:
920
runs-on: ubuntu-latest
1021
steps:

build-linux-arm.sh

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/bash
2+
3+
echo "Linux Arm Build"
4+
VER=$(cat mujocoRelease.txt)
5+
TYPE=linux-aarch64
6+
ARCHIVE=mujoco-$VER-$TYPE.tar.gz
7+
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
8+
JAVADIR=$SCRIPT_DIR/src/main/java/
9+
10+
BUILDDIR=$SCRIPT_DIR/cppbuild
11+
if [ -f "$SCRIPT_DIR/$ARCHIVE" ]; then
12+
echo "$ARCHIVE exists."
13+
else
14+
wget https://github.com/deepmind/mujoco/releases/download/$VER/$ARCHIVE -O $SCRIPT_DIR/$ARCHIVE
15+
fi
16+
rm -rf $SCRIPT_DIR/cppbuild
17+
mkdir -p $BUILDDIR
18+
cd $BUILDDIR
19+
tar -xf $SCRIPT_DIR/$ARCHIVE
20+
mv $BUILDDIR/mujoco-$VER $BUILDDIR/mujoco/
21+
rm $BUILDDIR/mujoco/lib/libmujoco.so
22+
mv $BUILDDIR/mujoco/lib/libmujoco.so.$VER $BUILDDIR/mujoco/lib/libmujoco.so
23+
mv $BUILDDIR/mujoco/lib/* $JAVADIR/
24+
mv $BUILDDIR/mujoco/include/mujoco $JAVADIR/
25+
26+
cd $SCRIPT_DIR/
27+
28+
29+
set -e
30+
JAVACPP_VER=1.5.7
31+
JAVACPP=javacpp-platform-$JAVACPP_VER-bin.zip
32+
if [ -f "$JAVACPP" ]; then
33+
echo "$JAVACPP exists."
34+
else
35+
wget https://github.com/bytedeco/javacpp/releases/download/$JAVACPP_VER/$JAVACPP -O $JAVACPP
36+
unzip $JAVACPP
37+
fi
38+
echo "Include"
39+
ls $JAVADIR/mujoco/
40+
echo "Lib"
41+
ls $BUILDDIR/
42+
cd $JAVADIR
43+
44+
echo "JavaCPP configs:"
45+
$JAVA_HOME/bin/java -jar $SCRIPT_DIR/javacpp-platform-$JAVACPP_VER-bin/javacpp.jar -Dcompiler.includepath=$BUILDDIR/include/ -print properties.includepath
46+
47+
$JAVA_HOME/bin/java -jar $SCRIPT_DIR/javacpp-platform-$JAVACPP_VER-bin/javacpp.jar org/mujoco/MuJoCoConfig.java
48+
echo "Start compile \n\n"
49+
$JAVA_HOME/bin/java -jar $SCRIPT_DIR/javacpp-platform-$JAVACPP_VER-bin/javacpp.jar -copylibs -copyresources -Xcompiler "-no-pie" -Xcompiler "-I$JAVADIR" -Xcompiler "-L$JAVADIR" org/mujoco/MuJoCoLib.java
50+
LIBPATH=$PWD/../resources/$TYPE/
51+
mkdir -p $SCRIPT_DIR/src/main/resources/
52+
53+
rm -rf $JAVADIR../resources/$TYPE
54+
mv $JAVADIR/org/mujoco/$TYPE/ $JAVADIR../resources/
55+
mv $JAVADIR/libmujoco.so $JAVADIR../resources/$TYPE/
56+
rm -rf $JAVADIR/mujoco
57+
echo "ls -al $JAVADIR../resources/"
58+
ls -al $JAVADIR../resources/
59+
60+
cd $SCRIPT_DIR/
61+
echo "Resources: "
62+
ls -al $JAVADIR../resources/$TYPE
63+
#mv $BUILDDIR/mujoco/ $BUILDDIR/mujoco-back/
64+
./gradlew jar --stacktrace test
65+
#mv $BUILDDIR/mujoco-back/ $BUILDDIR/mujoco/
66+
67+

0 commit comments

Comments
 (0)