Skip to content

Commit 9e43fd7

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

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

.github/workflows/config.yml

+65
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,71 @@ 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 libldap-* || echo "OK"
122+
sudo apt purge -y -qq libx11* x11* libgl1* libglx* || echo "OK"
123+
sudo apt autoremove -y -qq || echo "OK"
124+
# install deb environment
125+
sudo apt install -y -qq make binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static
126+
exit 0
127+
- name: Check environmnet
128+
shell: bash
129+
run: |
130+
set -xe
131+
dpkg --get-selections | egrep -e '(cc|ld)' || echo "OK" ## show selected X/GL
132+
dpkg --get-selections | egrep -e '(libpq|jpeg|png)' || echo "OK" ## show selected X/GL
133+
dpkg --get-selections | egrep -e '(x11|gl)' || echo "OK" ## show selected X/GL
134+
#dpkg --get-selections | egrep -q -e '(x11|gl)' && exit 1 ## exit 1, when X/GL found
135+
exit 0
136+
- name: Compile irteusg
137+
shell: bash
138+
run: |
139+
set -xe
140+
export TOPDIR=$(pwd)
141+
export EUSDIR=$(pwd)/eus
142+
export ARCHDIR=LinuxARM
143+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
144+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
145+
export CC=aarch64-linux-gnu-gcc
146+
export LD=aarch64-linux-gnu-ld
147+
export AR=aarch64-linux-gnu-ar
148+
export CXX=aarch64-linux-gnu-g++
149+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
150+
cd $EUSDIR/lisp
151+
ln -sf Makefile.Linux Makefile
152+
CC=$CC LD=$LD make eus0 eus1 eus2 eusg
153+
(cd $EUSDIR//test; CXX=$CXX make)
154+
cd $TOPDIR/irteus
155+
ARCHDIR=$ARCHDIR CC=$CC LD=$LD AR=$AR CXX=$CXX make irteusg
156+
- name: Run test
157+
shell: bash
158+
run: |
159+
sed -i 's/(send x:\*root\* :size)/#f\(1000\)/' eus/models/irt-all-*.l
160+
sed -i '/\(send self :def-gl-vertices\)/ s/^/;/' eus/models/*.l
161+
sed -i '/\(send self :make-collision-model-for-links\)/ s/^/;/' eus/models/*.l
162+
export EUSDIR=$(pwd)/eus
163+
export ARCHDIR=LinuxARM
164+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
165+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
166+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
167+
set -xe
168+
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
169+
105170
# doc:
106171
# runs-on: ubuntu-latest
107172
# timeout-minutes: 60

0 commit comments

Comments
 (0)