Skip to content

Commit 5a0244b

Browse files
committed
.github/workspace/config.yml: add test to check cross compile
1 parent 5c107f3 commit 5a0244b

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/config.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,69 @@ jobs:
102102
source bashrc.eus
103103
export EXIT_STATUS=0; for test_l in irteus/test/*.l; do irteusg $test_l; export TMP_EXIT_STATUS=$?; export EXIT_STATUS=`expr $TMP_EXIT_STATUS + $EXIT_STATUS`; done; [ $EXIT_STATUS == 0 ] || exit 1
104104
105+
# test for cross sompile
106+
linux-nox-crosscompile:
107+
runs-on: ubuntu-latest
108+
timeout-minutes: 60
109+
steps:
110+
- name: Checkout
111+
uses: actions/checkout@v2
112+
- name: Clone Euslisp and Setup environmnet
113+
shell: bash
114+
run: |
115+
set -xe
116+
git clone --branch support_nonx https://github.com/euslisp/EusLisp eus
117+
sudo apt update -y -qq
118+
# remove unused packages
119+
sudo dpkg -r --force-depends nginx || echo "OK"
120+
sudo apt purge -y -qq build-essential gcc-9 gcc-10 || echo "OK"
121+
sudo apt purge -y -qq libx11* x11* libgl1* libglx* || echo "OK"
122+
sudo apt autoremove -y -qq || echo "OK"
123+
# install deb environment
124+
sudo apt install -y -qq make binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static
125+
exit 0
126+
- name: Check environmnet
127+
shell: bash
128+
run: |
129+
set -xe
130+
dpkg --get-selections | egrep -e '(cc|ld)' || echo "OK" ## show selected X/GL
131+
dpkg --get-selections | egrep -e '(x11|gl)' || echo "OK" ## show selected X/GL
132+
#dpkg --get-selections | egrep -q -e '(x11|gl)' && exit 1 ## exit 1, when X/GL found
133+
exit 0
134+
- name: Compile irteusg
135+
shell: bash
136+
run: |
137+
set -xe
138+
export TOPDIR=$(pwd)
139+
export EUSDIR=$(pwd)/eus
140+
export ARCHDIR=LinuxARM
141+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
142+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
143+
export CC=aarch64-linux-gnu-gcc
144+
export LD=aarch64-linux-gnu-ld
145+
export AR=aarch64-linux-gnu-ar
146+
export CXX=aarch64-linux-gnu-g++
147+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
148+
cd $EUSDIR/lisp
149+
ln -sf Makefile.Linux Makefile
150+
CC=$CC LD=$LD make eus0 eus1 eus2 eusg
151+
(cd $EUSDIR//test; CXX=$CXX make)
152+
cd $TOPDIR/irteus
153+
ARCHDIR=$ARCHDIR CC=$CC LD=$LD AR=$AR CXX=$CXX make irteusg
154+
- name: Run test
155+
shell: bash
156+
run: |
157+
sed -i 's/(send x:\*root\* :size)/#f\(1000\)/' eus/models/irt-all-*.l
158+
sed -i '/\(send self :def-gl-vertices\)/ s/^/;/' eus/models/*.l
159+
sed -i '/\(send self :make-collision-model-for-links\)/ s/^/;/' eus/models/*.l
160+
export EUSDIR=$(pwd)/eus
161+
export ARCHDIR=LinuxARM
162+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
163+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
164+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
165+
set -xe
166+
export EXIT_STATUS=0; for test_l in irteus/test/*.l; do eusg $test_l; export TMP_EXIT_STATUS=$?; export EXIT_STATUS=`expr $TMP_EXIT_STATUS + $EXIT_STATUS`; done; [ $EXIT_STATUS == 0 ] || exit 1
167+
105168
# doc:
106169
# runs-on: ubuntu-latest
107170
# timeout-minutes: 60

0 commit comments

Comments
 (0)